abap中取內表中每一類中的一行的方法
阿新 • • 發佈:2019-01-01
當一個內表有很多資料,並且每一類又有多條資料,而我們只要處理其中每一類中的一條資料,取得的這一條資料要有排序的。
比如取每個到貨單號(xblnr) 的 第一次收貨時間(budat)
1: 用 xblnr budat 進行排序(ascending)
然後 用 delete adjacent duplicates from itab comparing xblnr
sort itab descending by xblnr budat.
delete adjacent duplicates from itab comparing xblnr.
2: 在內表迴圈中用 at new xblnr,at end of xblnr 處理。把每一個xblnr 中最小的日期拿出來即可
data m type d.
loop at itab into ss.
at new xblnr .
m= '99999999'.
endat.
if ss-budat < m.
m = ss-budat.
endif.
at end of t.
ss2-t = ss-xblnr.
ss2-d = m.
append ss2 to itab2.
endat.
endloop.