使用 ABAP,透過從資料庫表獲取資料更改 itab 中的值


您應該使用修改語句完成這項工作,如下所示 −

LOOP AT itab.
   SELECT SINGLE matnr INTO itab-matnr
      FROM zlldet WHERE palet = itab-palet.
   MODIFY itab.
ENDLOOP.

還要注意,當您擁有具有頭部的內部表 itab 時,表示您擁有一個表格 itab 和結構 itab,以及此用法取決於情況。少量命令,如 MODIFY 和 LOOP AT,同時使用兩者。

DATA itab TYPE TABLE OF [something].
DATA wa TYPE [something].
LOOP AT itab INTO wa. " copies each line into wa
   SELECT SINGLE matnr INTO wa-matnr
      FROM zlldet WHERE palet = itab-palet.
   MODIFY itab FROM wa.  " writes the changed line back to the table
ENDLOOP.

另請注意以下幾點。

  • 您也可以使用欄位標識代替使用 MODIFY。
  • 為了最佳化程式碼效能,避免在迴圈中使用選擇語句。您應該使用範圍表,並僅在迴圈之前使用選擇語句。

更新時間: 2019-07-30

1K+ 瀏覽

開啟你的職業生涯

完成課程獲得認證

開始
廣告