定义內表时
DATA: BEGIN OF WA_STRUT,
MATNR TYPE MATNR,
END OF WA_STRUT.
如果结构定义时没有参照数据库中的字段定义,当读取数据SELECT * INTO CORRESPONDING TABLE IT_STRUT.时,将不能将数据放入內表,放入时错误。定义內表时应该参照数据库中的字段
DATA: BEGIN OF WA_STRUT,
MATNR TYPE BSEG-MATNR,
END OF WA_STRUT.
at new和at end后字符变为*的处理方式
DATA: thidx type sy-tabix.
LOOP AT it_table INTO wa_table.
tbidx = sy-tabix.
at new matnr. "matnr是表中的字段
READ it_table INTO wa_table INDEX tbidx.
SUM.
matnrx ...
*write ...“数据处理更新
append wa_table to it_sumtab. "it_sumtab是汇总后的表,为it_table中I字段相加后的结果.
ENDAT.
wa_table-matnrx = matnrx.
MODIFY it_detail FROM wa_detail INDEX tbidx TRANSPORTING maktx. "at new后原数据的更新
ENDLOOP.
此时注意,在at new 中wa_table的数据是暂时保存的,当at new结束时,数据将被清空回原来的数据,如果想更新表中数据需要将其保存至新建立的变量中。然后在at new后进行数据的更新。