Code: Alles auswählen.
data:
/DCA/P000_E1256_ALV_OUTPUT type /DCA/P000_E1256_ALV_OUTPUT ,
it_data type standard table of /DCA/P000_E1256_ALV_OUTPUT ,
mapl type mapl,
vbap type vbap,
vbpa type vbpa.
select mapl~matnr VBPA~KUNNR as KUNNR
from ( MAPL
inner join VBAP
on VBAP~MATNR = MAPL~MATNR
and VBAP~WERKS = MAPL~WERKS
inner join VBPA
on VBPA~VBELN = VBAP~VBELN )
into corresponding fields of table it_data
where
MAPL~MATNR in pa_matnr
and MAPL~WERKS in pa_werk
and MAPL~PLNTY = 'N'
and MAPL~LOEKZ = ''
and VBAP~ABGRU = ''
and VBAP~PSTYV in pa_PSTYV
and VBPA~PARVW = 'WE'
and VBPA~KUNNR in pa_WE
and VBPA~POSNR = ' '
group by mapl~matnr kunnr.
loop at it_data assigning <struc>.
move-corresponding <struc> to /DCA/P000_E1256_ALV_OUTPUT.
endloop.
Code: Alles auswählen.
CALL FUNCTION 'MD_STOCK_REQUIREMENTS_LIST_API'
EXPORTING
MATNR = /DCA/P000_E1256_ALV_OUTPUT-matnr
WERKS = pa_werk-low
* ERGBZ = 'SAP00002'
IMPORTING
E_MT61D = STR_MT61D
E_MDKP = STR_MDKP
TABLES
MDEZX = gt_mdezx
*" MDSUX STRUCTURE MDSU OPTIONAL
EXCEPTIONS
MATERIAL_PLANT_NOT_FOUND = 1
PLANT_NOT_FOUND = 2
OTHERS = 3
.
IF SY-SUBRC = 0.
*Bezeichnung
/DCA/P000_E1256_ALV_OUTPUT-MAKTX = STR_MT61D-MAKTX.
*Disponent
/DCA/P000_E1256_ALV_OUTPUT-DISPO = str_mdkp-DISPO.
*MD04 Datensätze lesen
loop at gt_mdezx.
*Kundenbedarfe und Auslieferung
If gt_mdezx-Delkz = 'VE' or gt_mdezx-Delkz = 'VC'
or gt_mdezx-Delkz = 'VJ' or gt_mdezx-Delkz = 'SB'
or gt_mdezx-Delkz = 'AR' or gt_mdezx-Delkz = 'BB'.
lc_va_aktdatumplusx = sy-datum.
if gt_mdezx-PLAAB = '02'.
*Bedarfe pro Tag zuweisen für die nächsten x Tage
* Rückstand und heute
if gt_mdezx-DAT00 <= lc_va_aktdatumplusx.
if gt_mdezx-Kunnr = /DCA/P000_E1256_ALV_OUTPUT-Kunnr or gt_mdezx-Delkz = 'SB'.
/DCA/P000_E1256_ALV_OUTPUT-BEDD0 = /DCA/P000_E1256_ALV_OUTPUT-BEDD0 + gt_mdezx-MNG01.
endif.
endif.
[...]
endloop.
endif.
if /DCA/P000_E1256_ALV_OUTPUT-BEDD1 <> 0.
LKW_VOL1 = /DCA/P000_E1256_ALV_OUTPUT-BEDD0 / LTFM * LTVOL / 85.