pixiGetItemSuppliers
Liefert die Lieferantenzuordnungen von Artikeln (Lieferantenartikelnummer, EAN, Einkaufspreis, Mindestbestellmenge, Lieferzeiten), gefiltert nach Artikel oder Lieferant.
Liest die Artikel-Lieferanten-Zuordnungen aus AddItems und verknüpft sie mit den Stammdaten aus Suppliers. Es werden nur Zuordnungen geliefert, deren Lieferant in Suppliers existiert.
Normalisierung der Parameter
ItemKey=0und leere Zeichenketten beiEAN,ItemNrSuppl,ItemNrIntundSupplNrgelten als nicht gesetzt.
Prüfungen
- Mindestens einer der Parameter
ItemKey,EAN,ItemNrSuppl,ItemNrIntoderSupplNrmuss gesetzt sein.OnlyActiveSuppliersallein genügt nicht. Andernfalls wird eine Fehlerzeile geliefert. - Ist
SupplNrgesetzt, muss der Lieferant existieren. Andernfalls wird eine Fehlerzeile geliefert.
Filterlogik
- Die Artikelfilter
ItemKey,EAN,ItemNrSupplundItemNrIntwerden mit ODER verknüpft. Eine Zeile wird geliefert, wenn einer der angegebenen Werte passt. Jeder Filter wird mit seiner Spalte inAddItemsverglichen:ItemRef,EANUPC,ItemNrSupplundItemNrInt. SupplNrwird mit UND verknüpft. Es schränkt das Ergebnis auf diesen einen Lieferanten ein.- Ist nur
SupplNrangegeben, werden alle diesem Lieferanten zugeordneten Artikel geliefert. - Bei
OnlyActiveSuppliers=1werden nur Zeilen geliefert, bei denen der Lieferant nicht deaktiviert ist und die Artikel-Lieferanten-Zuordnung aktiv ist (AddItems.Active=1).
Eine Sortierreihenfolge ist nicht festgelegt.
Hinweise
- Alle Lesezugriffe erfolgen mit
NOLOCK, daher können nicht festgeschriebene Daten geliefert werden. EANwird mit der lieferantenspezifischen EANAddItems.EANUPCverglichen, nicht mit einem anderen EAN-Feld des Artikels.- Fehler werden nicht als SQL-Fehler ausgelöst. Sie werden als normale Zeile mit den Spalten
ErrorundErrorMsggeliefert. Vor dem Auswerten der Datenspalten sollte auf die SpalteErrorgeprüft werden. - Werden mehrere Artikelfilter angegeben, ist das Ergebnis die Vereinigung aller Treffer, nicht deren Schnittmenge.
- Ein Aufruf nur mit
SupplNrkann bei Lieferanten mit vielen Artikeln eine große Ergebnismenge liefern. Paging ist nicht vorgesehen.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
ItemKey
|
int | NULL |
Interner Artikelschlüssel ( Beispiel: |
EAN
|
varchar(13) string |
NULL |
EAN/UPC der Lieferantenzuordnung ( Beispiel: |
ItemNrSuppl
|
varchar(50) string |
NULL |
Artikelnummer des Lieferanten ( Beispiel: |
ItemNrInt
|
varchar(50) string |
NULL |
Interne Artikelnummer ( Beispiel: |
OnlyActiveSuppliers
|
bit boolean |
0 |
Bei Erlaubte Werte
Beispiel: |
SupplNr
|
varchar(4) string |
NULL |
Lieferantennummer. Schränkt das Ergebnis auf diesen Lieferanten ein und muss in Beispiel: |
Antwort
Result-Set 1 · Wenn kein Filterparameter gesetzt ist oder SupplNr nicht existiert
Fehlerzeile; die Prozedur endet danach.
| Spalte | Typ | Beschreibung |
|---|---|---|
Error
|
varchar(5) string |
Immer |
ErrorMsg
|
varchar string |
Fehlertext. |
Result-Set 2 · Nach erfolgreicher Prüfung (kann leer sein)
Eine Zeile je passender Artikel-Lieferanten-Zuordnung.
| Spalte | Typ | Beschreibung |
|---|---|---|
ItemKey
Kann leer sein |
int |
Interner Artikelschlüssel ( |
EANUPC
Kann leer sein |
string |
EAN/UPC der Lieferantenzuordnung. |
ItemNrSuppl
Kann leer sein |
string |
Artikelnummer des Lieferanten. |
ItemNrInt
Kann leer sein |
string |
Interne Artikelnummer. |
SupplNr
|
string |
Lieferantennummer. |
SupplPrice
Kann leer sein |
decimal |
Einkaufspreis bei diesem Lieferanten. |
SupplierDisabled
Kann leer sein |
boolean |
Gibt an, ob der Lieferant deaktiviert ist ( |
MinOrderQty
Kann leer sein |
decimal |
Mindestbestellmenge bei diesem Lieferanten. |
OnlyPU
Kann leer sein |
boolean |
Nur in Verpackungseinheiten bestellen ( |
ItemDeliveryTime
Kann leer sein |
int |
Artikelspezifische Lieferzeit des Lieferanten ( |
DeliveryTime
Kann leer sein |
int |
Standard-Liefertage des Lieferanten ( |
Beispielantwort
<SqlRowSet1>
<row>
<ItemKey>12345</ItemKey>
<EANUPC>4006381333931</EANUPC>
<ItemNrSuppl>LF-98765</ItemNrSuppl>
<ItemNrInt>ART-1001</ItemNrInt>
<SupplNr>L001</SupplNr>
<SupplPrice>4.9500</SupplPrice>
<SupplierDisabled>false</SupplierDisabled>
<MinOrderQty>10</MinOrderQty>
<OnlyPU>false</OnlyPU>
<ItemDeliveryTime>5</ItemDeliveryTime>
<DeliveryTime>3</DeliveryTime>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| Error | Please specify at least one parameter | Keiner der Parameter `ItemKey`, `EAN`, `ItemNrSuppl`, `ItemNrInt`, `SupplNr` ist gesetzt; `0` und leere Zeichenketten gelten als nicht gesetzt. Mindestens einen dieser Parameter angeben. |
| Error | Supplier not found | Die angegebene `SupplNr` existiert nicht in `Suppliers`. Eine gültige Lieferantennummer verwenden. |
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:pixiGetItemSuppliers>
<!-- <ItemKey>12345</ItemKey> -->
<!-- <EAN>4006381333931</EAN> -->
<!-- <ItemNrSuppl>LF-98765</ItemNrSuppl> -->
<!-- <ItemNrInt>ART-1001</ItemNrInt> -->
<!-- <OnlyActiveSuppliers>1</OnlyActiveSuppliers> -->
<!-- <SupplNr>L001</SupplNr> -->
</ns1:pixiGetItemSuppliers>
</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:pixiGetItemSuppliers>
<!-- <ItemKey>12345</ItemKey> -->
<!-- <EAN>4006381333931</EAN> -->
<!-- <ItemNrSuppl>LF-98765</ItemNrSuppl> -->
<!-- <ItemNrInt>ART-1001</ItemNrInt> -->
<!-- <OnlyActiveSuppliers>1</OnlyActiveSuppliers> -->
<!-- <SupplNr>L001</SupplNr> -->
</ns1:pixiGetItemSuppliers>
</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',
// 'EAN' => '4006381333931',
// 'ItemNrSuppl' => 'LF-98765',
// 'ItemNrInt' => 'ART-1001',
// 'OnlyActiveSuppliers' => '1',
// 'SupplNr' => 'L001',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetItemSuppliers', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetItemSuppliers