Befehl 'ReturnItemAdd'
Dieser Befehl fügt einer Artikelrückgabeberechtigung (RMA) Produkte hinzu.

Parameterwerte
- http://host_name/pfad/
- (Obligatorisch) Der vollständig qualifizierte Name Ihres WebSphere Commerce Servers und der Konfigurationspfad.
- 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.
- creditAdjustment_i
- Der Betrag, um den der Gutschriftsbetrag für das Produkt anzupassen ist. Das Format
dieser Zahl muss mit den Regeln für ein java.math.BigDecimal-Objekt übereinstimmen. Als
Dezimalzeichen muss ein Punkt verwendet werden. Dieser Betrag wird in die Spalte
ADJUSTMENT der Tabelle RMAITEM gestellt. Der Parameter
ist optional und nur dann gültig, wenn der Parameter forUserId angegeben wird.
- 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.
- storeId
- (Obligatorisch) Die Referenznummer des Geschäfts.
- orderItemId_i
- (Obligatorisch) Die Bestellartikel-ID, sofern verfügbar. Zur Rückgabe einer Komponente, die
nicht Bestandteil eines dynamischen Kits ist, oder des gesamten Kit eines Bestellartikels
muss für diesen Parameter ein Wert angegeben werden. Zur Rückgabe eines Teils
eines dynamischen Kits, für das ein Bestellartikel existiert,
muss für diesen Parameter und den Parameter i ein Wert angegeben werden.
- catEntryId_i
- (Obligatorisch) Der zurückgegebene Katalogeintrag. Dieser Wert muss entweder ein Produkt oder ein Artikel sein. Andere
Werte werden für Katalogeinträge nicht unterstützt und führen zu einer
BAD_MISSING_CMD_PARAMETER-Ausnahmebedingung. Zur Rückgabe einer Komponente,
die kein Bestellartikel ist, muss ein Wert für diesen Parameter angegeben werden. Zur
Rückgabe eines dynamischen Kits, für das ein Bestellartikel existiert,
muss für diesen Parameter und den Parameter orderItem_i ein Wert angegeben werden.
- attrName_i
- Ein spezifisches, für das Produkt definiertes Attribut.
- attrValue_i
- Der Wert des Produktattributs.
- RMAId
- Die Kennung einer bestehenden Artikelrückgabeberechtigung, der die zurückgegebenen
Artikel hinzugefügt werden sollen. Verwenden Sie zur Erstellung einer neuen
Artikelrückgabeberechtigung den Wert "**". Wenn
kein Wert für diesen Parameter angegeben wird, wird standardmäßig ** verwendet.
- quantity_i
- (Obligatorisch) Die zurückgegebene Menge.
- UOM_i
- Die Maßeinheit für quantity_i. Dieser Wert muss mit einem der primären
Schlüssel in der Tabelle QTYUNIT übereinstimmen. Wenn
dieser Parameter nicht angegeben wird, wird der Wert der Spalte QUANTITYMEASURE
in der Tabelle CATENTSHIP
für die Zeile verwendet, deren CATENTRY_ID mit dem Bestellartikel übereinstimmt, und
der Wert des Parameters quantity_i wird mit der Spalte NOMINALQUANTITY derselben Zeile
in der Tabelle CATENTSHIP multipliziert.
- comment_i
- Ein Kommentar zum zurückgegebenen Artikel.
- reason_i
- (Obligatorisch) Der vom Käufer angegebene Grund für die Rückgabe. Dieser Wert
kann der Spalte CODE von Tabelle RTNREASON
mit dem Ursachentyp in 'B' oder 'C' entnommen werden.
- outRMAName
- Der Name für das Name/Wert-Paar, das an die umgeleitete URL übermittelt wird. Dieser
Parameter ist beim Verketten von Befehlen von Nutzen. Wenn dieser Parameter nicht angegeben
wird, wird der Wert des Parameters RMAId verwendet.
- URL
- (Obligatorisch) Die URL-Adresse, die nach der erfolgreichen Ausführung des
Befehls aufgerufen werden soll.
- forUserId
- Die Anmelde-ID des Benutzers in dessen Namen der Befehl ausgeführt wird;
nur eine Person mit dem Sicherheitsaufgabenbereich
eines Kundendienstmitarbeiters kann diesen Parameter angeben. Der Benutzer
wird mit einer internen Benutzer-ID identifiziert,
wie in der Tabelle USERS angegeben.
Beispiel
Im folgenden Beispiel werden fünf Einheiten des Bestellartikels 15 einer neuen
Artikelrückgabeberechtigung hinzugefügt. Der Ursachencode der Rückgabe ist DEFECT. Die
erstellte Artikelrückgabeberechtigung wird angezeigt.
http://myhostname/webapp/wcs/stores/servlet/ReturnItemAdd?
orderItemId_1=15&quantity_1=5&reason_1=DEFECT&RMAId=**&storeId=1
&URL=ReturnDisplay
Verhalten
- Wenn RMAId auf "**" gesetzt wird, wird eine neue Artikelrückgabeberechtigung
erstellt. Als Währung der neuen Artikelrückgabeberechtigung wird die Währung eines der
zurückgegebenen Artikel auf der Basis eines Bestellartikels verwendet. Wenn kein
Bestellartikel zurückgegeben wird (wenn also nur Katalogeinträge zurückgegeben werden),
wird die Einkaufswährung des Aufrufers eingestellt. Als Handels-ID der neuen
Artikelrückgabeberechtigung wird die Handels-ID eines der zurückgegebenen
Bestellartikel eingestellt. Wenn kein Bestellartikel zurückgegeben wird, wird die erste
im Befehlskontext (method getCurrentTradingAgreements()) gefundene Handels-ID
eingestellt. Die memberId der Artikelrückgabeberechtigung wird auf die Benutzer-ID
im Befehlskontext gesetzt.
- Wenn die RMAId nicht auf "**" gesetzt wird, öffnen Sie die bestehende
Artikelrückgabeberechtigung und prüfen, ob sie zum aktuellen Geschäft gehört.
- Die Markierung PREPARED der Artikelrückgabeberechtigung wird auf 'N' gesetzt.
- Wenn der Parameter forUser oder der Parameter forUserId angegeben wird,
muss die Artikelrückgabeberechtigung zunächst den Status 'EDT', 'PND' oder 'APP'
aufweisen und wird auf 'EDT' gesetzt. Andernfalls muss die Artikelrückgabeberechtigung
zunächst den Status 'PRC' aufweisen, und der Status wird in 'PRC' geändert.
- Der Befehl kann mit einer Liste von Bestellartikeln (OrderItems) und Katalogeinträgen aufgerufen werden. Die Verarbeitung erfolgt jeweils wie nachfolgend beschrieben:
- Wenn der Bestellartikel der RMA hinzugefügt werden soll, geschieht Folgendes:
- Der Task-Befehl CheckReturnItemInCorrectStateCmd
wird aufgerufen, um zu prüfen, ob der Status des Bestellartikels eine Rückgabe zulässt.
- Der Befehl überprüft, ob die Währung des Bestellartikels mit der Währung der
Artikelrückgabeberechtigung übereinstimmt.
- Der Befehl überprüft, ob die Handels-ID des Bestellartikels mit der
Handels-ID der Artikelrückgabeberechtigung übereinstimmt.
- Der Befehl überprüft, ob Liefer- und Zahlungsbedingungen zu Rückgabeartikeln
für diesen Bestellartikel vorliegen.
- Der Befehl überprüft, ob die Liefer- und Zahlungsbedingungen, die der
Handels-ID und der Member-ID des Bestellartikels zugeordnet sind, mit den Liefer- und
Zahlungsbedingungen kompatibel sind, die der Artikelrückgabeberechtigung zugeordnet sind
(mit denselben Liefer- und Zahlungsbedingungen). Die Liefer- und Zahlungsbedingungen,
die der Artikelrückgabeberechtigung zugeordnet sind, werden unter Verwendung der
Handels-ID der Artikelrückgabeberechtigung und der Member-ID eines vorhandenen
zurückgegebenen Bestellartikels oder der Member-ID der Artikelrückgabeberechtigung berechnet
(wenn alle vorhandenen zurückgegebenen Artikel Katalogeinträge sind).
- Wenn catEntryId angegeben wird (Teilrückgabe eines Kits), wird der Task-Befehl
ResolveSkuCmd aufgerufen, um die Katalogeintrags-ID und die Artikelspezifikations-ID
aufzulösen.
- Wenn es sich um eine Teilrückgabe eines Kits handelt, wird der Task-Befehl
CalculateReturnItemCreditForCatEntryCmd,
andernfalls der Task-Befehl CalculateReturnItemCreditCmd
aufgerufen.
- Fügt der Artikelrückgabeberechtigung einen Artikel hinzu und löst
den RMA-Artikel in seine Komponenten auf. Wenn es sich um ein Kit handelt, werden
die Komponentendatensätze auf der Basis der Tabelle
OICOMPLIST erstellt, die dem Bestellartikel
zugeordnet ist. Andernfalls wird eine Komponente für die zurückgegebenen Artikel
erstellt.
- Wenn der Kategorieeintrag der RMA hinzugefügt werden soll, geschieht Folgendes:
- Ruft den Task-Befehl
ResolveSkuCmd auf, um die Katalogeintrags-ID und die Artikelspezifikations-ID
aufzulösen.
- Die Währung des Rückgabeartikels wird auf die RMA-Währung gesetzt.
- Ruft den Task-Befehl CalculateReturnItemCreditForCatEntryCmd zur
Berechnung der Gutschriftbeträge auf.
- Ruft für alle Artikel den Task-Befehl AutoApproveReturnItemCmd
auf, um festzustellen, ob der Artikel automatisch genehmigt werden kann. Der
zurückgegebene Artikel erhält abhängig von der automatischen Genehmigung den Status 'PND' oder 'APP'.
- Die Maßeinheit wird ähnlich wie beim Befehl OrderItemAdd
behandelt. Die Menge unter Verwendung der Maßeinheit wird in eine normalisierte Menge
umgerechnet, ein Mehrfaches der in Tabelle CATENTSHIP
angegebenen nominalen Menge.
- Zur Rückgabe einer Komponente, die
nicht Bestandteil eines dynamischen Kits ist, oder des gesamten Kits eines Bestellartikels
verwendet der Befehl den Wert für den Parameter orderItemId_i und fügt
der Tabelle RMAITEM einen Eintrag sowie der Tabelle
RMAITEMCMP mehrere Einträge (bei einem
Kit) bzw. andernfalls einen Eintrag hinzu. Wenn die Komponenten eines Kits der Tabelle
RMAITEMCMP hinzugefügt werden, werden als optional markierte Komponenten (Spalte
REQUIRED der Tabelle OICOMPLIST auf 'N' gesetzt) nicht aufgezeichnet.
- Zur Rückgabe eines Teils eines dynamischen Kits, für das ein Bestellartikel
existiert, verwendet der Befehl den Wert für den Parameter orderItemId_i und
den Parameter catEntryId_i und fügt der Tabelle RMAITEM sowie der Tabelle
RMAITEMCMP einen Eintrag hinzu.
- Zur Rückgabe einer Komponente, die kein Bestellartikel ist,
verwendet der Befehl die Werte für den Parameter catEntryId_i und fügt der Tabelle
RMAITEM sowie der Tabelle RMAITEMCMP einen Eintrag hinzu.
- Nur Katalogeinträge, bei denen es sich um Produkte oder Artikel handelt, können
zurückgegeben werden.
- Bei erfolgreicher Ausführung wird die Umleitung an die angegebene URL vorbereitet.
- Ruft den Task-Befehl ExtendReturnItemAddCmd auf.
Ausnahmebedingungen
- Wenn die Währung des Bestellartikels nicht mit der Währung der Artikelrückgabeberechtigung
übereinstimmt, wird eine Ausnahmebedingung mit der Nachricht
_ERR_ITEM_RMA_CURRENCY_MISMATCH generiert.
- Wenn der Bestellartikel nicht den korrekten, vom Task-Befehl
CheckReturnItemInCorrectStateCmd ermittelten Status aufweist, wird die Ausnahmebedingung
ECApplicationException mit der Nachricht _ERR_ORD_ITEM_NOT_RETURNABLE generiert.
- Wenn der Status der Artikelrückgabeberechtigung nicht auf 'PRC' gesetzt ist
(wenn der Parameter forUser oder forUserId verwendet wird) oder nicht auf
'EDT', 'PND' oder 'APP' gesetzt ist (wenn der Parameter forUser oder forUserId nicht
verwendet wird), wird die Ausnahmebedingung ECApplicationException mit der Nachricht
_ERR_RMA_IN_INVALID_STATE_FOR_COMMAND ausgegeben.
- Wenn die Handels-ID des Bestellartikels nicht mit der Handels-ID der
Artikelrückgabeberechtigung übereinstimmt, wird die Ausnahmebedingung
ECApplicationException mit der Nachricht _ERR_ITEM_RMA_TRADING_MISMATCH generiert.
- Wenn keine Liefer- und Zahlungsbedingungen für die Rückgabe dieses Bestellartikels
vorliegen, wird die Ausnahmebedingung ECApplicationException mit der Nachricht
_ERR_NO_RETURN_TERMCOND generiert.
- Wenn Liefer- und Zahlungsbedingungen des Bestellartikels von den Liefer- und
Zahlungsbedingungen abweichen, die der Artikelrückgabeberechtigung zugeordnet sind,
wird die Ausnahmebedingung ECApplicationException mit der Nachricht
_ERR_ITEM_RMA_TERMS_MISMATCH generiert.