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[].
 
			
Der Name des Bausteins zur Anlage einer Lieferung zum Auftrag wurde umbenannt und lautet jetzt: ‚BAPI_OUTB_DELIVERY_CREATE_SLS‘