|
<< Click to Display Table of Contents >> Navigation: All About ABAP Technique > English > ABAP Tutorial > ABAP Workbench Tools > Enhancement > Customer Exits > Customer Exits Examples > Project ZMMWS001 > Funtions Exits > EXIT_SAPLEBND_002 > ZXM06U22 |
*&---------------------------------------------------------------------*
*& Include ZXM06U22 *
*&---------------------------------------------------------------------*
DATA: LI_BEKPO TYPE BEKPO,
LV_TABIX LIKE SY-TABIX,
LV_MATKL LIKE CEKKO-MATKL,
ZERSA_MATKL TYPE C VALUE 'N'.
* Add by Albertus Reinandang 07-08-2006 - Copied from SMU
* Untuk Fungsi approval pada PO (PO Release Strategy).
* Release dilakukan berdasarkan condition yang representasikan melalui charecteristic.
* Characteristic PO Release mengambil value dari table/structure CEKKO
DESCRIBE TABLE IT_BEKPO LINES LV_TABIX.
MOVE-CORRESPONDING I_CEKKO TO E_CEKKO.
READ TABLE IT_BEKPO INTO LI_BEKPO INDEX LV_TABIX.
IF SY-SUBRC EQ 0.
* zersa_matkl = 'Y'.
* lv_matkl = li_bekpo-matkl.
*-> untuk bantu user exit ek050915 acct assgnt
* BREAK ABAP08.
* BREAK SOL_LUKY.
E_CEKKO-USRC1 = LI_BEKPO-KNTTP.
*
ENDIF.
*--------------------------------------------------------------------*
*IF zersa_matkl = 'Y'. "assign last item's material group (pemutihan)
* E_CEKKO-MATKL = lv_matkl.
*ENDIF.
*Validation contract items value <= Target value
*IF I_CEKKO-BSTYP = 'K' AND I_CEKKO-KTWRT > 0.
* DATA: lv_BRTWR like EKPO-BRTWR.
* LOOP AT IT_BEKPO into li_bekpo.
* lv_BRTWR = lv_BRTWR + li_BEKPO-BRTWR.
* ENDLOOP.
*
* IF lv_BRTWR > I_CEKKO-KTWRT.
* MESSAGE E083(ME) WITH 'gross value <= target value !'.
* ENDIF.
* clear lv_BRTWR.
*ENDIF.
*Overwrite PO value with effective value
*IF I_CEKKO-BSTYP = 'F' AND I_CEKKO-GNETW > 0.
* DATA: lv_EFFWR like EKPO-EFFWR.
* LOOP AT IT_BEKPO into li_bekpo where LOEKZ = ' '.
* lv_EFFWR = lv_EFFWR + li_BEKPO-EFFWR.
* ENDLOOP.
*
* E_CEKKO-GNETW = lv_EFFWR.
* clear lv_EFFWR.
*ENDIF.