|
<< Click to Display Table of Contents >> Navigation: All About ABAP Technique > Indonesia > ABAP Tutorial > ABAP Workbench Tools > Enhancement > Customer Exits > Contoh Customer Exits > Project ZSDWS001 > Funtions Exits > EXIT_SAPLMCB1_001 > ZXMCBU01 |
*&---------------------------------------------------------------------*
*& Include ZXMCBU01 *
*&---------------------------------------------------------------------*
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(ZEITP) LIKE TMC5-ZEITP OPTIONAL
*" VALUE(MODUS_I) LIKE MCCONTROL-MODUS OPTIONAL
*" TABLES
*" XMCBEST STRUCTURE MCBEST
*" XMCMSEG STRUCTURE MCMSEG
*"----------------------------------------------------------------------
tables:mbew.
data: XTRF(1).
DATA BEGIN OF GW_XMCMSEG OCCURS 10.
INCLUDE STRUCTURE XMCMSEG.
DATA END OF GW_XMCMSEG.
DATA :
li_wmdvsx LIKE bapiwmdvs OCCURS 0 WITH HEADER LINE,
li_wmdvex LIKE bapiwmdve OCCURS 0 WITH HEADER LINE.
GW_XMCMSEG[] = XMCMSEG[].
loop at xmcmseg.
loop at GW_XMCMSEG where
BUKRS = XMCMSEG-BUKRS
and GSBER = XMCMSEG-GSBER
and MTART = XMCMSEG-MTART
and WERKS = XMCMSEG-WERKS
and MATNR = XMCMSEG-MATNR
and SHKZG ne XMCMSEG-SHKZG
and BWART = XMCMSEG-BWART.
endloop.
if sy-subrc = 0.
XTRF = 'X'.
else.
XTRF = ' '.
endif.
select single * from mbew
where BWKEY = xmcmseg-werks
and matnr = xmcmseg-matnr.
IF sy-subrc = 0.
XMCMSEG-ZZGSBEST = MBEW-LBKUM . "Previous Qty
XMCMSEG-ZZSALK3 = MBEW-SALK3 . "Previous Value
IF XTRF is initial. "if not TRF within a plant
IF XMCMSEG-SHKZG = 'S'. "If debit
XMCMSEG-ZZGSBEST = XMCMSEG-ZZGSBEST + XMCMSEG-MENGE. "New Qty
XMCMSEG-ZZSALK3 = XMCMSEG-ZZSALK3 + XMCMSEG-DMBTR . "New Value.
ELSE.
XMCMSEG-ZZGSBEST = XMCMSEG-ZZGSBEST - XMCMSEG-MENGE. "New Qty
XMCMSEG-ZZSALK3 = XMCMSEG-ZZSALK3 - XMCMSEG-DMBTR . "New Value.
ENDIF.
ENDIF.
IF MBEW-VPRSV = 'V'.
IF XMCMSEG-ZZGSBEST ne 0.
XMCMSEG-ZZVERPR = XMCMSEG-ZZSALK3 / XMCMSEG-ZZGSBEST. "New MAP
ELSE.
XMCMSEG-ZZVERPR = MBEW-VERPR.
ENDIF.
ELSE .
XMCMSEG-ZZSTPRS = MBEW-STPRS . "Previous STP
ENDIF .
XMCMSEG-ZZVPRSV = MBEW-VPRSV. "MAP/Std
MODIFY XMCMSEG.
ENDIF.
*** Fill in ATP Qty
CALL FUNCTION 'BAPI_MATERIAL_AVAILABILITY'
EXPORTING
PLANT = XMCMSEG-WERKS
MATERIAL = XMCMSEG-MATNR
UNIT = XMCMSEG-MEINS
CHECK_RULE = 'B'
STGE_LOC = XMCMSEG-LGORT
TABLES
wmdvsx = li_wmdvsx
wmdvex = li_wmdvex.
.
loop at li_wmdvex where COM_DATE = sy-datum.
XMCMSEG-ZZAVAIL = li_wmdvex-com_qty.
endloop.
MODIFY XMCMSEG.
ENDLOOP.