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

2021-07-16 08:48:08 字數 661 閱讀 5380

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

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

endat.

endloop.

ABAP中內表操作

對內表的操作分為資料行操作和整個內錶操作兩大類,行操作可以通過關鍵字或索引兩種途徑進行,但是雜湊表不能通過索引操作。有時同樣的操作關鍵字語句,針對不同種類的內錶有不同的形式。1,定義 參考字段定義 data begin of i list occurs 0 matnr like mara matnr...

abap 中內表處理collect的用法

1說明及 collect是用於內錶去掉重複的行,然後還有數字求和.loop at lt mseg.itab bukrs lt mseg bukrs.itab werks lt mseg werks.itab lifnr lt mseg lifnr.itab matnr lt mseg matnr.i...

C 中的一類臨時物件

類名 引數名 這樣的物件是臨時物件,不能取位址,不能被引用,不過可以給同型別的其他物件賦值,該臨時物件定以後可以進行一次操作,然後立即銷毀。當我們定義乙個物件以後並不想立即給它賦初值,而是以後給它賦初值,在稍後賦初值的時候,該類臨時物件就可以發揮作用了。下面給出乙個例子 include includ...