Ansicht
Dokumentation

SD_DELIVERY_ASSIGN_TO_SHIPMENT - Zuordnen von Lieferungen zu einem Transport

SD_DELIVERY_ASSIGN_TO_SHIPMENT - Zuordnen von Lieferungen zu einem Transport

BAL_S_LOG - Application Log: Log header data   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Dieser Funktionsbaustein ordnet die in der Tabelle I_DELIVERIES angebenen Lieferungen dem Transport mit der Nummer I_TKNUM zu, dessen Kopf die Workarea C_XVTTK sein muß (In dieser werden 2 Informationen aktualisiert: Zuletzt vergebene Positionsnummer und zuletzt vergebene Reihenfolgenummer).

Hierbei werden natürlich die Transportpositionstabellen C_XVTTP und C_YVTTP verändert.

Wenn Lieferungen sich bereits in einem anderen Transport befinden, werden sie aus diesem herausgenommen und dem neuen zugeordnet. Dabei werden natürlich nicht nur die Transportpositions-Tabellen der anderen Transporte verändert, sondern auch die Position/Strecken-Zuordnungen (C_XVTSP, C_YVTSP), da die Lieferungen ja auch Strecken zugeordnet sein können.

Sind dem Transport mit der Nummer I_TKNUM schon Lieferungen zugeordnet, so werden jene Lieferungen, die nicht in I_DELIVERIES erwähnt sind, aus dem Transport herausgenommen.

Im Prinzip steht in C_XVTTP der alte Zustand des Transports I_TKNUM, während I_DELIVERIES den neuen beschreibt.

Nicht zugeordnete Lieferungen stehen ebenfalls in der Tabelle C_XVTTP, haben aber die Transportnummer TKNUM = SPACE.

Außerdem werden die Lieferungen automatisch allen Strecken zugeordnet, die das Laufkennzeichen 'Hauptlauf' besitzen (Daher wird die Tabelle I_XVTTS als Input benötigt).

Beispiel

Es liegt folgende Situation vor:
Transport '0000000001':
Lieferung A
Transport '0000000002':
Lieferung B
Lieferung C
Lieferungen ohne Transport:
Lieferung D
Lieferung E

Dem ersten Transport sollen die Lieferungen D und C (in genau dieser Reihenfolge) zugeordnet werden. Dafür wird zuerst die Tabelle I_DELIVERIES aufgebaut:
I_DELIVERIES-vbeln = 'D'.
I_DELIVERIES-tprfo = 1.
append I_DELIVERIES.
I_DELIVERIES-vbeln = 'C'.
I_DELIVERIES-tprfo = 2.
append I_DELIVERIES.

Und jetzt erfolgt der Aufruf des Funktionsbausteins:
call function 'SD_DELIVERY_ASSIGN_TO_SHIPMENT'
exporting
i_tknum = '0000000001'
tables
c_xvttp = xvttp
c_yvttp = yvttp
c_xvtsp = xvtsp
c_yvtsp = yvtsp
i_deliveries = I_DELIVERIES
i_xtrlk = xtrlk
i_xtrlp = xtrlp
i_xvtts = xvtts
changing
c_xvttk = xvttk
exceptions
others = 1.

Das Ergebnis ist dann:
Transport '0000000001':
Lieferung D
Lieferung C
Transport '0000000002':
Lieferung B
Lieferungen ohne Transport:
Lieferung E
Lieferung A

Das heißt:

  • Lieferung A wurde aus dem ersten Transport entfernt und in den Bereich 'Lieferungen ohne Transport' gestellt (hier gilt: TKNUM = SPACE)
  • Lieferung C wurde aus dem zweiten Transport in den ersten verschoben.
  • Lieferung D wurd aus dem Bereich 'Lieferungen ohne Transport' herausgenommen und dem ersten Transport zugeordnet.

Hinweise

Weiterführende Informationen





Parameter

C_XVTSP
C_XVTTK
C_XVTTP
C_YVTSP
C_YVTTP
I_DELIVERIES
I_TKNUM
I_XTRLK
I_XTRLP
I_XVTTS

Ausnahmen

NO_TRANSPORT_RELEVANCE

Funktionsgruppe

V56L

RFUMSV00 - Advance Return for Tax on Sales/Purchases   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3754 Date: 20240523 Time: 140955     sap01-206 ( 55 ms )