![DEMO:创建外向交货单BAPI_OUTB_DELIVERY_CREATE_SLS DEMO:创建外向交货单BAPI_OUTB_DELIVERY_CREATE_SLS](https://i-blog.csdnimg.cn/blog_migrate/3d3729f8e3c6c71aa866d5384c116b17.jpeg)
report zdemo_vl01n.
parameters p_vbeln type vbeln_va.
parameters p_sernr type objk-sernr.
parameters p_vstel type vstel.
data:ls_vbak type vbak.
data:lt_vbap type table of vbap.
data:ls_vbap type vbap.
data:lv_delivery type bapishpdelivnumb-deliv_numb,
lv_num_deliveries type bapidlvcreateheader-num_deliveries,
lt_sales_order_items like table of bapidlvreftosalesorder ,
lt_return like table of bapiret2 .
data:ls_sales_order_items like line of lt_sales_order_items.
data:ls_return like line of lt_return.
data:lt_serial_numbers like table of bapidlvserialnumber.
data:ls_serial_numbers like line of lt_serial_numbers.
data: lv_ship_point type bapidlvcreateheader-ship_point.
data:lv_due_date type bapidlvcreateheader-due_date.
start-of-selection.
select single * from vbak into ls_vbak
where vbeln = p_vbeln.
select single * from vbap into ls_vbap
where vbeln = p_vbeln.
check sy-subrc = 0.
clear: lv_delivery,lv_num_deliveries, lt_sales_order_items[], lt_serial_numbers[], lt_return[].
ls_sales_order_items-ref_doc = ls_vbak-vbeln. "参考订单号
ls_sales_order_items-ref_item = '000010'. "行项目号 单个航项目
"可以使用默认
ls_sales_order_items-dlv_qty = 1 . "数量
ls_sales_order_items-sales_unit = 'EA'. "单位
append ls_sales_order_items to lt_sales_order_items.
ls_serial_numbers-ref_doc = ls_vbak-vbeln.
ls_serial_numbers-ref_item = 10.
ls_serial_numbers-serialno = p_sernr.
call function 'CONVERSION_EXIT_GERNR_INPUT'
exporting
input = ls_serial_numbers-serialno
importing
output = ls_serial_numbers-serialno.
append ls_serial_numbers to lt_serial_numbers.
lv_ship_point = p_vstel.
clear lv_delivery.
lv_due_date = sy-datum 365.
call function 'BAPI_OUTB_DELIVERY_CREATE_SLS'
exporting
ship_point = lv_ship_point
due_date = lv_due_date
importing
delivery = lv_delivery
num_deliveries = lv_num_deliveries
tables
sales_order_items = lt_sales_order_items
serial_numbers = lt_serial_numbers
return = lt_return.
call function 'BAPI_TRANSACTION_COMMIT'
exporting
wait = 'X'.
write lv_delivery.