pixiGetReturnItems
Liefert die Positionen eines Retourenfalls mit Artikel, Rechnungsposition, Lagerplatz sowie übersetztem Retourengrund und Qualitätsklassifizierung.
Liefert alle Retourenpositionen (pixi.ReturnLine), die zum in ReturnId angegebenen Retourenfall gehören.
Ablauf:
- Die Übersetzungen der Codetabellenwerte (
DBObjectName = 'CodeTableValue') für die SpracheLanguageIdwerden in eine temporäre Tabelle geladen. - Alle Retourenpositionen des Retourenfalls werden gelesen und verknüpft mit:
- der Rechnungsposition (
Invlines) und dem zugehörigen Artikel (items), die Artikelnummer, EAN, Artikelname und interne Artikelnummer liefern, - dem Retourengrund (
ReasonId) mit Code und übersetzter Beschreibung, - der Qualitätsklassifizierung des Artikels (
ItemQualityClassificationId) mit Code und übersetzter Beschreibung, - dem Lagerbuchungseintrag (
InvBinItemLog), der Menge, Lager, Lagerplatz, Mindesthaltbarkeitsdatum und Charge liefert.
- der Rechnungsposition (
Alle Verknüpfungen sind Inner Joins: Eine Position erscheint nur, wenn alle referenzierten Datensätze existieren und sowohl für den Retourengrund als auch für die Klassifizierung eine Übersetzung in der angeforderten Sprache vorhanden ist.
Eine explizite Sortierung erfolgt nicht.
Hinweise
- Die meisten Tabellen werden mit
NOLOCKgelesen, daher können nicht festgeschriebene Daten geliefert werden; die Verknüpfung zur Qualitätsklassifizierung (CodeTableValuealsct2) erfolgt ohneNOLOCK. - Fehlt für einen Retourengrund oder eine Klassifizierung die Übersetzung in der angegebenen
LanguageId, fehlt die gesamte Position im Ergebnis. Es sollte eine Sprache verwendet werden, für die Übersetzungen vorhanden sind (Standard1). - Die temporäre Tabelle wird über
util.TempTableDropentfernt; dessen Definition liegt nicht vor. - Existiert der Retourenfall nicht oder hat er keine Positionen, wird eine leere Ergebnismenge geliefert; ein Fehler wird nicht ausgelöst.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ReturnId
Pflicht
|
int | – |
ID des Retourenfalls, dessen Positionen geliefert werden. Beispiel: |
LanguageId
|
int | 1 |
Sprach-ID für die übersetzten Beschreibungen von Retourengrund und Qualitätsklassifizierung. Beispiel: |
Antwort
Result-Set 1 · Immer (ggf. leer)
Eine Zeile pro Retourenposition des Retourenfalls.
| Spalte | Typ | Beschreibung |
|---|---|---|
Id
|
int |
ID der Retourenposition. |
ReasonId
|
int |
ID des Codetabellenwerts des Retourengrunds. |
ReasonDescription
Kann leer sein |
string |
Übersetzte Beschreibung des Retourengrunds in der angeforderten Sprache. |
ItemId
|
int |
Interner Artikelschlüssel ( |
EANUPC
Kann leer sein |
string |
EAN/UPC des Artikels. |
ItemName
Kann leer sein |
string |
Name des Artikels. |
Quantity
Kann leer sein |
int |
Menge aus dem verknüpften Lagerbuchungseintrag. |
LocationCode
Kann leer sein |
string |
Lager des Lagerbuchungseintrags. |
BinId
Kann leer sein |
int |
Referenz auf den Lagerplatz des Lagerbuchungseintrags. |
BestBeforeDate
Kann leer sein |
dateTime |
Mindesthaltbarkeitsdatum aus dem Lagerbuchungseintrag. |
BatchNumber
Kann leer sein |
string |
Chargennummer aus dem Lagerbuchungseintrag. |
InvoiceLineId
|
int |
ID der Rechnungsposition, auf die sich die Retourenposition bezieht. |
IsSpecialCase
Kann leer sein |
boolean |
Kennzeichen, ob die Retourenposition als Sonderfall markiert ist. |
CustomerComment
Kann leer sein |
string |
Kommentar des Kunden zur Retourenposition. |
UserComment
Kann leer sein |
string |
Kommentar des Benutzers zur Retourenposition. |
RecordModifiedOn
Kann leer sein |
dateTime |
Zeitpunkt der letzten Änderung der Retourenposition. |
ItemNrInt
Kann leer sein |
string |
Interne Artikelnummer des Artikels. |
ReasonCode
Kann leer sein |
string |
Code des Retourengrunds. |
ItemClassification
Kann leer sein |
string |
Code der Qualitätsklassifizierung des Artikels. |
ItemClassificationDescription
Kann leer sein |
string |
Übersetzte Beschreibung der Qualitätsklassifizierung in der angeforderten Sprache. |
Beispielantwort
<SqlRowSet1>
<row>
<Id>5531</Id>
<ReasonId>12</ReasonId>
<ReasonDescription>Item does not fit</ReasonDescription>
<ItemId>20871</ItemId>
<EANUPC>4006381333931</EANUPC>
<ItemName>Running shirt blue M</ItemName>
<Quantity>1</Quantity>
<LocationCode>001</LocationCode>
<BinId>3345</BinId>
<BestBeforeDate>2026-12-31T00:00:00</BestBeforeDate>
<BatchNumber>B2024-117</BatchNumber>
<InvoiceLineId>889120</InvoiceLineId>
<IsSpecialCase>false</IsSpecialCase>
<CustomerComment>Too small</CustomerComment>
<UserComment>Checked, as new</UserComment>
<RecordModifiedOn>2024-05-14T10:22:31</RecordModifiedOn>
<ItemNrInt>RS-BLU-M</ItemNrInt>
<ReasonCode>SIZE</ReasonCode>
<ItemClassification>A</ItemClassification>
<ItemClassificationDescription>As new</ItemClassificationDescription>
</row>
</SqlRowSet1>
Beispiele
POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiGetReturnItems>
<ReturnId>1042</ReturnId>
<!-- <LanguageId>1</LanguageId> -->
</ns1:pixiGetReturnItems>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiGetReturnItems>
<ReturnId>1042</ReturnId>
<!-- <LanguageId>1</LanguageId> -->
</ns1:pixiGetReturnItems>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
'ReturnId' => '1042',
// 'LanguageId' => '1',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetReturnItems', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetReturnItems