pixiReadInvlines
Liefert Rechnungspositionen, entweder eine einzelne Position per Schlüssel oder eine nach Anlage- und/oder Änderungsdatum gefilterte Liste mit schlüsselbasiertem Paging.
Liest Rechnungspositionen aus Invlines. Jede Position wird mit ihrer Rechnung (Invoices) und der Rechnungswährung (pixi.Currency) verknüpft. Es wird nur ein Filtermodus verwendet. Die Prozedur prüft die Modi in dieser Reihenfolge:
- Anlage- oder Änderungsdatum:
CreateAndUpdateDateFromoderCreateAndUpdateDateToist gesetzt. Eine Position passt, wennCreateDateoderUpdateDate>=dem Von-Wert ist undCreateDateoderUpdateDate<dem Bis-Wert ist. - Anlagedatum:
CreateDateFromoderCreateDateToist gesetzt. Gefiltert wird aufCreateDate(Von inklusive, Bis exklusive). - Änderungsdatum:
UpdateDateFromoderUpdateDateToist gesetzt. Gefiltert wird aufUpdateDate(Von inklusive, Bis exklusive). - Schlüsselbereich:
RowCountwird übergeben (beliebiger Wert ungleich NULL). Liefert alle Positionen mitInvLineKeygrößer alsInvlineKey. - Einzelner Schlüssel: Keiner der obigen Fälle trifft zu. Liefert die Position, deren
InvLineKeygleichInvlineKeyist.
In den Modi 1–4 werden nur Positionen mit InvLineKey > InvlineKey geliefert, aufsteigend sortiert nach InvLineKey. InvlineKey ist standardmäßig 0, daher kommen standardmäßig alle Schlüssel in Frage.
Ein RowCount ungleich 0 begrenzt die Anzahl der Zeilen (SET ROWCOUNT). Damit ist Paging möglich: Der zuletzt erhaltene InvLineKey wird im nächsten Aufruf als InvlineKey übergeben.
Hinweise
- Alle Lesezugriffe verwenden
NOLOCK. Es können nicht festgeschriebene Daten geliefert werden. - Positionen werden nur geliefert, wenn ihre Rechnung existiert und die
CurrencyIdder Rechnung auf eine Währung verweist (Inner Joins). - Ein Aufruf ohne Parameter liefert keine Zeilen:
InvlineKeywird zu0, und der Einzelschlüssel-Modus sucht nach Schlüssel0. - Die Übergabe von
RowCount=0schaltet in den Schlüsselbereich-Modus ohne Zeilenbegrenzung. Damit werden alle Rechnungspositionen oberhalb vonInvlineKeygeliefert. - Die Datumsfilter-Modi schließen sich gegenseitig aus. Ist zum Beispiel
CreateAndUpdateDate*gesetzt, werden die ParameterCreateDate*undUpdateDate*ignoriert. - Im kombinierten Datumsmodus werden Von und Bis unabhängig voneinander gegen eines der beiden Datumsfelder geprüft. Eine Position kann daher auch passen, wenn keines der beiden Datumsfelder im Bereich liegt.
ItemPrice_OrderCurrundShipCost_OrderCurrsind Kopien vonItemPriceundShipCost. Kommentare im Code markieren sie zur Entfernung, neue Integrationen sollten sich daher nicht auf sie stützen.- Der letzte Ausweichzweig im Code (leeres Ergebnis) wird nie erreicht, da
InvlineKeyan dieser Stelle nie NULL ist.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
InvlineKey
|
int | NULL |
Schlüssel der Rechnungsposition. NULL wird als Beispiel: |
CreateDateFrom
|
datetime dateTime |
NULL |
Untergrenze (inklusive) für Beispiel: |
CreateDateTo
|
datetime dateTime |
NULL |
Obergrenze (exklusive) für Beispiel: |
UpdateDateFrom
|
datetime dateTime |
NULL |
Untergrenze (inklusive) für Beispiel: |
UpdateDateTo
|
datetime dateTime |
NULL |
Obergrenze (exklusive) für Beispiel: |
CreateAndUpdateDateFrom
|
datetime dateTime |
NULL |
Untergrenze (inklusive): passt, wenn Beispiel: |
CreateAndUpdateDateTo
|
datetime dateTime |
NULL |
Obergrenze (exklusive): passt, wenn Beispiel: |
RowCount
|
int | NULL |
Maximale Anzahl zu liefernder Zeilen. Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Rechnungspositionen, die dem gewählten Filtermodus entsprechen. Aufsteigend sortiert nach InvLineKey, außer im Einzelschlüssel-Modus.
| Spalte | Typ | Beschreibung |
|---|---|---|
InvLineKey
|
int |
Primärschlüssel der Rechnungsposition. |
InvoiceRef
|
int |
Schlüssel der Rechnung ( |
OrderLineRef
Kann leer sein |
int |
Verweis auf die Auftragsposition. |
CustRef
Kann leer sein |
int |
Verweis auf den Kunden. |
AddrRef
Kann leer sein |
int |
Verweis auf die Adresse. |
ItemNr
Kann leer sein |
string |
Artikelnummer. |
ItemQty
Kann leer sein |
int |
Berechnete Menge. |
OrderQty
Kann leer sein |
int |
Bestellte Menge. |
ItemText
Kann leer sein |
string |
Artikeltext der Position. |
ItemPrice
Kann leer sein |
decimal |
Artikelpreis. |
ItemDiscount
Kann leer sein |
decimal |
Artikelrabatt. |
ItemVAT
Kann leer sein |
decimal |
Mehrwertsteuersatz des Artikels. |
CreateDate
Kann leer sein |
dateTime |
Anlagedatum der Position. |
CreateEmp
Kann leer sein |
string |
Mitarbeiter, der die Position angelegt hat. |
UpdateDate
Kann leer sein |
dateTime |
Datum der letzten Änderung. |
UpdateEmp
Kann leer sein |
string |
Mitarbeiter, der die Position zuletzt geändert hat. |
ItemPrice_OrderCurr
Kann leer sein |
decimal |
Kopie von |
ShipCost
Kann leer sein |
decimal |
Versandkosten der Position. |
ShipCostPerItem
Kann leer sein |
decimal |
Versandkosten pro Artikel. |
OrderCurrency
Kann leer sein |
string |
Währungscode ( |
ShipCost_OrderCurr
Kann leer sein |
decimal |
Kopie von |
ItemRef
Kann leer sein |
int |
Verweis auf den Artikel. |
CCPChargedYN
Kann leer sein |
string |
Kennzeichen aus der Spalte |
SerialNr
Kann leer sein |
string |
Seriennummer. |
FullPrice
Kann leer sein |
decimal |
Vollpreis vor Rabatt. |
DiscountValue
Kann leer sein |
decimal |
Rabattbetrag. |
DiscountPerc
Kann leer sein |
decimal |
Rabatt in Prozent. |
Beispielantwort
<SqlRowSet1>
<row>
<InvLineKey>10234</InvLineKey>
<InvoiceRef>5120</InvoiceRef>
<OrderLineRef>88412</OrderLineRef>
<CustRef>3307</CustRef>
<AddrRef>4410</AddrRef>
<ItemNr>ART-1001</ItemNr>
<ItemQty>2</ItemQty>
<OrderQty>2</OrderQty>
<ItemText>T-Shirt blau, Gr. M</ItemText>
<ItemPrice>19.99</ItemPrice>
<ItemDiscount>0</ItemDiscount>
<ItemVAT>19</ItemVAT>
<CreateDate>2024-01-15T10:22:05</CreateDate>
<CreateEmp>API</CreateEmp>
<UpdateDate>2024-01-15T10:22:05</UpdateDate>
<UpdateEmp>API</UpdateEmp>
<ItemPrice_OrderCurr>19.99</ItemPrice_OrderCurr>
<ShipCost>4.90</ShipCost>
<ShipCostPerItem>0</ShipCostPerItem>
<OrderCurrency>EUR</OrderCurrency>
<ShipCost_OrderCurr>4.90</ShipCost_OrderCurr>
<ItemRef>1201</ItemRef>
<CCPChargedYN>N</CCPChargedYN>
<SerialNr/>
<FullPrice>19.99</FullPrice>
<DiscountValue>0</DiscountValue>
<DiscountPerc>0</DiscountPerc>
</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:pixiReadInvlines>
<!-- <InvlineKey>0</InvlineKey> -->
<!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-01-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-02-01T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-01-15T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-01-16T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadInvlines>
</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:pixiReadInvlines>
<!-- <InvlineKey>0</InvlineKey> -->
<!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
<!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
<!-- <UpdateDateFrom>2024-01-01T00:00:00</UpdateDateFrom> -->
<!-- <UpdateDateTo>2024-02-01T00:00:00</UpdateDateTo> -->
<!-- <CreateAndUpdateDateFrom>2024-01-15T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-01-16T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadInvlines>
</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 = [
// 'InvlineKey' => '0',
// 'CreateDateFrom' => '2024-01-01T00:00:00',
// 'CreateDateTo' => '2024-02-01T00:00:00',
// 'UpdateDateFrom' => '2024-01-01T00:00:00',
// 'UpdateDateTo' => '2024-02-01T00: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('pixiReadInvlines', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReadInvlines