Code:
PARAMETER:
p_bukrs TYPE bkpf-bukrs OBLIGATORY,
p_belnr TYPE bkpf-belnr OBLIGATORY,
p_gjahr TYPE bkpf-gjahr OBLIGATORY.
DATA:
gs_bkpf TYPE bkpf,
gv_buzei TYPE bseg-buzei,
gt_accchg TYPE TABLE OF accchg,
gs_accchg TYPE accchg.
SELECT SINGLE * FROM bkpf INTO gs_bkpf
WHERE bukrs = p_bukrs
AND belnr = p_belnr
AND gjahr = p_gjahr.
SELECT SINGLE buzei FROM bseg INTO gv_buzei
WHERE bukrs = p_bukrs
AND belnr = p_belnr
AND gjahr = p_gjahr
AND koart IN ('D', 'K').
IF sy-subrc IS INITIAL OR gs_bkpf-awtyp = 'VBRK'.
CLEAR gs_accchg.
gs_accchg-fdname = 'BKTXT'.
gs_accchg-newval = 'Test'.
APPEND gs_accchg TO gt_accchg.
CLEAR gs_accchg.
gs_accchg-fdname = 'XBLNR'.
gs_accchg-newval = 'Test'.
APPEND gs_accchg TO gt_accchg.
CALL FUNCTION 'FI_DOCUMENT_CHANGE'
EXPORTING
i_awtyp = gs_bkpf-awtyp
i_awref = gs_bkpf-awkey+00(10)
i_aworg = gs_bkpf-awkey+10(10)
i_buzei = gv_buzei
TABLES
t_accchg = gt_accchg
EXCEPTIONS
no_reference = 1
no_document = 2
many_documents = 3
wrong_input = 4
overwrite_creditcard = 5
OTHERS = 6.
ENDIF.
Как-то так, но что-то мне подсказывает, что лучше пакетник сделать.