|
<< Click to Display Table of Contents >> Navigation: All About ABAP Technique > Indonesia > ABAP Tutorial > ABAP Workbench Tools > Enhancement > Customer Exits > Contoh Customer Exits > Project ZFIWS001 > Funtions Exits > EXIT_SAPLMRMP_010 > ZXM08U16 |
*&---------------------------------------------------------------------*
*& Include ZXM08U16 *
*&---------------------------------------------------------------------*
*break ABAP01.
DATA : zli_bkpf LIKE TABLE OF bkpf WITH HEADER LINE,
zlw_bsak LIKE bsak,
zlw_reverse LIKE bsak,
zlv_found(1).
IF sy-mandt = '368'.
IF ( e_trbkpv-blart = 'RE' ) OR ( e_trbkpv-blart = 'KR' ) OR ( e_trbkpv-blart = 'KG' ).
IF ( sy-tcode = 'MIRO' ) AND ( e_trbkpv-mwskz1 <> 'BN' ) AND ( e_trbkpv-mwskz1 <> 'B2' ).
IF ( e_trbkpv-xblnr IS INITIAL ).
MESSAGE e398(00) WITH 'Reference tidak boleh kosong !'.
ELSE.
SELECT belnr gjahr xblnr
FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE zli_bkpf
WHERE bukrs = e_trbkpv-bukrs AND
bstat = space AND
xblnr = e_trbkpv-xblnr AND
blart IN ('RE', 'KR', 'KG').
IF sy-subrc = 0.
zlv_found = ' '.
LOOP AT zli_bkpf.
* Cari Nomor Clearing Document (AUGBL)
CLEAR zlw_bsak.
SELECT SINGLE bukrs lifnr augbl belnr gjahr
FROM bsak
INTO CORRESPONDING FIELDS OF zlw_bsak
WHERE bukrs = e_trbkpv-bukrs AND
belnr = zli_bkpf-belnr AND
gjahr = zli_bkpf-gjahr.
IF sy-subrc = 0.
* Cari Nomor Reversal Document berdasarkan AUGBL
SELECT SINGLE bukrs lifnr augbl belnr gjahr
FROM bsak
INTO CORRESPONDING FIELDS OF zlw_reverse
WHERE bukrs = zlw_bsak-bukrs AND
lifnr = zlw_bsak-lifnr AND
augbl = zlw_bsak-augbl AND
blart = 'KX'.
* Bila nomor reversal tidak ada, maka reference tidak boleh dipakai lagi
IF sy-subrc <> 0.
zlv_found = 'X'.
EXIT.
ENDIF.
ELSE.
zlv_found = 'X'.
EXIT.
ENDIF.
ENDLOOP.
IF zlv_found = 'X'.
MESSAGE e398(00) WITH 'Reference telah digunakan di' zli_bkpf-belnr '/' zli_bkpf-gjahr.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.