При создании заказа на поставку услуг с помощью ФМ BAPI_PO_CREATE1 возникает проблема.
На вход подаются бюджетные контировки (ШифрКБК, АЛС, ФинПозиция, ВКЛ, Выделение средств), при этом в позиции заказа некоторые поля (ВКЛ, Выделение средств) - оказываются незаполненными.
Просим помочь понять почему.
Кусок кода, заполняющий POITEM и POACCOUNT:
Code:
<ls_poitem>-tax_code = <ls_post_positions>-mwskz.
<ls_poitemx>-tax_code = 'X'.
<ls_poitem>-fund = <ls_reservation>-geber.
<ls_poitemx>-fund = 'X'.
<ls_poitem>-funds_ctr = <ls_reservation>-fictr.
<ls_poitemx>-funds_ctr = 'X'.
<ls_poitem>-cmmt_item_long = <ls_reservation>-fipos.
<ls_poitemx>-cmmt_item = 'X'.
<ls_poitem>-func_area_long = <ls_reservation>-fkber.
<ls_poitemx>-func_area_long = 'X'.
APPEND INITIAL LINE TO lt_poaccount ASSIGNING <ls_poaccount>.
APPEND INITIAL LINE TO lt_poaccountx ASSIGNING <ls_poaccountx>.
ADD lcl_ebeln=>mf_ebelp_step TO lf_extrow.
<ls_poaccount>-po_item = <ls_poitem>-po_item.
<ls_poaccountx>-po_item = <ls_poitem>-po_item.
<ls_poaccount>-serial_no = lines( lt_poaccount ).
<ls_poaccountx>-serial_no = <ls_poaccount>-serial_no.
<ls_post_positions_srv>-zekkn = <ls_poaccount>-serial_no.
<ls_poaccount>-tax_code = <ls_post_positions>-mwskz.
<ls_poaccountx>-tax_code = 'X'.
<ls_poaccount>-fund = <ls_reservation>-geber.
<ls_poaccountx>-fund = 'X'.
<ls_poaccount>-funds_ctr = <ls_reservation>-fictr.
<ls_poaccountx>-funds_ctr = 'X'.
<ls_poaccount>-cmmt_item_long = <ls_reservation>-fipos.
<ls_poaccountx>-cmmt_item = 'X'.
<ls_poaccount>-func_area_long = <ls_reservation>-fkber.
<ls_poaccountx>-func_area = 'X'.
<ls_poaccount>-bus_area = <ls_reservation>-gsber.
<ls_poaccountx>-bus_area = 'X'.
<ls_poaccount>-res_doc = <ls_reservation>-kblnr.
<ls_poaccountx>-res_doc = 'X'.
<ls_poaccount>-res_item = <ls_reservation>-kblpos.
<ls_poaccountx>-res_item = 'X'.
<ls_poaccount>-gl_account = <ls_post_positions>-sakto.
<ls_poaccountx>-gl_account = 'X'.
IF <ls_post_positions_srv>-vptnr IS NOT INITIAL.
<ls_poaccount>-part_acct = <ls_post_positions_srv>-vptnr.
<ls_poaccountx>-part_acct = 'X'.
APPEND INITIAL LINE TO lt_export_vptnr ASSIGNING <ls_export_vptnr>.
<ls_export_vptnr>-ebeln_cn = <ls_post_positions_srv>-ebeln_cn.
<ls_export_vptnr>-ebelp_cn = <ls_post_positions_srv>-ebelp_cn.
<ls_export_vptnr>-extrow = lf_extrow.
<ls_export_vptnr>-vptnr = <ls_post_positions_srv>-vptnr.
ENDIF.
Запуск ФМ:
Code:
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = ls_poheader
poheaderx = ls_poheader_x
testrun = abap_false
memory_uncomplete = gf_new_po_memory_uncomplete
memory_complete = gf_new_po_memory_complete
park_complete = gf_new_po_park_complete
park_uncomplete = gf_new_po_park_uncomplete
IMPORTING
exppurchaseorder = lf_exppurchaseorder
TABLES
return = lt_return
poitem = lt_poitem
poitemx = lt_poitemx
poaccount = lt_poaccount
poaccountx = lt_poaccountx
poservices = lt_poservices
posrvaccessvalues = lt_posrvaccessvalues
poschedule = lt_poshedule
poschedulex = lt_poshedulex
extensionin = lt_extension_in.