ABAP中填充內錶之附加行

2021-06-18 06:19:28 字數 1634 閱讀 9240

_  要計算數 字字段之和 或要確保內 表中沒有出 現重複條目 ,請使用 collect 語句,它根 據標準關鍵 字處理行。

_  要在內表 現有行之前 插入新行, 請使用 insert 語句。

_  要將內錶 行插入另一 個內錶中, 請使用 insert 語句的變式 。

_  要將內錶 條目內容復 製到另乙個 內錶中,並 且覆蓋該目 標**,請 使用 move 語句。

關於如何使 用 select 語句用資料 庫**中的 資料填充內 表的詳細信 息,參見 

將資料讀入內錶。

附加行語法

該語句將新 行附加到內 表 中。

通過使用 to 選項,指定 要附加的源 區域 。 對於帶表頭 行的**, 可以忽略 to 選項。這樣 ,**工作 區域就成了 源區域。

可以使用 initial line to 選項替代 to,將用 其型別的正 確值初始化 的行新增到 **中。

data: begin of itab occurs 10,

col1 type c,

col2 type i,

end of itab.

loop at itab.

write: / itab-col1, itab-col2.

endloop.

本示例建立 帶表頭行和 兩列的內錶 itab。 **用 do 迴圈填充。 每次通過循 環時附加初 始化行,然 後用迴圈索 引填充** 工作區域並 且附加迴圈 索引的平方 根。其輸出 為:

1         1

2         4

3         9

data: begin of line1,

col1(3) type c,

col2(2) type n,

col3    type i,

end of line1.

data tab1 like line1 occurs 10.

data: begin of line2,

field1(1)  type c,

field2     like tab1,

end of line2.

data  tab2 like line2 occurs 1.

refresh tab1.

loop at tab2 into line2.

write: / line2-field1.

loop at line2-field2 into line1.

write: / line1-col1, line1-col2, line1-col3.

endloop.

endloop.

其輸出為:

aabc 12          3

def 34          5

bghi 56          7

jkl 78          9

本示例建立 兩個不帶表 格工作區域 的內錶(tab1 和 tab2) 。tab2 有深層結構 ,因為 line2 的第二個組 件包含內錶 tab1 的結構。line1 被填充並附 加到 tab1。 然後,將 line2 填充並附加 到 tab2。 用 refresh 語句清除 tab1 之後(參見 初始化內錶  ),再重複 相同步驟。 請注意, tab2 中的行數僅 在 occurs 引數中指定 為1。tab2 的內容輸出 。

ABAP中內表操作

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

關於ABAP內錶

1.內錶的型別及定義 1 any table 即任意表型別,此種定義方式只能在傳遞引數的時候定義。例如 form using changing type any table 2 any table包括了兩種型別 index table和hashed table 1 index table 包括了st...

ABAP動態內錶

定義的動態內錶,對應內錶一行的工作區 field symbols type standard table type any.form create dynamic table data lt fcat type slis t fieldcat alv,ls fcat like line of lt ...