abap中取内表中每一类中的一行的方法

来源:互联网 发布:二维码识别软件 编辑:程序博客网 时间:2024/05/18 01:37

 当一个内表有很多数据,并且每一类又有多条数据,而我们只要处理其中每一类中的一条数据,取得的这一条数据要有排序的。

 

比如取每个到货单号(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 xblnrat 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.

 

原创粉丝点击