Postman-Collection
Invoices Lesen

pixiGetInvoicePackageLines

Liefert die Paketpositionen von Rechnungspaketen zu einer Rechnung (per ID oder Nummer) oder zu einem einzelnen Paket mit Artikelnummer, Rechnungsposition und Menge.

Liefert die Positionen von Rechnungspaketen (pixi.InvoicePackageLines). Jede Position verknüpft ein Paket mit einer Rechnungsposition und einer Menge.

Eingabe und Prüfung

  • Mindestens einer der Parameter InvoiceNumber, InvoiceId oder PackageId muss angegeben sein. Eine leere InvoiceNumber gilt als nicht angegeben.
  • InvoiceNumber wird in einen Rechnungsschlüssel aufgelöst. Sind InvoiceId und InvoiceNumber beide angegeben, müssen sie auf dieselbe Rechnung verweisen.
  • Ist PackageId angegeben, muss das Paket Paketpositionen haben. Ist zusätzlich eine Rechnung angegeben, muss das Paket zu dieser Rechnung gehören.
  • Ist eine Rechnung angegeben, muss mindestens ein Paket dieser Rechnung Paketpositionen haben.
  • Schlägt eine Prüfung fehl, wird eine Zeile Status/Message mit Status = Error zurückgegeben. Danach folgt keine weitere Ergebnismenge.

Auswahl

  • Nur Rechnung angegeben: Alle Pakete der Rechnung werden verwendet.
  • PackageId angegeben, mit oder ohne Rechnung: Nur dieses Paket wird verwendet.
  • Rechnungen werden verworfen, wenn sie keine Rechnungspositionen haben oder wenn eine verknüpfte Rechnungsposition keinen Bezug zu einer Auftragsposition (OrderLineRef) hat.
  • Die Paketpositionen werden mit den Rechnungspositionen der ausgewählten Rechnungen abgeglichen. Es werden nur Positionen geliefert, deren Artikel eine interne Artikelnummer hat (pixi.ItemCode, Codetyp 2).
  • InvoiceNr hat in allen Zeilen denselben Wert. Es ist die Nummer der ausgewählten Rechnung.

Die Ergebnismenge hat keine explizite Sortierung. Passt keine Position, wird eine Statuszeile mit Info geliefert.

Hinweise

  • Alle Lesezugriffe verwenden NOLOCK. Daten, die gleichzeitig geschrieben werden, können unbestätigt erscheinen.
  • Laut einem Code-Kommentar werden diese Pakete vom Delphi-ShipOut-Prozess angelegt.
  • Stolperfalle: Die Rechnung wird komplett verworfen, wenn eine ihrer verknüpften Rechnungspositionen keinen OrderLineRef hat. Dann liefert der Aufruf die Info-Zeile und keine Positionen, auch wenn die Rechnung Paketpositionen hat.
  • Positionen, deren Artikel keine interne Artikelnummer hat (Codetyp 2 in pixi.ItemCode), erscheinen nicht. Hat ein Artikel mehrere Codes vom Typ 2, werden seine Positionen mehrfach geliefert.
  • Fehler- und Infozeilen kommen in der normalen Ergebnismenge mit den Spalten Status und Message zurück. Es wird kein SQL-Fehler ausgelöst. Der Rückgabewert ist 1 bei Fehlern, sonst 0.

Parameter

Parameter Typ Standardwert Beschreibung
InvoiceNumber
varchar(20)
string
NULL

Rechnungsnummer (InvoiceNr). Ein Leerstring wird als NULL behandelt. Ist zusätzlich InvoiceId angegeben, müssen beide auf dieselbe Rechnung verweisen.

Beispiel: RE2024001234

InvoiceId
int NULL

Rechnungsschlüssel (InvoiceKey) der Rechnung, deren Paketpositionen geliefert werden.

Beispiel: 58231

PackageId
int NULL

ID eines Rechnungspakets. Ist sie angegeben, werden nur die Positionen dieses Pakets geliefert. Ist zusätzlich eine Rechnung angegeben, muss das Paket zu ihr gehören.

Beispiel: 10452

Antwort

Result-Set 1 · Bei Erfolg, wenn mindestens eine passende Paketposition gefunden wird

Eine Zeile je Paketposition mit Rechnung, Artikel und Menge.

Spalte Typ Beschreibung
PackageId int

ID des Rechnungspakets.

InvoiceId int

Rechnungsschlüssel der Rechnungsposition.

InvoiceNr
Kann leer sein
varchar(20)
string

Rechnungsnummer der ausgewählten Rechnung. In allen Zeilen gleich.

ItemKey int

Artikelschlüssel (ItemRef der Rechnungsposition).

ItemNrInt varchar(50)
string

Interne Artikelnummer aus pixi.ItemCode mit Codetyp 2.

InvlineKey int

Schlüssel der Rechnungsposition.

Quantity
Kann leer sein
int

Menge der Rechnungsposition in diesem Paket.

Result-Set 2 · Wenn eine Prüfung fehlschlägt (Error) oder keine passenden Positionen gefunden werden (Info)

Statuszeile anstelle von Daten.

Spalte Typ Beschreibung
Status varchar(5)
string

Error oder Info.

Message varchar(max)
string

Meldungstext.

Fehlermeldungen

Status Meldung Ursache
Error At least one of the parameters needs to be provided Keiner der Parameter `InvoiceNumber`, `InvoiceId` und `PackageId` wurde angegeben, oder `InvoiceNumber` war leer. Mindestens einen davon angeben.
Error No invoice found with invoice id: {InvoiceId} or invoice number: {InvoiceNumber} Die angegebene Rechnungs-ID oder Rechnungsnummer existiert nicht in `Invoices`.
Error No invoice package lines found with package Id: {PackageId} Für die angegebene `PackageId` gibt es keine Paketpositionen in `pixi.InvoicePackageLines`.
Error Two different invoices found with provided parameters invoice Id: {InvoiceId} and invoice number: {InvoiceNumber} `InvoiceId` und `InvoiceNumber` verweisen auf unterschiedliche Rechnungen. Nur einen der beiden Parameter oder passende Werte übergeben.
Error Package Id: {PackageId} does not belong to invoice with invoice Id: {InvoiceId} or invoice number: {InvoiceNumber} Das angegebene Paket gehört zu einer anderen Rechnung.
Error No package lines found with package Id: {PackageId} or with invoice Id/invoice number: {InvoiceId}/{InvoiceNumber} Keines der Pakete der angegebenen Rechnung hat Paketpositionen.
Info No records found with provided parameters Alle Prüfungen waren erfolgreich, aber keine Position passte. Zum Beispiel wurde die Rechnung wegen Rechnungspositionen ohne Bezug zu einer Auftragsposition verworfen, oder die Artikel haben keine interne Artikelnummer.

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:pixiGetInvoicePackageLines>
      <!-- <InvoiceNumber>RE2024001234</InvoiceNumber> -->
      <!-- <InvoiceId>58231</InvoiceId> -->
      <!-- <PackageId>10452</PackageId> -->
    </ns1:pixiGetInvoicePackageLines>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Invoices · Lesen InvoicePackage · Lesen InvoicePackageLines · Lesen Invlines · Lesen ItemCode · Lesen
SQL-Objekt:
dbo.pipiGetInvoicePackageLines
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben