SAP PP未清生产订单关闭物料退料、新工单发料批量处理
一、功能逻辑









二、功能界面

三、功能代码
*&---------------------------------------------------------------------*
*& Report ZRPPP_0020
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zrppp_0020.
TABLES: afpo, mkpf, mard .
*INCLUDE <color>.
DATA: gr_table TYPE REF TO cl_salv_table,
gr_layout TYPE REF TO cl_salv_layout,
gs_program TYPE salv_s_layout_key,
gr_columns TYPE REF TO cl_salv_columns_table,
gr_column TYPE REF TO cl_salv_column_table,
gr_display TYPE REF TO cl_salv_display_settings,
gt_s_color TYPE lvc_t_scol,
gs_s_color TYPE lvc_s_scol.
TYPES: BEGIN OF ty_tab ,
dwerk TYPE afpo-dwerk,
aufnr TYPE afpo-aufnr,
auart TYPE caufv-auart,
txt TYPE t003p-txt,
plnbez TYPE afpo-matnr,
maktx TYPE makt-maktx,
gamng TYPE afko-gamng,
gstrp TYPE afko-gstrp,
gltrp TYPE afko-gltrp,
matnr TYPE resb-matnr,
maktx1 TYPE makt-maktx,
menge TYPE resb-enmng,
ztlsl TYPE resb-enmng,
zllsl TYPE resb-enmng,
lgort TYPE resb-lgort,
zriqi TYPE resb-bdter,
mblnr TYPE mseg-mblnr,
* ztxt TYPE bapi_msg,
END OF ty_tab .
DATA:BEGIN OF gt_tab OCCURS 0 .
INCLUDE TYPE ty_tab .
DATA:
wemng TYPE afpo-wemng, "收货数量
psmng TYPE afpo-psmng,
bdmng TYPE resb-bdmng, "组件需求数量
ausch TYPE resb-ausch,
posnr TYPE resb-posnr,
enmng TYPE resb-enmng,
rsnum TYPE resb-rsnum,
rspos TYPE resb-rspos,
zflag TYPE c,
END OF gt_tab .
DATA:gt_msg TYPE TABLE OF zsbc_return_msg WITH HEADER LINE .
TYPES:BEGIN OF ty_lgort,
werks TYPE werks_d,
lgort TYPE lgort_d,
lgobe TYPE lgobe,
END OF ty_lgort .
DATA gt_lgort TYPE TABLE OF ty_lgort.
DATA:BEGIN OF gw_info.
DATA: ztype TYPE bapi_mtype,
zmsg TYPE bapi_msg,
zauth_wrk TYPE char1, "工厂权限
END OF gw_info .
SELECTION-SCREEN BEGIN OF BLOCK part1 WITH FRAME TITLE TEXT-001.
PARAMETERS:rd1 RADIOBUTTON GROUP gp1 DEFAULT 'X',
rd2 RADIOBUTTON GROUP gp1.
SELECT-OPTIONS: s_aufnr FOR afpo-aufnr MEMORY ID anr OBLIGATORY .
PARAMETERS: p_budat TYPE mkpf-budat OBLIGATORY,
p_lgort TYPE mard-lgort OBLIGATORY.
SELECTION-SCREEN END OF BLOCK part1.
INITIALIZATION.
gt_lgort = VALUE #( ( werks = '1001' lgort = 'A001' lgobe = '冲压' )
( werks = '1001' lgort = 'A002' lgobe = '冲压-MS' )
( werks = '1001' lgort = 'A003' lgobe = '注塑' )
( werks = '1001' lgort = 'A004' lgobe = '组装-成品组装' )
( werks = '1001' lgort = 'A005' lgobe = '组装-LDS' )
( werks = '1001' lgort = 'A006' lgobe = '组装-O型弹片' )
( werks = '1001' lgort = 'A007' lgobe = '组装-MS' )
( werks = '1001' lgort = 'A008' lgobe = '组装-GW' )
( werks = '1001' lgort = 'A009' lgobe = '组装-振子' )
( werks = '1001' lgort = 'A010' lgobe = '组装-后亭' )
( werks = '1001' lgort = 'A011' lgobe = '制样线边仓' )
( werks = '1002' lgort = 'C001' lgobe = '冲压-AC' )
( werks = '1002' lgort = 'C002' lgobe = '冲压一部二部制样' )
( werks = '1002' lgort = 'C003' lgobe = '冲压-模切' )
( werks = '1002' lgort = 'C004' lgobe = '注塑' )
( werks = '1002
