Postman-Collection
Suppliers Schreiben

pixiSupplierOrderLineLocQtyCreate

Legt eine lagerortbezogene Menge für eine Lieferantenbestellposition an, optional gerundet auf Verpackungseinheiten und Mindestbestellmenge.

Fügt einer bestehenden Lieferantenbestellposition eine Menge für einen bestimmten Lagerort hinzu. Das eigentliche Anlegen erledigt die interne Prozedur pixi.SupplierOrderLineLocQtyCreate.

Ablauf:

  1. Öffnet eine Transaktion bzw. setzt einen Savepoint, falls beim Aufruf bereits eine Transaktion offen ist.
  2. Ermittelt den Benutzer: Ist UserId leer, wird der Benutzer über UserName gesucht. Existiert dieser Name nicht, wird der Benutzer pixiAdministration verwendet.
  3. Ermittelt den Lagerort in dbo.Location. Wird LocationId übergeben, erfolgt der Abgleich mit LocationKey. Andernfalls wird Location mit dem Lagerortkürzel LocID abgeglichen. LocationId hat Vorrang vor Location.
  4. Prüft, ob für diese Bestellposition und diesen Lagerort bereits eine Menge in pixi.SupplierOrderLineLocQty existiert. Falls ja, wird die Meldung Location already exists for sent location. vorgemerkt.
  5. Wurde der Lagerort gefunden:
    • NULL-Werte bei ConsiderPackageUnits und ConsiderMinOrderQty werden als 0 behandelt.
    • Die interne Anlage-Prozedur wird mit Bestellposition, Lagerort, Menge und beiden Schaltern aufgerufen. Sie soll die eingefügten IDs zurückliefern.
  6. Wurde der Lagerort nicht gefunden, wird die Meldung Match value for parameter Location does not exists in db. vorgemerkt und nichts angelegt.
  7. Ist eine Meldung vorgemerkt, wird eine Zeile mit ReturnCode = ERROR und ErrorMessage geliefert.
  8. Die eigene Transaktion wird festgeschrieben.

Bei einem SQL-Fehler wird die Transaktion nach Möglichkeit zurückgerollt und eine ERROR-Zeile mit dem SQL-Fehlertext geliefert.

Hinweise

  • Die Duplikatprüfung verhindert das Anlegen nicht. Existiert für den Lagerort bereits eine Menge, wird zwar die Fehlermeldung vorgemerkt, die interne Anlage-Prozedur wird aber trotzdem aufgerufen. Der Aufruf liefert dann das Ergebnis der internen Prozedur, gefolgt von einer ERROR-Zeile. Ob dabei ein Duplikat entsteht oder abgewiesen wird, hängt von pixi.SupplierOrderLineLocQtyCreate ab, deren Definition nicht beiliegt.
  • Das Verhalten der internen Prozedur ist hier nicht sichtbar. Das betrifft die gelieferten IDs, die Anwendung von Verpackungseinheiten und Mindestbestellmenge sowie weitere beschriebene Tabellen.
  • AppName ist Pflicht, wird im Code aber nicht verwendet.
  • UserName ist auch dann Pflicht, wenn UserId übergeben wird.
  • dbo.Location und pixi.SupplierOrderLineLocQty werden mit NOLOCK gelesen.
  • Bei einer äußeren Transaktion und einem nicht fatalen Fehler erfolgt kein Rollback. Bis zum Fehler vorgenommene Änderungen können in der äußeren Transaktion verbleiben.
  • Bei Erfolg gibt es keine explizite Statuszeile. Geliefert wird nur das Ergebnis der internen Prozedur.

Parameter

Parameter Typ Standardwert Beschreibung
AppName
Pflicht
varchar(255)
string
–

Name der aufrufenden Anwendung. Pflicht, wird im Code aber nicht verwendet.

Beispiel: MyWarehouseTool

UserId
int NULL

ID des ausführenden Benutzers. Ist der Wert leer, wird der Benutzer über UserName ermittelt.

Beispiel: 12

UserName
Pflicht
varchar(50)
string
–

Benutzername, der verwendet wird, wenn UserId leer ist. Unbekannte Namen führen zu pixiAdministration.

Beispiel: jdoe

SupplierOrderLineId
Pflicht
int –

ID der Lieferantenbestellposition, die die Lagerortmenge erhält.

Beispiel: 45871

Location
varchar(3)
string
NULL

Lagerortkürzel (LocID). Wird nur verwendet, wenn LocationId leer ist.

Beispiel: 001

LocationId
int NULL

Lagerortschlüssel (LocationKey). Hat Vorrang vor Location.

Beispiel: 1

Qty
Pflicht
int –

Menge für den Lagerort.

Beispiel: 24

ConsiderPackageUnits
bit
boolean
0

Gibt an, ob die interne Anlage-Prozedur Verpackungseinheiten berücksichtigt. NULL wird als 0 behandelt.

Erlaubte Werte

  • 0 – Nein
  • 1 – Ja

Beispiel: 1

ConsiderMinOrderQty
bit
boolean
0

Gibt an, ob die interne Anlage-Prozedur die Mindestbestellmenge berücksichtigt. NULL wird als 0 behandelt.

Erlaubte Werte

  • 0 – Nein
  • 1 – Ja

Beispiel: 0

Antwort

Result-Set 1 · Wenn der Lagerort gefunden wurde und die interne Prozedur pixi.SupplierOrderLineLocQtyCreate Zeilen liefert

Ergebnis der internen Anlage-Prozedur, aufgerufen mit ReturnInsertedIds = 1, vermutlich die eingefügten IDs. Die Spalten sind nicht bestimmbar, da die Definition nicht beiliegt.

Result-Set 2 · Wenn der Lagerort nicht gefunden wurde, für die Position bereits existiert oder ein SQL-Fehler auftrat

Fehler-Statuszeile.

Spalte Typ Beschreibung
ReturnCode varchar(5)
string

Immer ERROR.

ErrorMessage
Kann leer sein
nvarchar(4000)
string

Fehlertext.

Fehlermeldungen

Status Meldung Ursache
ERROR Location already exists for sent location. Für diese Lieferantenbestellposition und diesen Lagerort existiert bereits eine Menge. Die interne Anlage-Prozedur wird trotzdem aufgerufen, daher vor dem Aufruf auf bestehende Einträge prüfen.
ERROR Match value for parameter Location does not exists in db. Weder `LocationId` noch `Location` passt zu einem Lagerort in `dbo.Location`. Einen gültigen Lagerortschlüssel bzw. ein gültiges Kürzel übergeben.
ERROR {ERROR_MESSAGE()} Ein SQL-Fehler ist aufgetreten, z. B. in der internen Anlage-Prozedur. Die Meldung enthält den Fehlertext des SQL Servers.

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:pixiSupplierOrderLineLocQtyCreate>
      <AppName>MyWarehouseTool</AppName>
      <!-- <UserId>12</UserId> -->
      <UserName>jdoe</UserName>
      <SupplierOrderLineId>45871</SupplierOrderLineId>
      <!-- <Location>001</Location> -->
      <!-- <LocationId>1</LocationId> -->
      <Qty>24</Qty>
      <!-- <ConsiderPackageUnits>1</ConsiderPackageUnits> -->
      <!-- <ConsiderMinOrderQty>0</ConsiderMinOrderQty> -->
    </ns1:pixiSupplierOrderLineLocQtyCreate>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Location · Lesen SupplierOrderLineLocQty · Lesen UCS_USERS · Lesen
SQL-Objekt:
dbo.pipiSupplierOrderLineLocQtyCreate
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben