|
<< Click to Display Table of Contents >> Navigation: All About ABAP Technique > Indonesia > Function Module Examples Code > Change FI Document |
Objective |
Pengetahuan menggunakan Function Module Standard SAP untuk mengedit value pada FI Document |
Support |
|
Contributor |
Albertus Reinandang ( reinandang@yahoo.com ) |
CHANGE_DOCUMENT : Execute change documents
Contoh :
REPORT ztest_fm1001.
TABLES : bkpf, bseg.
DATA : gi_bkdf LIKE STANDARD TABLE OF bkdf WITH HEADER LINE,
gi_bkpf LIKE STANDARD TABLE OF bkpf WITH HEADER LINE,
gi_bsec LIKE STANDARD TABLE OF bsec WITH HEADER LINE,
gi_bsed LIKE STANDARD TABLE OF bsed WITH HEADER LINE,
gi_bseg LIKE STANDARD TABLE OF bseg WITH HEADER LINE,
gi_bset LIKE STANDARD TABLE OF bset WITH HEADER LINE.
PARAMETERS : pa_bukrs LIKE bkpf-bukrs DEFAULT '5600',
pa_gjahr LIKE bkpf-gjahr DEFAULT '2013',
pa_fk1 LIKE bseg-fkber DEFAULT 'Z008',
pa_fk2 LIKE bseg-fkber DEFAULT 'Z004'.
SELECT-OPTIONS : so_belnr FOR bkpf-belnr DEFAULT '4900000009'.
START-OF-SELECTION.
SELECT * INTO TABLE gi_bkpf
FROM bkpf
WHERE bukrs = pa_bukrs AND
belnr IN so_belnr AND
gjahr = pa_gjahr.
IF LINES( gi_bkpf ) > 0.
SELECT * INTO TABLE gi_bseg
FROM bseg
FOR ALL ENTRIES IN gi_bkpf
WHERE bukrs = gi_bkpf-bukrs AND
belnr = gi_bkpf-belnr AND
gjahr = gi_bkpf-gjahr.
DELETE gi_bseg WHERE NOT fkber = pa_fk1.
IF LINES( gi_bseg ) > 0.
LOOP AT gi_bseg.
gi_bseg-fkber = pa_fk2.
gi_bseg-fkber_long = pa_fk2.
MODIFY gi_bseg.
ENDLOOP.
CALL FUNCTION 'CHANGE_DOCUMENT'
TABLES
t_bkdf = gi_bkdf
t_bkpf = gi_bkpf
t_bsec = gi_bsec
t_bsed = gi_bsed
t_bseg = gi_bseg
t_bset = gi_bset.
IF sy-subrc EQ 0.
WRITE: /1 'Success'.
ELSE.
WRITE: /1 'Failed'.
ENDIF.
ELSE.
WRITE: /1 'Failed'.
ENDIF.
ENDIF.