ну как-то так
Code:
DATA:
ls_ftpost TYPE ftpost,
lt_ftpost TYPE STANDARD TABLE OF ftpost.
DEFINE mk_ftpost_add.
clear: ls_ftpost-fnam, ls_ftpost-fval.
ls_ftpost-fnam = &1.
ls_ftpost-fval = &2.
append ls_ftpost to lt_ftpost.
END-OF-DEFINITION.
*---------->> заголовок
ls_ftpost-count = '1'.
ls_ftpost-stype = 'P'.
mk_ftpost_add 'BKPF-BLDAT' lv_datum1.
mk_ftpost_add 'BKPF-BUDAT' lv_datum1.
mk_ftpost_add 'BKPF-BLART' lv_blart.
mk_ftpost_add 'BKPF-BUKRS' lv_bukrs.
mk_ftpost_add 'BKPF-WAERS' 'RUR'.
mk_ftpost_add 'VBKPF-XBWAE' 'X'.
mk_ftpost_add 'FS006-DOCID' '*'.
LOOP...
*---------->> дебетовая позиция
ADD 1 TO ls_ftpost-count.
ls_ftpost-stype = 'P'.
mk_ftpost_add 'RF05V-NEWBS' '04'.
mk_ftpost_add 'BSEG-ZFBDT' lv_datum1.
mk_ftpost_add 'RF05V-NEWKO' lv_kunnr.
mk_ftpost_add 'BSEG-SGTXT' lv_sgtxt.
mk_ftpost_add 'BSEG-WRBTR' lv_summa.
*---------->> кредитовая позиция
ADD 1 TO ls_ftpost-count.
ls_ftpost-stype = 'P'.
mk_ftpost_add 'RF05V-NEWBS' '50'.
mk_ftpost_add 'DKACB-FMORE' 'X'.
mk_ftpost_add 'COBL-FIPEX' lv_fipex.
mk_ftpost_add 'COBL-FIPOS' lv_fipos.
mk_ftpost_add 'BSEG-HKONT' lv_hkont.
mk_ftpost_add 'COBL-AUFNR' lv_aufnr.
mk_ftpost_add 'BSEG-SGTXT' lv_sgtxt.
mk_ftpost_add 'BSEG-WRBTR' lv_summa.
ENDLOOP...
CALL FUNCTION 'POSTING_INTERFACE_START'
EXPORTING
i_function = 'C' " -->> CALL TRANSACTION
i_group = l_group
i_mode = _mode
i_update = _upd
i_keep = 'X'
i_user = l_user
i_xbdcc = 'X' " -->> create batch input when error occurs
EXCEPTIONS
OTHERS = 7.
IF sy-subrc NE 0.
....
ENDIF.
CALL FUNCTION 'POSTING_INTERFACE_DOCUMENT'
EXPORTING
i_tcode = 'FBV1'
IMPORTING
e_msgid = ls_sy-msgid
e_msgno = ls_sy-msgno
e_msgty = ls_sy-msgty
e_msgv1 = ls_sy-msgv1
e_msgv2 = ls_sy-msgv2
e_msgv3 = ls_sy-msgv3
e_msgv4 = ls_sy-msgv4
e_subrc = ls_sy-subrc
TABLES
t_ftpost = lt_ftpost
EXCEPTIONS
OTHERS = 13.
IF sy-subrc NE 0.
....
ENDIF.
IF ls_sy-subrc NE 0.
....
ENDIF.
CALL FUNCTION 'POSTING_INTERFACE_END'
EXCEPTIONS
OTHERS = 3.
IF sy-subrc NE 0.
....
ENDIF.