BAPI BAPI_PO_CREATE1
BAPI BAPI_PO_CREATE1
doc_type = 'ZSER'
vendor = is_eban-lifnr
pmnttrms = is_eban-zterm
purch_org = is_eban-ekorg
pur_group = is_eban-ekgrp
vper_start = sy-datum
vper_end = is_eban-kdate
currency = is_eban-waers
collect_no = '1' ).
* Posiciones
CLEAR: lt_item[] , lt_itemx[], lt_ccount[], lt_ccountx[], lt_poschedule[],
lt_poschedulex[], lt_poservices[], lt_posrvaccessvalues[], lv_ebelp,
lv_packno, lv_line_no.
LOOP AT gt_eban ASSIGNING FIELD-SYMBOL(<eban>) FROM iv_tabix.
IF <eban>-banfn = is_eban-banfn.
lv_ebelp = lv_ebelp + 10.
lv_packno = lv_packno + 1.
IF lv_lt_services_line_no = 1.
APPEND INITIAL LINE TO lt_poservices ASSIGNING FIELD-
SYMBOL(<fs_poservices>).
<fs_poservices>-pckg_no = lv_packno.
<fs_poservices>-line_no = 1.
<fs_poservices>-outl_level = '0'.
<fs_poservices>-outl_ind = 'X'.
<fs_poservices>-subpckg_no = lv_packno + 1.
ADD 1 TO lv_packno.
ENDIF.
lv_lt_services_line_no = lv_lt_services_line_no + 1.
IF lv_line_no IS INITIAL.
ADD 3 TO lv_line_no.
ELSE.
ADD 1 TO lv_line_no.
ENDIF.
<fs_poservices>-pckg_no = lv_packno.
<fs_poservices>-line_no = lv_line_no.
<fs_poservices>-ext_line = <esll_sub>-extrow.
<fs_poservices>-base_uom = <esll_sub>-meins.
<fs_poservices>-quantity = <esll_sub>-menge.
<fs_poservices>-price_unit = <esll_sub>-peinh.
<fs_poservices>-gr_price = <esll_sub>-brtwr.
<fs_poservices>-net_value = <esll_sub>-netwr.
<fs_poservices>-short_text = <esll_sub>-ktext1.
<fs_poservices>-matl_group = <esll_sub>-matkl.
<fs_poservices>-pln_pckg = <esll_sub>-sub_packno.
<fs_poservices>-pln_line = <esll_sub>-introw.
<fs_poservices>-service = <esll_sub>-srvpos.
WAIT UP TO 1 SECONDS.
ENDIF.