pixiGetShippableOrders
Liefert die Auftragspositionen vollständig lieferbarer Aufträge oder eine Zusammenfassung dieser Aufträge.
Wrapper um pipiReportGetShippableOrders. ShowDetails wird in ein Bit umgewandelt und als @ViewDetails übergeben. Die übrigen Optionen sind fest vorgegeben: keine Teillieferungen, kein Shop-Filter, @IncludeOrdersWithAnyShipDate = 0, keine Ausgabe je Lager.
Berücksichtigte Aufträge
- Auftragspositionen mit Status
ANGoderEIN, gesetzter Artikelreferenz (ItemRefnicht NULL) undQty > 0. - Der Auftrag muss zu einem vorhandenen Kunden gehören.
- Weder die Liefer- noch die Rechnungsadresse des Auftrags darf gesperrt sein (
ASlocked = 'Y'). - Der Auftrag darf nicht gesperrt sein (
OhSLocked = 'Y'). - Das Versanddatum muss leer oder kleiner als morgen sein. Aufträge mit Versanddatum in der Zukunft werden ausgeschlossen.
Bestandsprüfung
- Der Bestand wird je Position über
pixi_CalculateStockForOrderLinesberechnet, und zwar über die Lager mitSpecialStock = 0. - Es werden nur vollständig lieferbare Aufträge zurückgegeben. Ist eine einzige Position nicht lieferbar, entfällt der gesamte Auftrag.
Ausgabe
ShowDetails≠ 0 (Standard1): eine Zeile je Auftragsposition, sortiert nachOrderNrundOrderlineRef.ShowDetails= 0 oder NULL: eine Summenzeile mit Anzahl der Aufträge, Auftragssumme (Summe ausPrice * Qty), summierten Versandkosten und Anzahl Picks (SummeQty).
Währung
- Ist die Einstellung
MultiCurrencyEnabledaktiv, werden Preise und Versandkosten in die Datenbankwährung umgerechnet. Dafür wird der Wechselkurs desselben Datums verwendet, und der Währungscode wird indbCurrencygeliefert. - Andernfalls bleiben die Werte in Auftragswährung, und
dbCurrencyist NULL.
Hinweise
- Alle Lesezugriffe erfolgen mit
NOLOCK, daher können nicht festgeschriebene Daten enthalten sein. - Die Bestandsberechnung in
pixi_CalculateStockForOrderLinesliegt nicht vor, daher lassen sich ihre genauen Regeln (Reservierungen, Mindestbestand) hier nicht dokumentieren. Sie wird mit@SkipZeroStockItemsCalc = 1aufgerufen. - Bei aktiver Mehrwährung teilt der Code durch 1, wenn kein passender Wechselkurs gefunden wird. Der Wert bleibt dann ohne Hinweis in Auftragswährung.
- Im Detailmodus ist
ShipCostder Versandkostenbetrag des gesamten Auftrags und wird in jeder Position wiederholt. Er darf nicht je Position aufsummiert werden. - Im Summenmodus werden die Versandkosten über eindeutige Paare aus
OrderNrundShipCostsummiert. - Gibt es keine passenden Aufträge, liefert die Summenzeile trotzdem
Orders = 0undShipCost = 0;OrderTotalundPickssind dann NULL. - Für Teillieferungen, Shop-Filter oder Ausgabe je Lager
pixiReportGetShippableOrdersdirekt aufrufen.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ShowDetails
|
int | 1 |
Steuert die Ausgabe. Jeder Wert ungleich 0 liefert eine Zeile je Auftragsposition; 0 oder NULL liefert eine Summenzeile. Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Wenn ShowDetails weder 0 noch NULL ist (Standard)
Eine Zeile je Auftragsposition vollständig lieferbarer Aufträge, sortiert nach OrderNr und OrderlineRef.
| Spalte | Typ | Beschreibung |
|---|---|---|
OrderlineRef
|
int |
Schlüssel der Auftragsposition |
OrderNr
Kann leer sein |
int |
Auftragsnummer |
Qty
|
int |
Bestellmenge der Position |
ItemRef
|
int |
Artikelreferenz |
Status
Kann leer sein |
varchar(3) string |
Positionsstatus ( |
ShipCost
Kann leer sein |
money decimal |
Versandkosten des gesamten Auftrags, je Position wiederholt; bei aktiver Mehrwährung in Datenbankwährung |
Price
Kann leer sein |
money decimal |
Einzelpreis der Position; bei aktiver Mehrwährung in Datenbankwährung |
Shippable
|
int |
Immer 1 |
dbCurrency
Kann leer sein |
varchar(3) string |
Code der Datenbankwährung bei aktiver Mehrwährung, sonst NULL |
Result-Set 2 · Wenn ShowDetails 0 oder NULL ist
Eine Summenzeile über alle vollständig lieferbaren Aufträge.
| Spalte | Typ | Beschreibung |
|---|---|---|
Orders
|
int |
Anzahl eindeutiger lieferbarer Aufträge |
OrderTotal
Kann leer sein |
money decimal |
Summe aus |
ShipCost
|
money decimal |
Summe der Versandkosten der Aufträge (einmal je Auftrag) |
Picks
Kann leer sein |
int |
Summe der Mengen aller Positionen |
dbCurrency
Kann leer sein |
varchar(3) string |
Code der Datenbankwährung bei aktiver Mehrwährung, sonst NULL |
Beispielantwort
<SqlRowSet1>
<row>
<OrderlineRef>50211</OrderlineRef>
<OrderNr>10234</OrderNr>
<Qty>2</Qty>
<ItemRef>1622</ItemRef>
<Status>ANG</Status>
<ShipCost>4.9000</ShipCost>
<Price>19.9900</Price>
<Shippable>1</Shippable>
</row>
<row>
<OrderlineRef>50212</OrderlineRef>
<OrderNr>10234</OrderNr>
<Qty>1</Qty>
<ItemRef>1730</ItemRef>
<Status>ANG</Status>
<ShipCost>4.9000</ShipCost>
<Price>9.5000</Price>
<Shippable>1</Shippable>
</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:pixiGetShippableOrders>
<!-- <ShowDetails>1</ShowDetails> -->
</ns1:pixiGetShippableOrders>
</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:pixiGetShippableOrders>
<!-- <ShowDetails>1</ShowDetails> -->
</ns1:pixiGetShippableOrders>
</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 = [
// 'ShowDetails' => '1',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetShippableOrders', $soapArguments);
Verwandte Calls
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetShippableOrders