Postman-Collection
Orderlines Lesen

pixiCanAddOrderlines

Prüft, ob einem Auftrag noch neue Auftragspositionen hinzugefügt werden dürfen, abhängig von Zahlungsart und Status der vorhandenen Positionen.

Ermittelt für den Auftrag PixiOrderNr, ob weitere Auftragspositionen hinzugefügt werden können. Das Ergebnis wird in den Output-Parameter CanAdd geschrieben, optional als Statuszeile zurückgegeben und zusätzlich als Rückgabewert der Prozedur verwendet.

Der Auftragskopf (OrderHeader) wird mit seiner Adresse (Addresses, über AddrRef) verknüpft. Die Entscheidung hängt von der Zahlungsart-Spalte APayment ab:

  • Zahlungsart ungleich K oder C: CanAdd = 1, wenn der Auftrag keine Auftragspositionen mit Status EIN oder AUS hat. Sonst 0.
  • Zahlungsart K oder C: CanAdd = 1 nur, wenn alle Auftragspositionen einen der Status NEW, ANG, HAL, MIN, OPH, BES, STO, NLB haben. Sobald eine Position einen anderen Status hat, ist das Ergebnis 0.
  • Ein Auftrag ohne Auftragspositionen liefert daher immer 1, sofern eine Zahlungsart gesetzt ist.
  • Ist APayment NULL, trifft keine Bedingung zu und das Ergebnis ist 0.

Bei SupressOutput = 0 (Standard) wird eine Zeile mit CanAdd, OrderNr und ErrorMessage (immer NULL) zurückgegeben. Bei SupressOutput = 1 wird keine Ergebnismenge geliefert; das Ergebnis steht dann nur im Output-Parameter und im Rückgabewert.

Hinweise

  • Alle Lesezugriffe verwenden NOLOCK; das Ergebnis kann daher nicht festgeschriebene Änderungen widerspiegeln.
  • Existiert der Auftrag nicht (oder gibt es keinen passenden Adressdatensatz), wird kein Wert zugewiesen: CanAdd behält den übergebenen Wert (in der Regel NULL), und die zurückgegebene Zeile zeigt diesen Wert. Eine Fehlermeldung wird nicht erzeugt; ErrorMessage ist immer NULL. Ein NULL in CanAdd ist als „Auftrag nicht gefunden“ zu werten.
  • CanAdd ist als OUTPUT ohne Standardwert deklariert und muss daher im Request mitgesendet werden (z. B. leer oder 0).
  • Die Spalte APayment wird ohne Tabellenalias referenziert und aus OrderHeader oder Addresses aufgelöst. Die Bedeutung der Zahlungsarten K und C ist im Code nicht festgelegt.
  • Auftragspositionen mit Status NULL werden bei der Prüfung für die Zahlungsarten K/C nicht berücksichtigt.
  • Die Prozedur ändert keine Daten.

Parameter

Parameter Typ Standardwert Beschreibung
PixiOrderNr
Pflicht
int –

Pixi-Auftragsnummer (OrderHeader.OrderNr) des zu prüfenden Auftrags.

Beispiel: 104523

CanAdd
OUTPUT
bit
boolean
–

Ausgabe: 1, wenn Auftragspositionen hinzugefügt werden können, sonst 0. Behält den übergebenen Wert, wenn der Auftrag nicht gefunden wird.

Erlaubte Werte

  • 1 – Auftragspositionen können hinzugefügt werden.
  • 0 – Auftragspositionen können nicht hinzugefügt werden.

Beispiel: 0

SupressOutput
bit
boolean
0

Steuert, ob die Ergebniszeile zurückgegeben wird.

Erlaubte Werte

  • 0 – Ergebniszeile zurückgeben (Standard).
  • 1 – Keine Ergebnismenge zurückgeben; Ergebnis nur im Output-Parameter und Rückgabewert.

Beispiel: 0

Antwort

Result-Set 1 · Wenn SupressOutput = 0 (Standard)

Eine Zeile mit dem Prüfergebnis für den Auftrag.

Spalte Typ Beschreibung
CanAdd
Kann leer sein
bit
boolean

1, wenn Auftragspositionen hinzugefügt werden können, sonst 0; der übergebene Eingabewert (meist NULL), wenn der Auftrag nicht gefunden wurde.

OrderNr int

Die geprüfte Auftragsnummer (Rückgabe von PixiOrderNr).

ErrorMessage
Kann leer sein
int
string

Immer NULL; es wird keine Fehlermeldung erzeugt.

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:pixiCanAddOrderlines>
      <PixiOrderNr>104523</PixiOrderNr>
      <!-- <CanAdd>0</CanAdd> -->
      <!-- <SupressOutput>0</SupressOutput> -->
    </ns1:pixiCanAddOrderlines>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

OrderHeader · Lesen Addresses · Lesen Orderlines · Lesen
SQL-Objekt:
dbo.pipiCanAddOrderlines
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben