pixiGetDelivery
Liefert Kopfdaten von Lieferantenlieferungen (Wareneingängen), gefiltert nach Lieferant, Lieferungsnummer, Artikel, Lager, Status, Datum und Picco-Sperre, mit schlüsselbasiertem Paging.
Liefert Datensätze aus der Kopftabelle der Lieferantenlieferungen (SDelHeader) zusammen mit dem Lieferantennamen aus Suppliers (Left Join über SDelHSupplNr).
Parameterbehandlung
- Leere Zeichenketten gelten bei allen Textfiltern als
NULL. BeiSDelHKeyundDeliveryNumberbedeutet der Wert `0** "kein Filter". RowCountist standardmäßig 100. AuchNULLund0bedeuten 100.Offsetist kein Zeilen-Offset, sondern ein Schlüssel-Cursor: Es werden nur Lieferungen mitSDelHKey>Offsetgeliefert.0oderNULLbedeutet kein Cursor.
Filter (alle per UND verknüpft)
SDelHKey,SupplNr,DeliveryNumber(SDelHNr),LocID(SDelHLocationID) undExternalReceiptNr: exakte Übereinstimmung.- Status: Standardmäßig werden abgeschlossene Lieferungen (
SDelHStatus=CLS) und berechnete Lieferungen (SDelHStatus=INV) ausgeschlossen. MitClosed= 1 bzw.Invoice= 1 werden sie einbezogen. - Anlagedatum:
SDelHCreateDatezwischenCreateDateFromundCreateDateTo. HatCreateDateTodie Uhrzeit 00:00:00, wird der Wert auf das Tagesende gesetzt. - Änderungsdatum:
SDelHUpdateDatezwischenUpdateDateFromundUpdateDateTo, mit derselben Tagesende-Regel. - Artikelfilter: Ist mindestens einer der Parameter
ItemNrInt,ItemNrSuppl,EANUPCoderItemNamegesetzt, werden nur Lieferungen geliefert, die mindestens eine Lieferposition (SDelDetail) zu einem passenden Artikel enthalten. Alle angegebenen Artikelwerte müssen exakt auf denselben Artikel passen. - Picco-Benutzer: Ist
PiccoUsergesetzt, werden Lieferungen ausgeschlossen, die per Picco (LockedByPicco=Y) für einen anderen Picco-Benutzer gesperrt sind. Nicht gesperrte Lieferungen und Lieferungen, die für den angegebenen Benutzer gesperrt sind, werden geliefert.
Sortierung und Paging
Das Ergebnis ist aufsteigend nach SDelHKey sortiert. Es werden höchstens RowCount Zeilen geliefert. Für die nächste Seite wird der zuletzt erhaltene SDelHKey als Offset übergeben.
Hinweise
- Alle Tabellen werden
WITH (NOLOCK)gelesen. Das Ergebnis kann nicht festgeschriebene Daten enthalten. - Datumsbereiche benötigen beide Grenzen. Ist nur
CreateDateFromoder nurCreateDateTogesetzt, vergleichtBETWEENmitNULL, und es werden keine Zeilen geliefert. Dasselbe gilt für das Paar zum Änderungsdatum. - Die Tagesende-Anpassung nutzt
fPixi_GetDateEndOfDay. Deren Definition liegt nicht vor, daher ist die genaue Uhrzeit des Tagesendes nicht bekannt.CreateDateFrom/UpdateDateFromwerden unverändert verwendet und nicht auf den Tagesbeginn gesetzt. - Lieferungen, die per Picco gesperrt sind und keinen Wert in
PiccoUserhaben, werden bei Übergabe vonPiccoUserebenfalls ausgeschlossen. - Ein negativer Wert für
RowCountführt zu einem SQL-Fehler beiTOP. - Der Artikelfilter prüft auf exakte Gleichheit;
ItemNameunterstützt keine Platzhalter.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
SDelHKey
|
int | NULL |
Interner Schlüssel einer Lieferantenlieferung. Beispiel: |
SupplNr
|
varchar(200) string |
NULL |
Lieferantennummer ( Beispiel: |
DeliveryNumber
|
int | NULL |
Lieferungsnummer ( Beispiel: |
ItemNrInt
|
varchar(200) string |
NULL |
Interne Artikelnummer. Liefert nur Lieferungen mit einer Position zu diesem Artikel. Beispiel: |
ItemNrSuppl
|
varchar(200) string |
NULL |
Lieferantenartikelnummer. Liefert nur Lieferungen mit einer Position zu einem passenden Artikel. Beispiel: |
EANUPC
|
varchar(200) string |
NULL |
EAN/UPC des Artikels. Liefert nur Lieferungen mit einer Position zu einem passenden Artikel. Beispiel: |
ItemName
|
varchar(200) string |
NULL |
Artikelname, exakte Übereinstimmung. Liefert nur Lieferungen mit einer Position zu einem passenden Artikel. Beispiel: |
RowCount
|
int | NULL |
Maximale Anzahl Zeilen. NULL oder Beispiel: |
Offset
|
int | NULL |
Schlüssel-Cursor für das Paging: Es werden nur Lieferungen mit Beispiel: |
Closed
|
bit boolean |
0 |
Abgeschlossene Lieferungen (Status Erlaubte Werte
Beispiel: |
Invoice
|
bit boolean |
0 |
Berechnete Lieferungen (Status Erlaubte Werte
Beispiel: |
LocID
|
varchar(3) string |
NULL |
Lager-ID ( Beispiel: |
PiccoUser
|
varchar(50) string |
NULL |
Picco-Benutzer. Ist er gesetzt, werden Lieferungen ausgeschlossen, die per Picco für einen anderen Benutzer gesperrt sind. Beispiel: |
CreateDateFrom
|
datetime dateTime |
NULL |
Beginn des Anlagedatum-Bereichs. Muss zusammen mit Beispiel: |
CreateDateTo
|
datetime dateTime |
NULL |
Ende des Anlagedatum-Bereichs. Bei Uhrzeit 00:00:00 wird der Wert auf das Tagesende gesetzt. Beispiel: |
UpdateDateFrom
|
datetime dateTime |
NULL |
Beginn des Änderungsdatum-Bereichs. Muss zusammen mit Beispiel: |
UpdateDateTo
|
datetime dateTime |
NULL |
Ende des Änderungsdatum-Bereichs. Bei Uhrzeit 00:00:00 wird der Wert auf das Tagesende gesetzt. Beispiel: |
ExternalReceiptNr
|
varchar(50) string |
NULL |
Externe Belegnummer, exakte Übereinstimmung. Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Kopfdaten der Lieferantenlieferungen, die den Filtern entsprechen, aufsteigend nach SDelHKey sortiert, höchstens RowCount Zeilen.
| Spalte | Typ | Beschreibung |
|---|---|---|
SDelHKey
|
int |
Interner Schlüssel der Lieferantenlieferung. |
SDelHSupplNr
Kann leer sein |
string |
Lieferantennummer. |
SDelHDate
Kann leer sein |
dateTime |
Lieferdatum. |
SDelHLocationID
Kann leer sein |
string |
Lager-ID der Lieferung. |
SDelHNr
Kann leer sein |
int |
Lieferungsnummer. |
SDelHNote
Kann leer sein |
string |
Bemerkung zur Lieferung. |
SDelHStatus
Kann leer sein |
string |
Status der Lieferung, z. B. |
SDelHCreateDate
Kann leer sein |
datetime dateTime |
Anlagedatum. |
SDelHCreateEmp
Kann leer sein |
string |
Mitarbeiter, der die Lieferung angelegt hat. |
SDelHUpdateDate
Kann leer sein |
datetime dateTime |
Datum der letzten Änderung. |
SDelHUpdateEmp
Kann leer sein |
string |
Mitarbeiter, der die Lieferung zuletzt geändert hat. |
SDelHextInvoiceNr
Kann leer sein |
string |
Externe Rechnungsnummer (des Lieferanten). |
SDelHextOrderNr
Kann leer sein |
string |
Externe Bestellnummer. |
SDelHfinalDicsount
Kann leer sein |
decimal |
Schlussrabatt der Lieferung (Spaltenname wie in der Datenbank geschrieben). |
PiccoUser
Kann leer sein |
string |
Picco-Benutzer, der die Sperre hält. |
LockedByPicco
Kann leer sein |
string |
|
SupplName
Kann leer sein |
string |
Lieferantenname aus |
ExternalReceiptNr
Kann leer sein |
string |
Externe Belegnummer. |
Beispielantwort
<SqlRowSet1>
<row>
<SDelHKey>15234</SDelHKey>
<SDelHSupplNr>L1001</SDelHSupplNr>
<SDelHDate>2024-03-12T00:00:00</SDelHDate>
<SDelHLocationID>001</SDelHLocationID>
<SDelHNr>4711</SDelHNr>
<SDelHNote>Teillieferung</SDelHNote>
<SDelHStatus>OPN</SDelHStatus>
<SDelHCreateDate>2024-03-12T08:15:22</SDelHCreateDate>
<SDelHCreateEmp>MM</SDelHCreateEmp>
<SDelHUpdateDate>2024-03-12T09:40:03</SDelHUpdateDate>
<SDelHUpdateEmp>MM</SDelHUpdateEmp>
<SDelHextInvoiceNr>RE-88231</SDelHextInvoiceNr>
<SDelHextOrderNr>B-2024-118</SDelHextOrderNr>
<SDelHfinalDicsount>0</SDelHfinalDicsount>
<PiccoUser>lager01</PiccoUser>
<LockedByPicco>N</LockedByPicco>
<SupplName>Muster Bürobedarf GmbH</SupplName>
<ExternalReceiptNr>WE-2024-00315</ExternalReceiptNr>
</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:pixiGetDelivery>
<!-- <SDelHKey>15234</SDelHKey> -->
<!-- <SupplNr>L1001</SupplNr> -->
<!-- <DeliveryNumber>4711</DeliveryNumber> -->
<!-- <ItemNrInt>ART-10045</ItemNrInt> -->
<!-- <ItemNrSuppl>SUP-998877</ItemNrSuppl> -->
<!-- <EANUPC>4006381333931</EANUPC> -->
<!-- <ItemName>Kugelschreiber blau</ItemName> -->
<!-- <RowCount>100</RowCount> -->
<!-- <Offset>15200</Offset> -->
<!-- <Closed>0</Closed> -->
<!-- <Invoice>0</Invoice> -->
<!-- <LocID>001</LocID> -->
<!-- <PiccoUser>lager01</PiccoUser> -->
<!-- <CreateDateFrom>2024-03-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-03-31T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-03-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-03-31T00:00:00</UpdateDateTo> -->
<!-- <ExternalReceiptNr>WE-2024-00315</ExternalReceiptNr> -->
</ns1:pixiGetDelivery>
</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:pixiGetDelivery>
<!-- <SDelHKey>15234</SDelHKey> -->
<!-- <SupplNr>L1001</SupplNr> -->
<!-- <DeliveryNumber>4711</DeliveryNumber> -->
<!-- <ItemNrInt>ART-10045</ItemNrInt> -->
<!-- <ItemNrSuppl>SUP-998877</ItemNrSuppl> -->
<!-- <EANUPC>4006381333931</EANUPC> -->
<!-- <ItemName>Kugelschreiber blau</ItemName> -->
<!-- <RowCount>100</RowCount> -->
<!-- <Offset>15200</Offset> -->
<!-- <Closed>0</Closed> -->
<!-- <Invoice>0</Invoice> -->
<!-- <LocID>001</LocID> -->
<!-- <PiccoUser>lager01</PiccoUser> -->
<!-- <CreateDateFrom>2024-03-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-03-31T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-03-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-03-31T00:00:00</UpdateDateTo> -->
<!-- <ExternalReceiptNr>WE-2024-00315</ExternalReceiptNr> -->
</ns1:pixiGetDelivery>
</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 = [
// 'SDelHKey' => '15234',
// 'SupplNr' => 'L1001',
// 'DeliveryNumber' => '4711',
// 'ItemNrInt' => 'ART-10045',
// 'ItemNrSuppl' => 'SUP-998877',
// 'EANUPC' => '4006381333931',
// 'ItemName' => 'Kugelschreiber blau',
// 'RowCount' => '100',
// 'Offset' => '15200',
// 'Closed' => '0',
// 'Invoice' => '0',
// 'LocID' => '001',
// 'PiccoUser' => 'lager01',
// 'CreateDateFrom' => '2024-03-01T00:00:00',
// 'CreateDateTo' => '2024-03-31T00:00:00',
// 'UpdateDateFrom' => '2024-03-01T00:00:00',
// 'UpdateDateTo' => '2024-03-31T00:00:00',
// 'ExternalReceiptNr' => 'WE-2024-00315',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetDelivery', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetDelivery