pixiReadItems
Liefert Artikelstammdaten für einen einzelnen Artikel, einen Schlüsselbereich oder im Zeitfenster angelegte/geänderte Artikel, sortiert nach ItemKey.
Liest Artikel aus items und ergänzt sie um den Export-Lieferzeitwert, den Lieferantennamen und den Text der Konfigurationsart. Alle Modi liefern dieselben Spalten.
Zuerst wird, falls RowCount ungleich 0 ist, die Anzahl der zurückgegebenen Zeilen auf diesen Wert begrenzt. Ein fehlender ItemKey wird als 0 behandelt.
Es gilt der erste zutreffende Modus:
- Angelegt oder geändert (
CreateAndUpdateDateFromund/oderCreateAndUpdateDateTogesetzt): Artikel mitItemKey > ItemKey, bei denenCreateDateoderUpdateDate>=dem Von-Wert ist undCreateDateoderUpdateDate<dem Bis-Wert ist. Sortiert nachItemKeyaufsteigend. - Angelegt (
CreateDateFromund/oderCreateDateTogesetzt): Artikel mitItemKey > ItemKeyundCreateDatein[von, bis). Sortiert nachItemKey. - Geändert (
UpdateDateFromund/oderUpdateDateTogesetzt): Artikel mitItemKey > ItemKeyundUpdateDatein[von, bis). Sortiert nachItemKey. - Schlüsselbereich (
RowCountnicht NULL): alle Artikel mitItemKey > ItemKey, sortiert nachItemKey. - Einzelartikel (sonst): der Artikel, dessen
ItemKeydem Parameter entspricht.
In den Modi 1–4 ist ItemKey eine exklusive Untergrenze. Damit ist Keyset-Paging möglich: den letzten ItemKey der vorherigen Seite zusammen mit RowCount übergeben.
Bei den Datumsprüfungen gelten nur die angegebenen Grenzen. Die Bis-Werte sind exklusiv.
Hinweise
- Alle Tabellen werden
WITH (NOLOCK)gelesen. Ergebnisse können nicht festgeschriebene oder inkonsistente Daten enthalten. - Ein Aufruf ohne Parameter landet in Modus 5 mit
ItemKey = 0. Das liefert normalerweise ein leeres Ergebnis. Der letzteELSE-Zweig im Code, der eine leere Ergebnismenge liefert, wird nie erreicht. RowCount = 0wählt Modus 4 (ohne Datumsfilter) ohne Zeilenbegrenzung. Es werden alle Artikel mitItemKey > ItemKeygeliefert, was sehr viele sein können.RowCountwirkt überSET ROWCOUNTund begrenzt daher auch Modus 5. Dieser Modus liefert ohnehin höchstens eine Zeile.- Im kombinierten Modus werden Von- und Bis-Grenze unabhängig gegen
CreateDateoderUpdateDategeprüft. Beispielsweise erfüllt ein Artikel, der vor dem Von-Datum angelegt, aber danach geändert wurde, die Von-Bedingung. - Datumsparameter verschiedener Modi werden nicht kombiniert. Sind kombinierte Datumswerte gesetzt, werden die getrennten Anlage-/Änderungsdaten ignoriert, und Anlagedaten haben Vorrang vor Änderungsdaten.
- Existieren für einen Artikel mehrere Zeilen in
Item_EstimatedDelivery, wird der Artikel mehrfach geliefert.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ItemKey
|
int | NULL |
Interner Artikelschlüssel. Im Einzelartikelmodus der exakte Schlüssel. In Bereichs- und Datumsmodi eine exklusive Untergrenze ( Beispiel: |
CreateDateFrom
|
datetime dateTime |
NULL |
Liefert Artikel mit Beispiel: |
CreateDateTo
|
datetime dateTime |
NULL |
Liefert Artikel mit Beispiel: |
UpdateDateFrom
|
datetime dateTime |
NULL |
Liefert Artikel mit Beispiel: |
UpdateDateTo
|
datetime dateTime |
NULL |
Liefert Artikel mit Beispiel: |
CreateAndUpdateDateFrom
|
datetime dateTime |
NULL |
Liefert Artikel, deren Beispiel: |
CreateAndUpdateDateTo
|
datetime dateTime |
NULL |
Liefert Artikel, deren Beispiel: |
RowCount
|
int | NULL |
Maximale Zeilenanzahl (Seitengröße). Werte ungleich 0 begrenzen das Ergebnis. Jeder Wert ungleich NULL ohne Datumsfilter wählt den Schlüsselbereichsmodus. Beispiel: |
Antwort
Result-Set 1 · Immer; Inhalt abhängig vom gewählten Modus (Datumsfenster, Schlüsselbereich oder Einzelartikel).
Artikelstammdaten, eine Zeile pro Artikel (pro Lieferzeitzeile), in Bereichs- und Datumsmodi sortiert nach ItemKey.
| Spalte | Typ | Beschreibung |
|---|---|---|
ItemKey
|
int |
Interner Artikelschlüssel. |
EANUPC
Kann leer sein |
string |
EAN/Barcode des Artikels. |
UPC
Kann leer sein |
string |
UPC-Code. |
ItemNrSuppl
Kann leer sein |
string |
Artikelnummer des Lieferanten. |
ItemNrInt
Kann leer sein |
string |
Interne Artikelnummer. |
ItemNrOld
Kann leer sein |
string |
Alte/frühere Artikelnummer. |
SupplNr
Kann leer sein |
string |
Lieferantennummer. |
DataSuppl
Kann leer sein |
string |
Spalte |
ItemName
Kann leer sein |
string |
Artikelbezeichnung. |
ItemDescription
Kann leer sein |
string |
Artikelbeschreibung. |
ConfigType
Kann leer sein |
string |
Code der Konfigurationsart, verknüpft mit |
Price
Kann leer sein |
decimal |
Verkaufspreis. |
SupplPrice
Kann leer sein |
decimal |
Einkaufspreis beim Lieferanten. |
Curr_Source
Kann leer sein |
string |
Quellwährung. |
MwStSatz
Kann leer sein |
decimal |
Mehrwertsteuersatz. |
AutoPrice
Kann leer sein |
string |
Spalte |
RelDate
Kann leer sein |
dateTime |
Erscheinungsdatum. |
DisDate
Kann leer sein |
dateTime |
Auslaufdatum. |
Weight
Kann leer sein |
decimal |
Gewicht. |
Heigth
Kann leer sein |
decimal |
Höhe (Spaltenname geschrieben als |
Width
Kann leer sein |
decimal |
Breite. |
Length
Kann leer sein |
decimal |
Länge. |
PicLinkLarge
Kann leer sein |
string |
Link zum großen Bild. |
PicLinkSmall
Kann leer sein |
string |
Link zum kleinen Bild. |
VPE
Kann leer sein |
int |
Verpackungseinheit. |
MinOrderQty
Kann leer sein |
int |
Mindestbestellmenge. |
CreateDate
Kann leer sein |
dateTime |
Anlagedatum des Artikels. |
UpdateDate
Kann leer sein |
dateTime |
Datum der letzten Änderung des Artikels. |
AvgDeliveryTime
Kann leer sein |
int |
Durchschnittliche Lieferzeit. |
Quantity
Kann leer sein |
int |
Spalte |
MinStockQty
Kann leer sein |
int |
Mindestbestand. |
BookAccountEu
Kann leer sein |
string |
Erlöskonto für EU-Verkäufe. |
BookAccountNonEu
Kann leer sein |
string |
Erlöskonto für Nicht-EU-Verkäufe. |
BookAccountEuCompanies
Kann leer sein |
string |
Erlöskonto für EU-Unternehmen. |
SerialNrRequired
Kann leer sein |
boolean |
Ob eine Seriennummer erforderlich ist. |
OrderUnit
Kann leer sein |
string |
Bestelleinheit. |
ExportQtyAvail
Kann leer sein |
int |
Exportierte verfügbare Menge. |
ExportReportedQtyAvail
Kann leer sein |
int |
Zuletzt gemeldete verfügbare Menge für den Export. |
ExportEstimatedDelivery
Kann leer sein |
string |
Voraussichtliche Lieferzeit aus |
Enabled
Kann leer sein |
boolean |
Ob der Artikel aktiv ist. |
BookAccountEU_Suppl
Kann leer sein |
string |
Aufwandskonto für EU-Lieferanten. |
BookAccountNonEU_Suppl
Kann leer sein |
string |
Aufwandskonto für Nicht-EU-Lieferanten. |
BookAccountEUCompanies_Suppl
Kann leer sein |
string |
Aufwandskonto für EU-Lieferantenunternehmen. |
CustomsTariffNumber
Kann leer sein |
string |
Zolltarifnummer. |
CustomsCountryOfOrigin
Kann leer sein |
string |
Ursprungsland für den Zoll. |
CustomsTariffText
Kann leer sein |
string |
Zolltariftext. |
CustomsPreviousProcess
Kann leer sein |
string |
Zoll-Vorverfahren. |
UpdateEmp
Kann leer sein |
string |
Mitarbeiter, der den Artikel zuletzt geändert hat. |
LastImportDate
Kann leer sein |
dateTime |
Datum des letzten Imports. |
IsBundle
Kann leer sein |
boolean |
Ob der Artikel ein Bundle ist. |
SupplName
Kann leer sein |
string |
Name des Lieferanten aus |
TontrText
|
string |
Text der Konfigurationsart aus |
Manufacturer
Kann leer sein |
string |
Hersteller (Spalte |
ImputedSupplierPrice
Kann leer sein |
decimal |
Kalkulatorischer Lieferantenpreis. |
Beispielantwort
<SqlRowSet1>
<row>
<ItemKey>12346</ItemKey>
<EANUPC>4006381333931</EANUPC>
<ItemNrSuppl>STB-100</ItemNrSuppl>
<ItemNrInt>A-100234</ItemNrInt>
<SupplNr>SUP01</SupplNr>
<ItemName>Ballpoint pen blue</ItemName>
<ConfigType>STD</ConfigType>
<Price>2.49</Price>
<SupplPrice>0.95</SupplPrice>
<MwStSatz>19</MwStSatz>
<Weight>0.02</Weight>
<CreateDate>2024-01-15T10:22:00</CreateDate>
<UpdateDate>2024-03-01T08:10:00</UpdateDate>
<Quantity>120</Quantity>
<Enabled>1</Enabled>
<IsBundle>0</IsBundle>
<SupplName>Office Supplies GmbH</SupplName>
<TontrText>Standard</TontrText>
<Manufacturer>Stabilo</Manufacturer>
</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:pixiReadItems>
<!-- <ItemKey>12345</ItemKey> -->
<!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-03-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-03-02T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-03-01T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-03-02T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadItems>
</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:pixiReadItems>
<!-- <ItemKey>12345</ItemKey> -->
<!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-03-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-03-02T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-03-01T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-03-02T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadItems>
</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 = [
// 'ItemKey' => '12345',
// 'CreateDateFrom' => '2024-01-01T00:00:00',
// 'CreateDateTo' => '2024-02-01T00:00:00',
// 'UpdateDateFrom' => '2024-03-01T00:00:00',
// 'UpdateDateTo' => '2024-03-02T00:00:00',
// 'CreateAndUpdateDateFrom' => '2024-03-01T00:00:00',
// 'CreateAndUpdateDateTo' => '2024-03-02T00:00:00',
// 'RowCount' => '500',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReadItems', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReadItems