pixiReadReturnLines
Liefert Retourenpositionen seitenweise nach Id sortiert, optional gefiltert nach Anlage- und/oder Änderungsdatum.
Liest Zeilen aus der Tabelle ReturnLine (Retourenpositionen) und liefert sie aufsteigend nach Id sortiert. Der Aufruf ist für Keyset-Paging und Delta-Abgleiche ausgelegt.
Paging
Idist eine exklusive Untergrenze: Es werden nur Positionen mitId > @Idgeliefert. WirdIdweggelassen oder ist NULL, wird0verwendet, d. h. es wird ab der ersten Position gelesen.- Es werden höchstens
RowCountZeilen geliefert (Standard1000; NULL wird ebenfalls als1000behandelt). - Für die nächste Seite wird die höchste
Idder vorherigen Seite alsIdübergeben.
Datumsfilter (es wird nur eine Gruppe angewendet, geprüft in dieser Reihenfolge):
CreateAndUpdateDateFrom/CreateAndUpdateDateTo: Ist mindestens einer gesetzt, passt eine Position, wenn ihr Anlage- oder Änderungsdatum>=dem Von-Wert ist und ihr Anlage- oder Änderungsdatum<dem Bis-Wert ist.- Andernfalls
CreateDateFrom/CreateDateTo: Filter aufRecordCreatedOn(Von inklusiv, Bis exklusiv). - Andernfalls
UpdateDateFrom/UpdateDateTo: Filter aufRecordModifiedOn(Von inklusiv, Bis exklusiv). - Ist kein Datumsparameter gesetzt, werden alle Positionen mit
Id > @Idgeliefert (begrenzt durchRowCount).
Jede Grenze einer Gruppe kann weggelassen werden, um einen offenen Bereich zu erhalten. Parameter niedrigerer Gruppen werden ignoriert, wenn eine höher priorisierte Gruppe verwendet wird.
Hinweise
- Die Tabelle wird mit
NOLOCKgelesen; es können nicht festgeschriebene oder inkonsistente Daten geliefert werden. - Mit
Idkann keine einzelne Position abgerufen werden: Der Code enthält zwar einen Zweig fürId = @Id, dieser ist aber nicht erreichbar, daIdimmer gesetzt ist (NULL wird zu0) undRowCountnie NULL ist. Eine übergebeneIdliefert stets Positionen mit größererId. - Der kombinierte Filter (
CreateAndUpdateDate…) prüft beide Grenzen mit getrennten ODER-Bedingungen. Sind beide Grenzen gesetzt, kann auch eine Position passen, die vor dem Zeitraum angelegt und nach dem Zeitraum geändert wurde (z. B. angelegt vorTound geändert nachFrom). - Ein negativer
RowCountführt zu einem SQL-Fehler beiTOP;0liefert ein leeres Ergebnis. - Die Datentypen der Spalten sind im Code nicht ersichtlich (Tabellendefinition nicht beigefügt).
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
Id
|
int | NULL |
Exklusive Untergrenze für die Id der Retourenposition (Keyset-Paging). Es werden nur Positionen mit größerer Id geliefert. NULL wird als 0 behandelt. Beispiel: |
CreateDateFrom
|
datetime dateTime |
NULL |
Liefert Positionen, die ab diesem Zeitpunkt angelegt wurden (inklusiv). Wird nur verwendet, wenn kein CreateAndUpdateDate-Parameter gesetzt ist. Beispiel: |
CreateDateTo
|
datetime dateTime |
NULL |
Liefert Positionen, die vor diesem Zeitpunkt angelegt wurden (exklusiv). Wird nur verwendet, wenn kein CreateAndUpdateDate-Parameter gesetzt ist. Beispiel: |
UpdateDateFrom
|
datetime dateTime |
NULL |
Liefert Positionen, die ab diesem Zeitpunkt geändert wurden (inklusiv). Wird nur verwendet, wenn kein CreateAndUpdateDate- oder CreateDate-Parameter gesetzt ist. Beispiel: |
UpdateDateTo
|
datetime dateTime |
NULL |
Liefert Positionen, die vor diesem Zeitpunkt geändert wurden (exklusiv). Wird nur verwendet, wenn kein CreateAndUpdateDate- oder CreateDate-Parameter gesetzt ist. Beispiel: |
CreateAndUpdateDateFrom
|
datetime dateTime |
NULL |
Liefert Positionen, deren Anlage- oder Änderungsdatum ab diesem Zeitpunkt liegt. Hat Vorrang vor allen anderen Datumsparametern. Beispiel: |
CreateAndUpdateDateTo
|
datetime dateTime |
NULL |
Liefert Positionen, deren Anlage- oder Änderungsdatum vor diesem Zeitpunkt liegt (exklusiv). Hat Vorrang vor allen anderen Datumsparametern. Beispiel: |
RowCount
|
int | 1000 |
Maximale Anzahl der gelieferten Zeilen pro Aufruf (Seitengröße). NULL wird als 1000 behandelt. Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Retourenpositionen, die den Filtern entsprechen, aufsteigend nach Id sortiert und auf RowCount Zeilen begrenzt.
| Spalte | Typ | Beschreibung |
|---|---|---|
Id
|
int |
Eindeutige Id der Retourenposition; der höchste Wert dient als |
ReasonId
Kann leer sein |
int |
Id des Retourengrunds. |
InvoiceLineId
Kann leer sein |
int |
Id der Rechnungsposition, auf die sich die Retoure bezieht (Spalte |
IsSpecialCase
Kann leer sein |
boolean |
Kennzeichen, dass die Retourenposition ein Sonderfall ist. |
CustomerComment
Kann leer sein |
string |
Kommentar des Kunden. |
UserComment
Kann leer sein |
string |
Interner Kommentar des Benutzers. |
RecordModifiedOn
Kann leer sein |
dateTime |
Zeitpunkt der letzten Änderung. |
ReturnId
Kann leer sein |
int |
Id der Retoure (Kopf), zu der die Position gehört. |
InvBinItemLogId
Kann leer sein |
int |
Verweis auf den Lagerbuchungs-Logeintrag (Lagerplatz-Artikel) der Retourenposition. |
InvoiceItemQty
Kann leer sein |
decimal |
Menge auf der Rechnungsposition. |
ReturnItemQty
Kann leer sein |
decimal |
Retournierte Menge. |
ItemPriceGross
Kann leer sein |
decimal |
Bruttopreis des Artikels. |
ItemPriceNet
Kann leer sein |
decimal |
Nettopreis des Artikels. |
RecordCreatedOn
Kann leer sein |
dateTime |
Zeitpunkt der Anlage der Position. |
RecordCreatedByUserId
Kann leer sein |
int |
Id des Benutzers, der die Position angelegt hat. |
RecordModifiedByUserId
Kann leer sein |
int |
Id des Benutzers, der die Position zuletzt geändert hat. |
ItemQualityClassificationId
Kann leer sein |
int |
Id der Qualitätseinstufung des retournierten Artikels. |
Beispielantwort
<SqlRowSet1>
<row>
<Id>1201</Id>
<ReasonId>3</ReasonId>
<InvoiceLineId>458812</InvoiceLineId>
<IsSpecialCase>0</IsSpecialCase>
<CustomerComment>Size too small</CustomerComment>
<UserComment>Checked, item ok</UserComment>
<RecordModifiedOn>2024-01-15T10:24:11</RecordModifiedOn>
<ReturnId>845</ReturnId>
<InvBinItemLogId>99231</InvBinItemLogId>
<InvoiceItemQty>2</InvoiceItemQty>
<ReturnItemQty>1</ReturnItemQty>
<ItemPriceGross>29.99</ItemPriceGross>
<ItemPriceNet>25.20</ItemPriceNet>
<RecordCreatedOn>2024-01-14T16:02:45</RecordCreatedOn>
<RecordCreatedByUserId>12</RecordCreatedByUserId>
<RecordModifiedByUserId>15</RecordModifiedByUserId>
<ItemQualityClassificationId>1</ItemQualityClassificationId>
</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:pixiReadReturnLines>
<!-- <Id>0</Id> -->
<!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-01-15T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-01-16T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-01-15T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-01-16T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadReturnLines>
</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:pixiReadReturnLines>
<!-- <Id>0</Id> -->
<!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-01-15T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-01-16T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-01-15T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-01-16T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadReturnLines>
</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 = [
// 'Id' => '0',
// 'CreateDateFrom' => '2024-01-01T00:00:00',
// 'CreateDateTo' => '2024-02-01T00:00:00',
// 'UpdateDateFrom' => '2024-01-15T00:00:00',
// 'UpdateDateTo' => '2024-01-16T00:00:00',
// 'CreateAndUpdateDateFrom' => '2024-01-15T00:00:00',
// 'CreateAndUpdateDateTo' => '2024-01-16T00:00:00',
// 'RowCount' => '500',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReadReturnLines', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReadReturnLines