LOOP AT lt_data INTO DATA(ls_data) GROUP BY ( matnr = ls_data-matnr
werks = ls_data-werks )
ASSIGNING FIELD-SYMBOL(<fs_group>).
CLEAR gs_output.
*&---主数据
READ TABLE lt_data INTO ls_data WITH KEY matnr = <fs_group>-matnr
werks = <fs_group>-werks BINARY SEARCH.
IF sy-subrc = 0.
MOVE-CORRESPONDING ls_data TO gs_output.
ENDIF.
*&---物料描述
READ TABLE lt_makt INTO DATA(ls_makt) WITH KEY matnr = ls_data-matnr BINARY SEARCH.
IF sy-subrc = 0.
MOVE-CORRESPONDING ls_makt TO gs_output.
ENDIF.
*&---汇总数值字段
LOOP AT GROUP <fs_group> ASSIGNING FIELD-SYMBOL(<fs_member>).
gs_output-kczs = gs_output-kczs + <fs_member>-labst + <fs_member>-insme + <fs_member>-kalab + <fs_member>-kains. " 库存总数
gs_output-fxzzs = gs_output-fxzzs + <fs_member>-labst + <fs_member>-kalab. " 非限制总数
gs_output-zjzs = gs_output-zjzs + <fs_member>-insme + <fs_member>-kains. " 质检总数
ENDLOOP.
*&---追加至内表
IF gs_output-kczs IS NOT INITIAL.
APPEND gs_output TO gt_output.
ENDIF.
ENDLOOP.
ABAP新语法 LOOP AT ... GROUP BY ...
于 2022-09-29 12:56:37 首次发布