您应该使用Modify语句执行此操作,如下所示-
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。
为了使代码性能保持最佳状态,请避免在循环内使用Select语句。您应该仅在循环之前使用范围表并使用Select语句。