使用 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+ 浏览

开启你的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.