pixiGetItemBundleDefinition
Liefert die Bestandteile und Mengen eines Bundle-Artikels, identifiziert über Artikelschlüssel, interne Artikelnummer, EAN/UPC oder Lieferantenartikelnummer.
Ermittelt die in BundleItems hinterlegte Bundle-Definition eines Bundle-Artikels und liefert je Bestandteil eine Zeile. Die Stammdaten der Bestandteile stammen aus Items.
Es wird nur ein Identifikator verwendet. Die Prüfung erfolgt in dieser Rangfolge:
ItemKey, wenn größer als 0.ItemNrInt, wenn nicht leer. Verwendet wird der erste Artikel mit dieser internen Artikelnummer (TOP 1ohne Sortierung).EANUPC, wenn nicht leer. Verwendet wird der erste Artikel mit dieser EAN/UPC (TOP 1ohne Sortierung).ItemNrSuppl, wenn nicht leer. Verwendet werden alle Artikel mit dieser Lieferantenartikelnummer. Die Bestandteile aller passenden Bundles erscheinen gemeinsam in einem Ergebnis.
Sobald ein Parameter mit höherer Priorität gesetzt ist, werden die übrigen ignoriert.
In diesen Fällen liefert der Aufruf keine Zeilen:
- kein Identifikator angegeben
- der Identifikator passt zu keinem Artikel
- der Artikel ist kein Bundle
Die Ergebnismenge hat in allen Fällen dieselben Spalten. Eine Sortierung findet nicht statt.
Hinweise
- Alle Lesezugriffe verwenden
NOLOCK, daher können nicht festgeschriebene Daten geliefert werden. - Teilen sich mehrere Artikel dieselbe
ItemNrIntoderEANUPC, ist nicht festgelegt, welcher Artikel verwendet wird. - Bei Suche über
ItemNrSuppllassen sich die Bestandteile verschiedener Bundles nicht unterscheiden, da das Ergebnis keine Spalte für den übergeordneten Bundle-Artikel enthält. - Die Artikeldaten der Bestandteile werden per
LEFT JOINermittelt. Existiert ein Bestandteil nicht mehr inItems, bleiben dessen Artikelspalten leer (NULL), währendBundleItemKeyundQtygefüllt sind.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ItemKey
|
int | 0 |
Interner Schlüssel des Bundle-Artikels. Hat die höchste Priorität, wenn größer als 0. Beispiel: |
ItemNrInt
|
varchar(50) string |
– |
Interne Artikelnummer des Bundle-Artikels. Wird nur verwendet, wenn Beispiel: |
EANUPC
|
varchar(13) string |
– |
EAN/UPC des Bundle-Artikels. Wird nur verwendet, wenn Beispiel: |
ItemNrSuppl
|
varchar(50) string |
– |
Lieferantenartikelnummer des Bundle-Artikels. Wird nur verwendet, wenn kein anderer Identifikator gesetzt ist. Alle Artikel mit dieser Nummer werden berücksichtigt. Beispiel: |
Antwort
Result-Set 1 · Immer; leer, wenn kein Identifikator angegeben ist, kein Artikel passt oder der Artikel kein Bundle ist.
Eine Zeile je Bestandteil des Bundles.
| Spalte | Typ | Beschreibung |
|---|---|---|
BundleItemKey
|
int |
Artikelschlüssel des Bestandteils ( |
Qty
Kann leer sein |
decimal |
Menge des Bestandteils in einem Bundle. |
ItemNrInt
Kann leer sein |
varchar(50) string |
Interne Artikelnummer des Bestandteils. |
ItemNrSuppl
Kann leer sein |
varchar(50) string |
Lieferantenartikelnummer des Bestandteils. |
EANUPC
Kann leer sein |
varchar(13) string |
EAN/UPC des Bestandteils. |
ItemName
Kann leer sein |
string |
Bezeichnung des Bestandteils. |
Price
Kann leer sein |
decimal |
Preis des Bestandteils aus den Artikelstammdaten. |
Beispielantwort
<SqlRowSet1>
<row>
<BundleItemKey>1201</BundleItemKey>
<Qty>2</Qty>
<ItemNrInt>ART-1201</ItemNrInt>
<ItemNrSuppl>SUP-1201</ItemNrSuppl>
<EANUPC>4006381333948</EANUPC>
<ItemName>Kugelschreiber blau</ItemName>
<Price>1.99</Price>
</row>
<row>
<BundleItemKey>1305</BundleItemKey>
<Qty>1</Qty>
<ItemNrInt>ART-1305</ItemNrInt>
<ItemNrSuppl>SUP-1305</ItemNrSuppl>
<EANUPC>4006381333955</EANUPC>
<ItemName>Notizblock A5</ItemName>
<Price>3.49</Price>
</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:pixiGetItemBundleDefinition>
<!-- <ItemKey>4711</ItemKey> -->
<!-- <ItemNrInt>BUNDLE-1001</ItemNrInt> -->
<!-- <EANUPC>4006381333931</EANUPC> -->
<!-- <ItemNrSuppl>SUP-88231</ItemNrSuppl> -->
</ns1:pixiGetItemBundleDefinition>
</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:pixiGetItemBundleDefinition>
<!-- <ItemKey>4711</ItemKey> -->
<!-- <ItemNrInt>BUNDLE-1001</ItemNrInt> -->
<!-- <EANUPC>4006381333931</EANUPC> -->
<!-- <ItemNrSuppl>SUP-88231</ItemNrSuppl> -->
</ns1:pixiGetItemBundleDefinition>
</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' => '4711',
// 'ItemNrInt' => 'BUNDLE-1001',
// 'EANUPC' => '4006381333931',
// 'ItemNrSuppl' => 'SUP-88231',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetItemBundleDefinition', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetItemBundleDefinition