ZXMRMU01

<< Click to Display Table of Contents >>

Navigation:  All About ABAP Technique > Indonesia > ABAP Tutorial > ABAP Workbench Tools  > Enhancement > Customer Exits > Contoh Customer Exits > Project ZPPWS002 > Funtions Exits > EXIT_SAPLBARM_001 >

ZXMRMU01

*&---------------------------------------------------------------------*
*&  Include           ZXMRMU01                                         *
*&---------------------------------------------------------------------*
 
*->Check before backflush.
*->Populate header text with planned order data (no, p version, qty)
*I_RM61B-PLNUM = planned order
*I_RM61B-BKTXT = doc header text
*I_RM61B-VERID = prod version
*I_PLAF-GSMNG = total planned order qty
*->Also check authorization based on production scheduler
DATA: LV_BKTXT LIKE I_RM61B-BKTXT,
     LV_QTY(12) TYPE C,
     LV_FEVOR LIKE MARC-FEVOR.
DATA: S_MESSAGE_TEXT(20) TYPE C.
CLEAR: LV_BKTXT, LV_QTY, S_MESSAGE_TEXT.
 
E_RM61B = I_RM61B.
 
LV_QTY = I_PLAF-GSMNG.
REPLACE ALL OCCURRENCES OF ',' IN LV_QTY WITH ''.
REPLACE ALL OCCURRENCES OF '.000' IN LV_QTY WITH ''.
 
CONCATENATE I_RM61B-PLNUM ';' INTO LV_BKTXT.
CONCATENATE LV_BKTXT I_RM61B-VERID INTO LV_BKTXT.
CONCATENATE LV_BKTXT ';' INTO LV_BKTXT.
CONCATENATE LV_BKTXT LV_QTY INTO LV_BKTXT.
MOVE LV_BKTXT TO E_RM61B-BKTXT.
 
IF E_RM61B-MATNR NE SPACE AND E_RM61B-WERKS NE SPACE.
SELECT SINGLE FEVOR INTO LV_FEVOR FROM MARC WHERE
               MATNR = E_RM61B-MATNR AND
               WERKS = E_RM61B-WERKS.
IF SY-SUBRC = 0.
   AUTHORITY-CHECK OBJECT 'Z_AFKO_FEV'
            ID 'ACTVT' FIELD '01'
            ID 'ZFEVOR' FIELD LV_FEVOR
            ID 'WERKS' FIELD E_RM61B-WERKS.
 
  IF NOT SY-SUBRC IS INITIAL.
    CONCATENATE E_RM61B-WERKS 'Scheduler' LV_FEVOR
                INTO S_MESSAGE_TEXT SEPARATED BY SPACE.
    MESSAGE E004(CO) WITH S_MESSAGE_TEXT.
  ENDIF.
 
ENDIF.
ENDIF.
 
 
*    Pemeriksaan tanggal Posting Date khusus ukt jam 00.00-06.00 tanggal 1 setiap bulannya
DATA:
     LV_MSG TYPE STRING,
     LV_MATNR LIKE MSEG-MATNR,
     LV_GSTRS LIKE KBKO-GSTRS,
     LV_NUMBER_OF_DAYS TYPE  P.
IF SY-TCODE = 'MFBF' AND E_RM61B-PLNUM IS NOT INITIAL.
SELECT SINGLE GSTRS INTO LV_GSTRS
  FROM KBKO
  WHERE PLNUM = E_RM61B-PLNUM.
CALL FUNCTION 'HR_E_NUM_OF_DAYS_OF_MONTH'
  EXPORTING
     P_FECHA        = LV_GSTRS
  IMPORTING
     NUMBER_OF_DAYS = LV_NUMBER_OF_DAYS.
 
IF LV_NUMBER_OF_DAYS = E_RM61B-BUDAT+6(2).
  MESSAGE E398(00) WITH 'Posting date harus tanggal' LV_GSTRS.
ENDIF.
ENDIF.
*--------------------------------------------------------------------*