Um im ERP eine Auslieferung in Bezug zu einem Kundenauftrag anzulegen, ist folgender BAPI nötig.
Edit: Der BAPI wurde mittlerweile umbenannt und lautet jetzt BAPI_OUTB_DELIVERY_CREATE_SLS. Danke an Dovahkiin (siehe Kommentare)
DATA lt_sales_order_items TYPE TABLE OF bapidlvreftosalesorder.
DATA ls_sales_order_item LIKE LINE OF lt_sales_order_items.
ls_sales_order_item-ref_doc = lf_vbeln_ka.
APPEND ls_sales_order_item TO lt_sales_order_items.
CALL FUNCTION 'BAPI_OUTBOUND_DELIVERY_CREATE_SLS'
IMPORTING
delivery = lf_vbeln_lf
TABLES
sales_order_items = lt_sales_order_items[]
return = lt_return[].
Einen Transport zur Auslieferung erstellt man über folgenden BAPI.
DATA lt_itemdata TYPE TABLE OF bapishipmentitem.
DATA ls_itemdata LIKE LINE OF lt_itemdata.
DATA ls_headerdata TYPE bapishipmentheader.
ls_headerdata-shipment_type = lf_shtyp. " Transporttyp
ls_headerdata-trans_plan_pt = lf_tplst. " Transportdispostelle
ls_headerdata-service_agent_id = lf_tdlnr. " Spediteur
ls_headerdata-status_plan = 'X'. " Status des TA setzen
ls_headerdata-status_checkin = 'X'.
ls_itemdata-delivery = lf_vbeln_lf.
ls_itemdata-itenerary = 1.
APPEND ls_itemdata TO lt_itemdata.
CALL FUNCTION 'BAPI_SHIPMENT_CREATE'
EXPORTING
headerdata = ls_headerdata
TABLES
itemdata = lt_itemdata[]
return = lt_return[].