**一、修改内表的一行**
MODIFY 表itab FROM 工作区wa_ TRANSPORTING Field1 Field2.---- WHERE 条件1 and 条件2.
例子 :MODIFY IT_SO_DATA FROM LV_SO_DATA TRANSPORTING EDAT WHERE VBELN = LV_DELI_WEEK-VBELN AND POSNR = LV_DELI_WEEK-POSNR.
二 、修改内表的多行
MODIFY 表itab FROM 工作区wa_ INDEX 行号 TRANSPORTING Field1 Field2—
例子 :MODIFY IT_PP_INFO FROM LV_PP_INFO INDEX LV_INDEX TRANSPORTING SERNR.
举例说明
在loop中,经常对内表数据进行modify处理。
例:
loop at itab into l_wa_work.
编辑l_wa_work.
modify itab from l_wa_work transporting 字段名。
endloop.
以前自己总是在modify的时候加上index,其实这个是不需要的。loop中更新的肯定是当前条。
当read的时候可以加index.
例:
read table itab into l_wa_work with key 字段1 = cond1.
l_index = sy-tabix.
modify itab from l_wa_work index l_index transporting 字段名