ZSDR100 跑原材料MRP

*&---------------------------------------------------------------------*
*& Report ZSDR100
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT ZSDR100.


data: I_MRP_PLAN_PARAM like BAPI_MRP_PLAN_PARAM occurs 0 with header line,
I_MRP_STATISTIC like BAPI_MRP_STATISTIC occurs 0 with header line,
I_RETURN like BAPIRET2 occurs 0 with header line,
I_MARA like MARA occurs 0 with header line.
data:I_DISMM like MARC-DISMM,
I_MMSTA like MARC-MMSTA.

initialization.

start-of-selection.

perform GETDATA.

*&---------------------------------------------------------------------*
*& Form getdata
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
form GETDATA.

select * into corresponding fields of table I_MARA
from MARA as a join marc as b
on a~matnr = b~matnr
where ( a~MTART ='ROH' or a~MTART ='HALB'or a~MTART ='FERT')
and b~werks = '1000'
and b~DISGR = '0001'."AND MSTAE = ''. "跨工厂物料状态冻结去掉,在物料主档基础数据1视图

refresh: I_MRP_PLAN_PARAM.
I_MRP_PLAN_PARAM-PROC_TYPE = 'NETCH'.
I_MRP_PLAN_PARAM-CREATE_PURREQ = '2'.

I_MRP_PLAN_PARAM-CREATE_SCHED_LINES = '3'.
I_MRP_PLAN_PARAM-CREATE_MRP_LIST = '1'.
I_MRP_PLAN_PARAM-PLANNING_MODE = '1'.
append I_MRP_PLAN_PARAM.

loop at I_MARA.

* select single DISMM MMSTA from MARC into (I_DISMM,I_MMSTA)
* where MATNR = I_MARA-MATNR and WERKS = '1000'.

select single DISMM from MARC into (I_DISMM)
where MATNR = I_MARA-MATNR and WERKS = '1000'.
if SY-SUBRC = 4.
continue.
elseif SY-SUBRC = 0.
if I_DISMM = 'ND'.
continue.
endif.
* IF i_MMSTA ne ''. “特定工厂物料状态去掉,在MRP视图
* CONTINUE.
* ENDIF.
endif.

call function 'BAPI_MATERIAL_PLANNING'
exporting
MATERIAL = I_MARA-MATNR
PLANT = '1000'
* MRP_AREA =
* PLAN_SCENARIO =
MRP_PLAN_PARAM = I_MRP_PLAN_PARAM
* MATERIAL_EVG =
importing
MRP_STATISTIC = I_MRP_STATISTIC
RETURN = I_RETURN.
* TABLES
* MRP_LISTS =
* EXTENSIONOUT =

write at: /2(18) I_MARA-MATNR , 22(220) I_RETURN-MESSAGE.
clear:I_DISMM, I_MMSTA.
clear:I_MARA.
endloop.

endform. "getdata

原文地址:https://www.cnblogs.com/rainysblog/p/4829483.html