Ansicht
Dokumentation
BAPI_OUTB_DELIVERY_CREATE_STO - Erzeuge Lieferung zur Umlagerbestellung
General Data in Customer Master SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3upDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Zu einer Umlagerbestellung (STO) oder einzelnen Umlagerbestellpositionen wird eine Lieferung erstellt. Durch einen Liefersplit kann es auch zur Anlage mehrerer Lieferungen kommen.
Mit Ausnahme der Umlagerbestellnummer in mindestens einem Eintrag des Parameters STOCK_TRANS_ITEMS sind alle Parameter optional.
Schnittstelle
Parameter | Opt. | Bedeutung | |
---|---|---|---|
Import | |||
SHIP_POINT | X | Versandstelle | |
DUE_DATE | X | Lieferungserstelldatum | |
DEBUG_FLG | X | Erzwingt Abbruch (ALE-Analyse) | |
Export | |||
DELIVERY | X | Erste erzeugte Lieferung | |
NUM_DELIVERIES | X | Anzahl erzeugter Lieferungen | |
Tabellen | Richtung | ||
STOCK_TRANS_ITEMS | Import | Bestellpositionen/ Bestellnr. (STO) | |
SERIAL_NUMBERS | X | Import | Serialnummern |
EXTENSION_IN | X | Import | Zusätzliche Eingabedaten |
DELIVERIES | X | Export | Erzeugte Lieferungen |
CREATED_ITEMS | X | Export | Erzeugte Lieferungspositionen |
EXTENSION_OUT | X | Export | Zusätzliche Ausgabedaten |
RETURN | X | Export | Fehlerprotokoll |
Opt.: Optional
Richtung: Gibt bei Tabellenparametern die verwendete Richtung an.
Achtung:
Die exportierten Tabellenparameter werden vor der Verarbeitung initialisiert. Daten, die vor Aufruf des BAPIs in diesen Parametern enthalten waren, gehen damit verloren.
Importierte Parameter
Versandstelle (SHIP_POINT)
Wird die Versandstelle nicht vorgegeben, so wird die erste Versandstelle gewählt, die unter den referenzierten Bestellpositionen ermittelt werden kann.
Lieferungserstelldatum (DUE_DATE)
Als Lieferungserstelldatum wird der 31.12.9999 gewählt, wenn nicht anders vorgegeben.
DEBUG_FLG
Nur für den internen Gebrauch. Das DEBUG_FLG kann in der ALE-Eingangsverarbeitung genutzt werden, um einen Abbruch zu erzwingen und somit die Analyse der Verarbeitung erleichtern.
Umlagerbestellung (STOCK_TRANS_ITEMS-REF_DOC)
Werden keine weiteren Angaben zu
einer Umlagerbestellung gemacht, wird die gesamte Bestellung beliefert. Es müssen also nicht alle Bestellpositionen aufgelistet werden. Die Angabe nur der Bestellnummer der STO ist ausreichend.
Umlagerbestellposition (STOCK_TRANS_ITEMS-REF_ITEM)
Die Bestellposition muss angegeben werden, wenn
- nicht alle Bestellpositionen der STO beliefert werden sollen oder
- Liefermengen vorgegeben werden sollen oder
- Bestellpositionen in verschiedenen Lieferungen (externe Nummernvergabe) beliefert werden sollen.
- Eine Bestellposition darf nicht mehrfach in STOCK_TRANS_ITEMS vorkommen.
- Eine Bestellposition darf nicht vorkommen, wenn die Bestellnummer bereits in einem anderen Eintrag als alleinige Angabe vorkommt.
Liefermengen (STOCK_TRANS_ITEMS-LFIMG)
Werden keine Liefermengen vorgegeben, werden
diese unter Berücksichtigung des Lieferungserstelldatums aus den Einteilungen ermittelt. Anderenfalls wird die Liefermenge aus der Vorgabe übernommen.
Bei Vorgabe der Liefermenge ist die Angabe der Verkaufsmengeneinheit erforderlich - entweder als SAP-Code (SALES_UNIT) oder ISO-Code (SALES_UNIT_ISO).
Liefermengen können nur für einzelne Bestellpositionen angegeben werden.
Externe Liefernummer (STOCK_TRANS_ITEMS-DELIV_NUMB)
Die Liefernummer kann aus dem externen Nummernkreisintervall vorgegeben werden.
Serialnummern (SERIAL_NUMBERS)
Im Parameter SERIAL_NUMBERS können Serialnummern den Lieferpositionen zugeordnet werden, die die angegebenen Bestellpositionen beliefern.
Zusätzliche Import-Daten (EXTENSION_IN)
Im Parameter EXTENSION_IN können
zusätzliche Daten übergeben werden. Weitere Informationen hierzu finden Sie in der Dokumentation des BADIs BADI_DLV_CREATE_STO_EXTIN.
Exportierte Parameter
Liefernummer (DELIVERY)
Erzeugte Lieferung (Schlüsselfeld im BOR-Objekttyp LIKP). Im Falle eines Liefersplits ist dies die erste erzeugte Lieferung.
Anzahl erzeugter Lieferungen (NUM_DELIVERIES)
Im Falles eines Liefersplits können mehr als eine Lieferung erzeugt werden.
Erzeugte Lieferungen (DELIVERIES)
Liste aller erzeugten Lieferungen (inkl. DELIVERY).
Erzeugte Lieferpositionen (CREATED_ITEMS)
Liste aller erzeugten Lieferpositionen.
Zusätzliche Export-Daten (EXTENSION_OUT)
Bei synchronem Aufruf können
nach Lieferungserstellung noch weitere Daten an den Aufrufer im Parameter EXTENSION_OUT zurückgegeben werden. Siehe Dokumentation des BADIs BADI_DLV_CREATE_EXTOUT.
Fehlerprotokoll (RETURN)
Der Parameter RETURN enthält das Fehlerprotokoll.
Analog zu Transaktion VL10 können Lieferungen u.U. auch dann angelegt werden, wenn es während der Verarbeitung zu Fehlermeldungen kam. Da ein asynchroner Aufrufer des BAPIs (ALE) den Erfolg der Verarbeitung nur über den RETURN-Parameter erfährt, werden Fehlermeldungen zu Warnmeldungen konvertiert, wenn mindestens eine Lieferung angelegt werden konnte. Für eine erfolgreich angelegte Lieferung mit konvertierten Fehlermeldungen wird die Meldung VLBAPI061 (s.u.) ausgegeben.
Ferner enthält RETURN folgende wichtige Meldungen:
Nachricht | Bedeutung |
---|---|
BAPI000 | Eine Lieferung konnte angelegt werden |
BAPI001 | Eine Lieferung konnte nicht angelegt werden |
VLBAPI061 | Lieferung mit Fehlern angelegt (siehe Warnmeldungen) |
VL311 | Lieferung |
Im asynchronen Fall kann daher den Meldungen VL311 entnommen werden, welche Lieferungen angelegt werden konnten.
Transaktionales Verhalten
- Kein COMMIT WORK.
- ROLLBACK WORK, wenn keine Lieferung erstellt werden konnte.
Beispiel
Der folgende Report beliefert eine Umlagerbestellung.
report zz_test_create_sto.
parameters: vbeln like ekko-ebeln OBLIGATORY memory id bes,
vstel like tvst-vstel,
logsys like tbdls-logsys default 'NONE'.
data: lf_vbeln type vbeln_vl,
lf_num type vbnum,
ls_deli type bapishpdelivnumb,
lt_deli type table of bapishpdelivnumb,
lt_order type table of bapidlvreftosto,
ls_order type bapidlvreftosto,
ls_itm type bapidlvitemcreated,
lt_itm type table of bapidlvitemcreated,
ls_ext type bapiparex,
lt_extin type table of bapiparex,
lt_extout type table of bapiparex,
ls_ret type bapiret2,
lt_return type table of bapiret2.
* StockTransItems (here: complete STO)
ls_order-ref_doc = vbeln.
append ls_order to lt_order.
* ExtensionIn
ls_ext = 'My additional input'.
append ls_ext to lt_extin.
* Synchronous RFC
call function 'BAPI_OUTB_DELIVERY_CREATE_STO'
DESTINATION logsys
EXPORTING
SHIP_POINT = vstel
* DUE_DATE =
* DEBUG_FLG =
importing
delivery = lf_vbeln
num_deliveries = lf_num
tables
stock_trans_items = lt_order
extension_in = lt_extin
deliveries = lt_deli
created_items = lt_itm
extension_out = lt_extout
return = lt_return
.
write: / 'Delivery:', lf_vbeln,
/ 'NumDeliveries:', lf_num,
/ 'Deliveries:'.
loop at lt_deli into ls_deli.
write ls_deli-deliv_numb.
endloop.
if not lt_itm[] is initial.
write: / 'CreatedItems:'.
loop at lt_itm into ls_itm.
write: / ls_itm-ref_doc,
ls_itm-ref_item,
ls_itm-deliv_numb,
ls_itm-deliv_item,
ls_itm-material,
ls_itm-dlv_qty,
ls_itm-sales_unit,
ls_itm-sales_unit_iso.
endloop.
endif.
if not lt_return[] is initial.
write: / 'Return:'.
loop at lt_return into ls_ret.
write: / ls_ret-type, ls_ret-id, ls_ret-number,
ls_ret-message,
/.
endloop.
endif.
if not lt_extout[] is initial.
write: / 'ExtensionOut:'.
loop at lt_extout into ls_ext.
write: / ls_ext.
endloop.
endif.
* COMMIT WORK
if not lf_vbeln is initial.
commit work.
endif.
Hinweise
- Das BAPI kann mehrere Umlagerbestellungen gleichzeitig beliefern, ist jedoch nicht für eine Massenbelieferung ausgelegt.
- Das BAPI kann nicht mehrfach in derselben Logical Unit of Work (LUW) aufgerufen werden. Nach einem erfolgreichen Aufruf ist ein COMMIT WORK des Aufrufer erforderlich bevor dieses oder ein anderes BAPI der Funktionsgruppe V50I gerufen werden kann.
- Das BAPI kann keine Lieferpositionsnummern vorgeben.
Weiterführende Informationen
- Dokumentation zum Parameter STOCK_TRANS_ITEMS.
- Dokumentation der BADIs
- BADI_DLV_CREATE_STO_EXTIN und
- BADI_DLV_CREATE_EXTOUT.
Parameter
CREATED_ITEMSDEBUG_FLG
DELIVERIES
DELIVERY
DUE_DATE
EXTENSION_IN
EXTENSION_OUT
NO_DEQUEUE
NUM_DELIVERIES
RETURN
SERIAL_NUMBERS
SHIP_POINT
STOCK_TRANS_ITEMS
Ausnahmen
Funktionsgruppe
V50IVendor Master (General Section) BAL_S_LOG - Application Log: Log header data
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 17112 Date: 20240523 Time: 153749 sap01-206 ( 131 ms )