Давно занимаюсь пакетным вводом в FB01, а такого полезного куска кода не встречал
Code:
call function 'FI_FIELD_SELECTION_DETERMINE'
exporting
i_bschl = <lfs_buzei>-bschl
i_bukrs = t001-bukrs
i_saknr = <lfs_buzei>-hkont
importing
e_faus1 = lf_faus1
e_faus2 = lf_faus2
exceptions
others = 2.
if sy-subrc <> 0.
clear lf_faus1.
clear lf_faus2.
endif.
data: lt_coblf type coblf occurs 0 with header line.
data: vs_cobl type cobl.
data: ld_aktyp type c value 'A'.
perform kontierungsblock_ermitteln(sapff001)
tables lt_coblf
using ld_aktyp
lf_faus1
lf_faus2
vs_cobl-ktosl.
* Kontierungselemente
if not <lfs_buzei>-gsber is initial.
move : 'COBL-GSBER' to lt_ftpos-fnam,
<lfs_buzei>-gsber to lt_ftpos-fval.
append lt_ftpos.
endif.
if not <lfs_buzei>-kostl is initial and not
lf_faus1+09(1) = '-'.
move : 'COBL-KOSTL' to lt_ftpos-fnam,
<lfs_buzei>-kostl to lt_ftpos-fval.
append lt_ftpos.
endif.
Интересно определется обязательность ввода поля kostl.
Взято из программы RAPERB00 bdc_erstellen.