Befehl 'OrderCopy'
Dieser Befehl erstellt, mischt oder ändert Bestellungen mit dem Statusattribut
"P" oder "E".

Parameterwerte
- http://host_name/pfad/
- (Obligatorisch) Der vollständig qualifizierte Name Ihres WebSphere Commerce Servers und der Konfigurationspfad.
- langId
- Setzt die bevorzugte Sprache für die Dauer der Sitzung oder setzt die bevorzugte
Sprache zurück; die unterstützten Sprachen sind in der Tabelle
STORELANG enthalten.
- forUser
- Die Anmelde-ID des Benutzers in dessen Namen der Befehl ausgeführt wird;
nur eine Person mit der Berechtigung, Bestellungen verarbeiten zu können,
kann diesen Parameter angeben.
- forUserId
- Identisch mit "forUser"; hier wird jedoch der Benutzer mit
einer internen Benutzer-ID identifiziert, wie in der Tabelle
USERS angegeben.
- URL
- (Obligatorisch) Die URL-Adresse für die Umleitung, die nach der erfolgreichen
Ausführung des
Befehls aufgerufen wird.
- fromOrderId_i
- Gibt null oder mehr Quellenbestellungen an, aus denen Bestellartikel
kopiert werden,
wenn die Aufzählungsgruppe i
verarbeitet wird. Die Sonderabkürzungen
"." , "*", " .t" , "*t" und
"q" werden anhand von
memberId_i
und storeId aufgelöst.
- toOrderId
- Gibt die Bestellung an, die erstellt oder geändert werden soll. Sie
kann als Bestellreferenznummer oder eine der Sonderabkürzungen
".", "*",
".t", "*t", "**" und
".**." angegeben werden. Wird sie nicht angegeben,
wird standardmäßig "**" verwendet, wodurch eine neue
Bestellung erstellt wird. Werden mehrere Bestellungen angegeben, ist dies so, als ob nur die
zuletzt aktualisierte Bestellung angegeben würde.
Abkürzungen werden mit dem aktuellen
Kunden (dem Kunden, der diesen Befehl ausführt) und dem im Parameter storeId angegebenen
Geschäft aufgelöst.
- copyOrderItemId_i
- Gibt an, welche Bestellartikel aus den in fromOrderId_i angegebenen
Quellenbestellungen kopiert und der in toOrderId angegebenen Zielbestellung hinzugefügt werden
sollen.
- Wird dieser Parameter nicht angegeben oder
wird "*" angegeben, bezieht sich der Parameter auf alle Bestellartikel, die zu den mit fromOrderId_i angegebenen Bestellungen gehören.
- Ist "." angegeben, bezieht sich der Parameter auf den zuletzt aktualisierten Bestellartikel, der zu den mit
fromOrderId_i angegebenen Bestellungen gehört.
- Wird "**" angegeben,
wird der Paramater, der sich auf einen einzelnen neuen Bestellartikel der Zielbestellung
bezieht, hinzugefügt. Dabei werden nur Informationen aus anderen Parametern
in der durch i angegebenen Aufzählungsgruppe
benutzt, nicht jedoch aus den Quellenbestellungen für diese
Aufzählungsgruppe. In diesem Fall muss
catEntryId_i oder partNumber_i angegeben werden. Der Befehl OrderCopy
ruft den Befehl OrderItemUpdate auf, um der
Zielbestellung neue Bestellartikel hinzuzufügen.
- updateOrderItemId_i
- Gibt Bestellartikel in der Zielbestellung an, die
aktualisiert werden sollen. Die Aktualisierung erfolgt anhand von Informationen aus anderen
Parametern in der durch i angegebenen Aufzählungsgruppe, nicht jedoch aus den
Quellenbestellungen für diese Aufzählungsgruppe und nicht aus Quellenbestellungen für diese
Aufzählungsgruppe und nicht aus catEntryId_i und partNumber_i.
Beachten Sie, dass die Katalogeintrags-ID eines Bestellartikels nicht aktualisiert werden kann.
Der Befehl OrderCopy ruft den Befehl OrderItemUpdate auf, um
Bestellartikel in der Zielbestellung zu aktualisieren.
- Wird "*" angegeben, sind alle Bestellartikel in
der Zielbestellung betroffen.
- Wird "." angegeben, ist der zuletzt
aktualisierte Bestellartikel betroffen.
- orderInfoFrom
- Gibt die Referenznummer einer Bestellung an, aus der
Informationen über die Stufe der Bestellung kopiert werden sollen
(Werte für die Spalten DESCRIPTION, ADDRESS_ID, SEQUENCE, FIELD1,
FIELD2 und FIELD3)
in der Tabelle ORDERS).
- Werden mehrere Bestellungen angegeben, ist dies so, als ob
nur die zuletzt aktualisierte Bestellung angegeben würde.
- Wird "**" angegeben, werden keine Informationen
über die Stufe der Bestellung aus einer Bestellung kopiert.
- Wird
dieser Parameter nicht angegeben und ist in den Parametern
fromOrderId_i nur eine
einzige Quellenbestellung angegeben, ist dies so, als ob diese
Bestellung angegeben worden wäre. Andernfalls wird
standardmäßig der Wert "**" angenommen. Abkürzungen werden mit dem
aktuellen Kunden und dem im Parameter storeId angegebenen Geschäft aufgelöst.
- payInfoFrom
- Gibt die Referenznummer einer Bestellung an, aus der Zahlungsinformationen kopiert werden
sollen, die durch Aufrufen des Task-Befehls
GetOrderPaymentInfoCmd
erhalten wurden. Werden mehrere Bestellungen angegeben, ist dies so, als ob
nur die zuletzt aktualisierte Bestellung angegeben würde.
Wird "**" angegeben, werden keine Informationen
über die Stufe der Bestellung aus einer Bestellung kopiert. Wird
dieser Parameter nicht angegeben und ist in den Parametern
fromOrderId_i nur eine
einzige Quellenbestellung angegeben, ist dies so, als ob diese
Bestellung angegeben worden wäre. Andernfalls wird
standardmäßig der Wert "**" angenommen. Abkürzungen werden mit dem
aktuellen Kunden und dem im Parameter storeId angegebenen Geschäft aufgelöst.
- catEntryId_i
- Definiert die Katalogeintrags-ID der Bestellartikel in
Aufzählungsgruppe i.
- quantity_i
- Definiert die Menge der Bestellartikel in Aufzählungsgruppe i.
- UOM_i
- Die Maßeinheit für die menge_i.
- partNumber_i
- Die Teilenummer, die in eine Katalogeintrags-ID aufgelöst
werden soll. Sie überschreibt catEntryId_i.
- addressId_i
- Die Referenznummer der Adresse, an die die Bestellartikel in der durch i angegebenen
Aufzählungsgruppe ausgeliefert werden sollen. Die Adresse muss zu dem Kunden gehören,
der diesen Befehl ausführt.
- shipModeId_i
- Gibt eine Referenznummer für den Versandmodus an, die an den Befehl
OrderItemUpdate übermittelt werden soll, wenn für die
durch i angegebene Aufzählungsgruppe Bestellartikel in der Zielbestellung hinzugefügt
oder aktualisiert werden sollen. Diese Referenznummer ist einem bestimmten Versandservice
zugeordnet.
- comment_i
- Ein Kommentar, der mit dem Artikel
an den Befehl OrderItemUpdate
übergeben werden soll, wenn Bestellartikel zur Zielbestellung
hinzugefügt oder aktualisiert werden.
- field1_i
- Gibt eine ganze Zahl an, die an den Befehl
OrderItemUpdate übermittelt werden soll, wenn für die
durch i angegebene Aufzählungsgruppe
Bestellartikel in der Zielbestellung
hinzugefügt oder aktualisiert werden sollen.
- field2_i
- Gibt eine Zeichenfolge an, die an den Befehl
OrderItemUpdate übermittelt werden soll, wenn für die
durch i angegebene Aufzählungsgruppe
Bestellartikel in der
Zielbestellung hinzugefügt oder aktualisiert werden sollen.
- contractId_i
- Die der Bestellung zugeordnete Vertragsreferenznummer, die an
den Befehl OrderItemUpdate
übergeben werden soll, wenn Bestellartikel zur Zielbestellung
hinzugefügt oder aktualisiert werden.
- offerId_i
- Eine Liste von Angebots-IDs, aus der beim Erstellen eines neuen
Bestellartikels ausgewählt werden soll. Diese Liste wird an den
Befehl OrderItemUpdate
übergeben. Es ist kein Standardwert verfügbar.
- outOrderName
- Gibt die Namen von Name/Wert-Paaren an, die der Umleitungs-URL
hinzugefügt werden sollen. Der Wert jedes hinzugefügten Name/Wert-Paars ist die Referenznummer
einer Zielbestellung. Der Standardwert ist "orderId".
- outOrderItemName
- Gibt die Namen von Name/Wert-Paaren an, die der Umleitungs-URL
hinzugefügt werden sollen. Der Wert jedes hinzugefügten Name/Wert-Paars ist die Referenznummer
eines Zielbestellungsartikels. Der Standardwert ist "orderItemId".
- description
- Definiert die Beschreibung der Zielbestellung. Wenn keine
Beschreibung angegeben wurde, wird die Beschreibung der Bestellung
"orderInforFrom" verwendet, falls vorhanden.
- billingAddressId
- Definiert die ID der Rechnungsadresse der Zielbestellung. Wird keine ID angegeben, wird die ID der Rechnungsadresse der
Bestellung "orderInfoFrom" verwendet, falls
vorhanden.
- displaySeq
- Definiert die Anzeigereihenfolge der Zielbestellung. Wird
sie nicht angegeben, wird die Anzeigereihenfolge der Bestellung
"orderInforFrom" verwendet, falls vorhanden.
- field1 bis field3
- Definiert die Werte von field1, field2 bzw. field3 der
Zielbestellung.
Wird kein Wert angegeben, wird der entsprechende Feldwert der
Bestellung "orderInfoFrom" verwendet, falls vorhanden.
- status
- Gibt den Status der Zielbestellung an. Nur I (übergeben) und P
(anstehend) sind gültige Werte. Der Standardwert ist P. Wenn
I angegeben ist, wird die Zielbestellung nach dem Aktualisieren für
die Anzeige vorbereitet und wie beim Aufrufen von
OrderPrepare gesperrt.
Anschließend wir der Status auf I gesetzt. Hierdurch wird die
Bestellung so vorbereitet, dass sie von
OrderProcess akzeptiert wird.
Darüber hinaus wird sie vor weiteren Änderungen durch den Kunden
geschützt.
- memberId_i
- Die Referenznummer eines Mitglieds. Sie wird verwendet, um
Sonderabkürzungen (".",
"*", ".t", ".**." und
"*t") aufzulösen, wenn diese in fromOrderId_i
enthalten sind. Der folgende Befehl bezieht sich
beispielsweise auf alle anstehenden Bestellungen von Mitglied
1001:
fromOrderId_1=*&memberId_1=1001
Der Standardwert ist die Mitglieds-ID des aktuellen Benutzers.
Wenn der aktuelle Kunde versucht, auf die Bestellungen anderer Kunden zuzugreifen, aber nicht die hierzu erforderliche Berechtigung hat, wird eine Ausnahmebedingung generiert.
- storeId
- Definiert die Geschäfts-ID der Zielbestellung. Sie wird auch verwendet, um Sonderabkürzungen
(".", "*", ".t",
".**." und "*t") aufzulösen, wenn sie
in fromOrderId_i, toOrderId, orderInfoFrom und payInfoFrom
enthalten sind. Der folgende Befehl bezieht sich beispielsweise auf
alle anstehenden Bestellungen von Mitglied
1001 in Geschäft 1:
fromOrderId_1=*&memberId_1=1001&storeId=1
- attr_i_name
- Gibt einen Attributnamen und einen Attributwert an, die an den
Befehl OrderItemUpdate
übergeben werden sollen, wenn für die durch i angegebene
Aufzählungsgruppe Bestellartikel zur Zielbestellung hinzugefügt
werden sollen. Der folgende Befehl bezieht sich beispielsweise
auf Teil ABC123 mit dem Attribut "length"=="10":
partNumber_1=ABC123&attr_1_length=10
- pay_payment_name
- Definiert die Zahlungs-Name/Wert-Paare der Zielbestellung.
Der folgende Befehl bezieht sich beispielsweise auf das
Zahlungs-Name/Wert-Paar "creditCardNumber==2222222222":
pay_creditCardNumber=2222222222
Diese Zahlungs-Name/Wert-Paare werden der Tabelle ORDPAYINFO
durch den Task-Befehl
SetOrderPaymentInfoCmd
hinzugefügt. Wenn kein Zahlungs-Name/Wert-Paar angegeben
ist, werden die Name/Wert-Paare der Bestellung payInfoFrom verwendet,
falls vorhanden.
- partOwner_Id_i
- Die Mitglieds-ID des Teileigners, die mit
partNumber_i verwendet wird. Der Standardwert ist der Eigner
des Geschäfts.
- remerge
- Eine Liste der OrderItems, die (wenn möglich) mit anderen OrderItems
in der selben Bestellung und mit dem gleichen Attribut correlationGroup zusammengefügt werden sollen.
- merge
- Eine Liste der OrderItems, die (wenn möglich) mit anderen OrderItems
in der selben Bestellung - unabhängig vom Attribut correlationGroup - zusammengefügt werden sollen.
- check
- Eine Liste der OrderItems, die vom Task-Befehl CheckInventory
geprüft werden sollen.
- allocate
- Eine Liste der OrderItems, die von einem bestehenden Lagerbestand
zugeordnet werden sollen.
- backorder
- Eine Liste der OrderItems, die von einem erwarteten Lagerbestand
zugeordnet werden sollen.
- reverse
- Eine Liste der OrderItems, deren Zuordnungen freigegeben werden sollen
(deren Zuordnung also vom vorhandenen oder erwarteten Lagerbestand rückgängig gemacht werden
soll).
- configurationId_i
- Wenn der Bestellartikel ein konfiguriertes dynamische Kit ist,
ist dies die Konfigurations-ID.
Hinweis: Die Parameter remerge, merge, check, allocate, backorder und reverse
sind nur dann anwendbar, wenn ein ATP-Lagerbestand aktiviert ist (siehe die Spalte ALLOCATIONGOODFOR
in der Tabelle STORE). Sie stellen Listen von OrderItems (Bestellartikeln) dar, die
an den Task-Befehl
'AllocateInventory' weitergegeben werden, der wiederum die Task-Befehle 'CheckInventoryAvailability',
'AllocateExistingInventory', 'AllocateExpectedInventory', 'DeallocateExistingInventory' und
'DeallocateExpectedInventory' wie unten angegeben aufruft. Darüber hinaus akzeptieren diese Parameter
Bestellartikel-Abkürzungen, die in der Hilfe für die Befehle des Bestellsubsystems
detailliert beschrieben sind.
Folgendes sind die ATP-Standardparameterwerte:
- remerge=*n
- merge=*n
- check=***
- allocate=*n
- backorder=*n
- reverse=*n
Beispiel 1
Bei diesem Beispiel wird eine Bestellung unter Verwendung von
fromOrderId_1 kopiert, da die standardmäßige
toOrder vom Typ ** (neue Bestellung) und die standardmäßige copyOrderItemId_1 vom Typ *
(alle Bestellartikel) ist:
http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=388
&URL=OrderItemDisplay
Beispiel 2
Bei diesem Beispiel werden zwei anstehende Bestellungen erstellt und
anschließend alle Bestellartikel von allen anstehenden Bestellungen
zusammengefügt.
http://myhostname/webapp/wcs/stores/servlet/OrderItemAdd?catEntryId=322200305
&quantity=11&URL=OrderItemDisplay&storeId=32&orderId=**
http://myhostname/webapp/wcs/stores/servlet/OrderItemAdd?catEntryId=322200301
&quantity=11&URL=OrderItemDisplay&storeId=32&orderId=**
http://myhostname/webapp/wcs/stores/servlet/OrderCopy?URL=OrderItemDisplay
&fromOrderId_1=*©OrderItemId_1=*
Beispiel 3
Bei diesem Beispiel wird der Bestellung 111 ein neuer Bestellartikel
hinzugefügt.
http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=111
&toOrderId=111&partNumber_1=PART-I312200303&quantity_1=21&memberId_1=0
&storeId=31&URL=OrderItemDisplay
Beispiel 4
Bei diesem Beispiel wird anhand von partNumber kopiert. Wenn dieser Parameter angegeben ist, wird
der Parameter catEntryId_i ignoriert. Der Parameter
partNumber_i und die von anderen Parametern angegebene
oder implizierte Geschäftsreferenznummer werden verwendet, um
eine Produktreferenznummer zu ermitteln. Dazu werden die Spalten
PARTNUMBER und MEMBER_ID in der Tabelle
CATENTRY ausgewählt. Dieser Befehl verhält sich so, als wäre diese Produktreferenznummer
als Wert für catEntryId_i angegeben worden. Der Befehl muss in
der Lage sein, eine Geschäftsreferenznummer aus den anderen
Parametern zu ermitteln. Als Ergebnis wird der Bestellung 111 ein neuer Bestellartikel
hinzugefügt.
http://myhostname/webapp/wcs/stores/servlet/OrderCopy?fromOrderId_1=111
&toOrderId=111&partNumber_1=PART-I312200303&quantity_1=21
&memberId_1=1&storeId=31&URL=OrderItemDisplay
Verhalten
- Die Task-Befehle ResolveOrdersCmd und ResolveOrderItemsCmd werden aufgerufen,
um Bestellabkürzungen (OrderId) und Bestellartikelabkürzungen (OrderItemId) aufzulösen
und festzustellen, welche Bestellungen und Bestellartikel von den Parametern bezeichnet
werden.
- Falls erforderlich, wird die Zielbestellung in der
Tabelle ORDERS mit dem Status 'P' und 'nicht gesperrt' erstellt.
- Die Task
CheckOrderCopyCmd wird aufgerufen, um zu überprüfen, ob der Kunde die Berechtigung hat,
Informationen aus den Bestellungen zu kopieren, die in den Parametern fromOrderId_i,
orderInfoFrom, und payInfoFrom angegeben sind, und Informationen in der Zielbestellung zu
aktualisieren.
- Bestellungsinformationen werden in der Tabelle
ORDERS aktualisiert.
- Zahlungsinformationen werden aus der im
Parameter payinfofrom angegebenen Bestellung gelesen.
Hierzu wird der Task-Befehl
GetOrderPaymentInfoCmd aufgerufen. Die Aktualisierung erfolgt entsprechend der Angabe in pay_payment_name; das Schreiben in die im Parameter toOrderId angegebene Zielbestellung durch Aufruf der Prozess-Task
SetOrderPaymentInfoCmd.
- Für jeden Parameter copyOrderItem_i und updateOderItem_i in aufsteigender
Reihenfolge von i werden die angegebenen Bestellartikelinformationen in die Tabelle
ORDERITEMS kopiert oder in dieser Datenbanktabelle
aktualisiert, indem der Befehl OrderItemUpdate aufgerufen
wird.
- Steht der Statusparameter auf I, wird die Zielbestellung so für
das Anzeigen und Verarbeiten vorbereitet, als ob der
Befehl OrderPrepare aufgerufen würde
(Summen werden berechnet und die Bestellung wird gesperrt), und der
Status der Zielbestellung und seiner Bestellartikel wird in den
Tabellen ORDERS und
ORDERITEMS
in I geändert.
- Der Task-Befehl
ExtOrderCopyCmd
wird aufgerufen.
- Name/Wert-Paare werden der Umleitungs-URL anhand der Angaben in den Parametern
outOrderName und outShiptoName hinzugefügt.
Ausnahmebedingungen
- Der Task-Befehl
CheckOrderCopyCmd
generiert eine ECApplicationException vom Typ _ERR_ORDER_COPY mit
der Fehlersicht OrderCopyErrorView, wenn dem Befehl OrderCopy der
Zugriff auf eine Bestellung verweigert wird. Es werden die
folgenden Name/Wert-Paare gesetzt:
- ERROR_CODE=601
- orderId=the offending order ID
- Befindet sich die Zielbestellung nicht im Status 'Anstehend',
wird eine ECApplicationException vom Typ _ERR_ORDER_WRONG_STATUS mit
der Fehlersicht OrderCopyErrorView generiert. Darüber hinaus
wird das folgende Name/Wert-Paar gesetzt:
- ERROR_CODE=603
- orderId=the offending order ID
- Alle OrderItemUpdate-Ausnahmebedingungen.