ZXMCBU01

<< 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.