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