*&---------------------------------------------------------------------*
*& 包含文件 ZBW_2LIS_03_BF
*&---------------------------------------------------------------------*
DATA:lt_mc03bf0 TYPE TABLE OF mc03bf0, "定义03内表
wa_data LIKE LINE OF lt_mc03bf0, " 定义03工作区
zwa_zmmt201b TYPE ZMMT201B, "定义ZMMT201B工作区
zit_zmmt201b TYPE TABLE OF ZMMT201B. " 定义ZMMT201B内表
lt_mc03bf0[] = c_t_data[]." 给03内表赋值。
REFRESH c_t_data."清空C_T_DATA
LOOP AT lt_mc03bf0 INTO wa_data. "将03内表中的值读到工作区wa_data
SELECT SINGLE vbeln_im vbelp_im sgtxt
INTO (wa_data-vbeln_im,wa_data-vbelp_im,wa_data-sgtxt)
FROM mseg
WHERE mblnr = wa_data-mblnr
AND mjahr = wa_data-mjahr
AND zeile = wa_data-zeile.
"从MSEG中取数到工作区wa_data
SELECT SINGLE frbnr INTO wa_data-frbnr FROM mkpf
WHERE mblnr = wa_data-mblnr
AND mjahr = wa_data-mjahr.
"从MKPF中取数到工作区wa_data
=====================================================================
SELECT * INTO TABLE zit_zmmt201b FROM ZMMT201B FOR ALL ENTRIES IN lt_mc03bf0
WHERE MATNR = lt_mc03bf0-MATNR AND WERKS = lt_mc03bf0-WERKS AND CHARG = lt_mc03bf0-CHARG.
SORT zit_zmmt201b BY MATNR WERKS CHARG.
"对于 lt_mc03bf0中所有数据,根据下列条件将ZMMT201B中数据取到内表zit_zmmt201b中。排序。
clear: zwa_zmmt201b.
READ TABLE zit_zmmt201b INTO zwa_zmmt201b WITH KEY
MATNR = wa_data-MATNR WERKS = wa_data-WERKS CHARG = wa_data-CHARG BINARY SEARCH.
"清空zwa_zmmt201b,将内表zit_zmmt201b中的数据读到工作区zwa_zmmt201b中。
==================================================================
IF sy-subrc eq 0.
wa_data-ZWATER = zwa_zmmt201b-WATER.
ENDIF.
MODIFY lt_mc03bf0 FROM wa_data.
ENDLOOP.
c_t_data[] = lt_mc03bf0[].
"如果正确, WA_DATA-ZWATER= zwa_zmmt201b-WATER.