內表(internal table)和工作區(work area)的區別

qiujun發表於2007-07-19

ABAP/4的Internal Table如同其他語言的陣列結構,在操作上可以有複製,刪除,新增等功能,可以存很多條記錄,並且ABAP的這種用法,對行數沒什麼限制。
WORK AREA就是其他語言的結構,象自定義的一個型別一樣,但一旦建立一個Internal Table之後,WORK AREA就成了外界跟Intertal Table的交流口,每條記錄的進入和取出都得透過它。並且在清除它們的時候要分開來清除。

要用 MODIFY 語句更改行 ,請使用:
語法
MODIFY [FROM ] [INDEX ].
FROM 選項中指定 的工作區域 代替 中的行。如 果表格有表 頭行,可以 忽略 FROM 選項。這樣 ,表格工作 區域就代替 行。
如果使用 INDEX 選項,則新 行代替索引 為 的現有行。 如果替換成 功,則將 SY-SUBRC 設定為0。 如果內表包 含的行少於 , 則不更改任 何行並且 SY-SUBRC 包含4。
如果使用沒 有 INDEX 選項的 MODIFY 語句,則系 統只能在 LOOP - ENDLOOP 塊中透過更 改當前行( 例如由 SY-TABIX 返回其索引 的行)來處 理它。
modify 是用來更新內表的!

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90072/viewspace-927104/,如需轉載,請註明出處,否則將追究法律責任。

相關文章