1. 程式人生 > >abap中取內表中每一類中的一行的方法

abap中取內表中每一類中的一行的方法

 當一個內表有很多資料,並且每一類又有多條資料,而我們只要處理其中每一類中的一條資料,取得的這一條資料要有排序的。

比如取每個到貨單號(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.