You can use this FI_ITEMS_MASS_CHANGE Function module to change items in FI Doc, This function module is the same as the fb02 transaction code.
Sample code below use FI_ITEMS_MASS_CHANGE to change item text ( BSEG-SGTXT ).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
DATA : es_bseg TYPE bseg, lt_buztab TYPE tpit_t_buztab, lt_fldtab TYPE tpit_t_fname, ls_buztab LIKE LINE OF lt_buztab, ls_fldtab LIKE LINE OF lt_fldtab, lt_errtab TYPE tpit_t_errdoc, ls_errtab LIKE LINE OF lt_errtab. REFRESH : lt_buztab, lt_fldtab. CLEAR es_bseg. SELECT bukrs belnr gjahr buzei koart umskz bschl INTO TABLE lt_buztab FROM bseg WHERE bukrs = lw_docfi-bukrs AND gjahr = lw_docfi-ac_gjahr AND belnr = lw_docfi-docnr. ls_fldtab-aenkz = abap_true. ls_fldtab-fname = 'SGTXT'. APPEND ls_fldtab TO lt_fldtab. es_bseg-sgtxt = lv_sgtxt. CALL FUNCTION 'FI_ITEMS_MASS_CHANGE' EXPORTING s_bseg = es_bseg IMPORTING errtab = lt_errtab TABLES it_buztab = lt_buztab it_fldtab = lt_fldtab EXCEPTIONS bdc_errors = 1 OTHERS = 2. |