*&---------------------------------------------------------------------*
*& Report ZMMR031*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zmmr031 .
TABLES : t001l , mard , mslb ,msku ,marc .
INCLUDE zmmf031_top .
INCLUDE zmmf031_scr .
INCLUDE zmmf031_frm .
START-OF-SELECTION .
"月度 年终
IF r_1 EQ 'X' OR r_2 EQ 'X' .
PERFORM : frm_get_data . "获取数据
PERFORM : frm_process_data . "处理数据.
PERFORM frm_display_data .
ENDIF .
"仓管员
IF r_5 EQ 'X' OR r_5A EQ 'X' . " 按仓管员代码
PERFORM : frm_get_data5 . "获取数据
PERFORM : frm_process_data5 . "处理数据.
PERFORM frm_display_data5 .
ENDIF .
" 供应商
IF r_3 EQ 'X' .
PERFORM : frm_get_data2 . "获取数据
PERFORM : frm_process_data2 . "处理数据.
PERFORM frm_display_data2 .
ENDIF .
"客户
IF r_4 EQ 'X' .
PERFORM : frm_get_data3 . "获取数据
PERFORM : frm_process_data3 . "处理数据.
PERFORM frm_display_data3 .
ENDIF .
*&---------------------------------------------------------------------*
*& 包含 ZMMF031_TOP
*&---------------------------------------------------------------------*
DATA: BEGIN OF gs_mard ,
matnr LIKE mard-matnr,
bismt LIKE mara-bismt,
zznme LIKE zmmt002-zznme,
maktx LIKE makt-maktx,
meins LIKE mara-meins,
werks LIKE mard-werks,
lgort LIKE mard-lgort,
lgobe LIKE t001l-lgobe,
labst LIKE mard-labst, " 非限制使用库存
speme LIKE mard-speme, "冻结库存
loggr LIKE marc-loggr,
END OF gs_mard .
DATA: gt_mard LIKE TABLE OF gs_mard .
DATA: BEGIN OF gs_mchb ,
matnr LIKE mchb-matnr,
bismt LIKE mara-bismt,
zznme LIKE zmmt002-zznme,
maktx LIKE makt-maktx,
meins LIKE mara-meins,
werks LIKE mchb-werks,
lgort LIKE mchb-lgort,
lgobe LIKE t001l-lgobe,
clabs LIKE mchb-clabs, "非限制
cspem LIKE mchb-cspem, " 冻结
loggr LIKE marc-loggr,
charg LIKE mchb-charg,
END OF gs_mchb .
DATA: gt_mchb LIKE TABLE OF gs_mchb .
DATA: BEGIN OF gs_out ,
matnr LIKE mard-matnr,
bismt LIKE mara-bismt,
zznme LIKE zmmt002-zznme,
maktx LIKE makt-maktx,
meins LIKE mara-meins,
werks LIKE mard-werks,
lgort LIKE mard-lgort,
lgobe LIKE t001l-lgobe,
labst LIKE mard-labst, " 非限制使用库存
speme LIKE mard-speme,
loggr LIKE marc-loggr,
charg LIKE mchb-charg,
zxh TYPE i,
mark ,
END OF gs_out .
DATA: gt_out LIKE TABLE OF gs_out .
DATA: BEGIN OF gs_mslb ," 供应商外包库存
lifnr LIKE mslb-lifnr,
matnr LIKE mslb-matnr,
bismt LIKE mara-bismt , " 旧料号
zznme LIKE zmmt002-zznme,
maktx LIKE makt-maktx,
meins LIKE mara-meins,
charg LIKE mslb-charg,
lblab LIKE mslb-lblab,
name_org4 LIKE but000-name_org4,
zxh TYPE i,
mark,
END OF gs_mslb .
DATA: gt_mslb LIKE TABLE OF gs_mslb .
DATA: BEGIN OF gs_msku ," 客户库存
kunnr LIKE msku-kunnr,
matnr LIKE msku-matnr,
bismt LIKE mara-bismt,
zznme LIKE zmmt002-zznme,
maktx LIKE makt-maktx,
meins LIKE mara-meins,
charg LIKE msku-charg,
kulab LIKE msku-kulab,
bu_sort1 LIKE but000-bu_sort1,
zxh TYPE i,
mark,
END OF gs_msku .
DATA: gt_msku LIKE TABLE OF gs_msku .
DATA: gt_fieldcat TYPE TABLE OF slis_fieldcat_alv.
DATA: gs_fieldcat TYPE slis_fieldcat_alv.
DATA: gs_layout TYPE slis_layout_alv .
DATA: g_fm_name TYPE rs38l_fnam.
DATA: gw_options TYPE ssfcompop,
gw_control TYPE ssfctrlop.
*&---------------------------------------------------------------------*
*& 包含 ZMMF031_SCR
*&---------------------------------------------------------------------*
SELECT-OPTIONS: s_werks FOR t001l-werks OBLIGATORY ,
s_lgort FOR t001l-lgort ,
s_matnr FOR mard-matnr ,
s_lifnr FOR mslb-lifnr ,
s_kunnr FOR msku-kunnr ,
s_loggr FOR marc-loggr .
PARAMETERS : r_1 RADIOBUTTON GROUP g1 .
PARAMETERS : r_5 RADIOBUTTON GROUP g1 .
PARAMETERS : r_2 RADIOBUTTON GROUP g1 .
PARAMETERS : r_5a RADIOBUTTON GROUP g1 .
PARAMETERS : r_3 RADIOBUTTON GROUP g1 .
PARAMETERS : r_4 RADIOBUTTON GROUP g1 .
*&---------------------------------------------------------------------*
*& 包含 ZMMF031_FRM
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form FRM_GET_DATA
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_get_data .
SELECT
a~matnr
d~bismt
e~zznme
b~maktx
d~meins
a~werks
a~lgort
c~lgobe
a~labst " 非限制使用库存
a~speme "冻结
f~loggr
INTO TABLE gt_mard
FROM mard AS a
INNER JOIN makt AS b ON a~matnr = b~matnr
INNER JOIN t001l AS c ON a~werks = c~werks AND a~lgort = c~lgort
INNER JOIN mara AS d ON a~matnr = d~matnr
INNER JOIN zmmt002 AS e ON a~matnr = e~matnr
INNER JOIN marc AS f ON a~matnr = f~matnr AND a~werks = f~werks
WHERE a~lgort IN s_lgort
AND c~werks EQ s_werks-low
AND a~matnr IN s_matnr
AND f~loggr IN s_loggr .
IF gt_mard IS NOT INITIAL .
SELECT
a~matnr
d~bismt
e~zznme
b~maktx
d~meins
a~werks
a~lgort