Postman-Collection
Stock Lesen

pixiReport_ItemsOnStockWithBatchManagement

Liefert den Bestand je Artikel, Lagerplatz, Chargennummer und MHD für Artikel mit Chargenverwaltung auf Basis des pixi*-Reports "Items on stock with BN/BBD".

Stellt den pixi*-Report Items on stock with BN/BBD (Chargennummer / Mindesthaltbarkeitsdatum) als API-Call bereit.

  1. Normalisierung: Leere Zeichenketten werden bei allen Textfiltern als NULL behandelt. ItemTag = 0 gilt als NULL. Fehlen BestBeforeDateFrom oder BestBeforeDateTo (oder sind sie 1900-01-01), werden Beginn bzw. Ende des aktuellen Tages verwendet.
  2. Vorprüfungen: Jeder angegebene Filter wird geprüft. Der Aufruf endet mit einer Error-Zeile, wenn:
    • LocId nicht in Location existiert,
    • ItemTag nicht -6 oder -7 ist,
    • Ean kein Barcode (Codetyp 1) in pixi.ItemCode ist,
    • ItemNrInt keine Shop-Artikelnummer (Codetyp 2) in pixi.ItemCode ist,
    • BinGroup nicht in InvBin existiert,
    • SupplierNr nicht in Suppliers existiert,
    • Category weder zu TontrArt noch zu TontrText in TontrArten passt,
    • BatchNumber nicht in InvBinItem existiert.
  3. Report: Die interne Report-Prozedur Report_ItemsOnStockWithBatchManagement wird ausgeführt:
    • Berücksichtigt werden nur Artikel mit dem Tag -6 (Chargennummer) oder -7 (MHD).
    • Der Lagerplatzbestand aus InvBinItem wird je Artikel, Lagerplatz, Charge und MHD summiert (QtyInBin).
    • Der MHD-Filter wird immer angewendet. Enthalten sind Zeilen, deren BestBeforeDate zwischen den beiden Daten liegt, sowie Zeilen ohne MHD.
    • Optionale Filter:
      • BatchNumber: exakte Chargennummer.
      • LocId: Lager des Lagerplatzes.
      • Ean: Barcode des Artikels.
      • ItemNrInt: Shop-Artikelnummer.
      • ItemTag: Der Artikel muss diesen Tag tragen.
      • SupplierNr: Der Artikel ist diesem Lieferanten in AddItems zugeordnet.
      • BinGroup: Lagerplatzgruppe.
      • Category: ConfigType des Artikels, abgeglichen über Code oder Text.
  4. Die Zeilen werden nach ItemName und dann BinName sortiert zurückgegeben.

Hinweise

  • Standard-Datumsbereich ist nur der heutige Tag. Ohne BestBeforeDateFrom/BestBeforeDateTo wird nur Bestand mit MHD heute oder ohne MHD geliefert. Für alle Chargen einen weiten Zeitraum übergeben.
  • Die Daten werden an den internen Report als DATE übergeben, die Uhrzeit entfällt. Ein BestBeforeDate am Endtag mit Uhrzeit nach Mitternacht kann dadurch herausfallen.
  • Die Vorprüfungen prüfen nur, ob irgendwo ein passender Datensatz existiert. So akzeptiert etwa die Ean-Prüfung jeden vorhandenen Barcode, nicht nur Barcodes chargenverwalteter Artikel. Ohne Filterwert verlangen sie trotzdem mindestens eine Zeile in der jeweiligen Tabelle. Eine leere Datenbank oder leere Tabelle führt daher zum entsprechenden Fehler mit leerem Wert.
  • Der interne Report baut seine WHERE-Klausel als dynamisches SQL auf. SQL-Fehler daraus werden abgefangen und als Error-Zeile mit dem Originaltext zurückgegeben.
  • Alle Lesezugriffe verwenden NOLOCK, daher können nicht festgeschriebene Daten erscheinen.
  • Der Report erzeugt intern zusätzliche Parameter-Spalten (ParamBatchNumber usw.). Diese werden nicht an den Aufrufer zurückgegeben.

Parameter

Parameter Typ Standardwert Beschreibung
BatchNumber
varchar(50)
string
NULL

Filter auf exakte Chargennummer. Muss in InvBinItem existieren. Leer bedeutet kein Filter.

Beispiel: L2024-0815

BestBeforeDateFrom
datetime
dateTime
NULL

Beginn des MHD-Zeitraums. Standard ist der Beginn des aktuellen Tages; nur der Datumsteil wird verwendet.

Beispiel: 2025-01-01T00:00:00

BestBeforeDateTo
datetime
dateTime
NULL

Ende des MHD-Zeitraums. Standard ist das Ende des aktuellen Tages; nur der Datumsteil wird verwendet.

Beispiel: 2025-12-31T23:59:59

LocId
varchar(3)
string
NULL

Lager-ID. Nur Lagerplätze dieses Lagers werden berücksichtigt. Muss in Location existieren.

Beispiel: 001

Ean
varchar(13)
string
NULL

Barcode (Artikelcode-Typ 1) des Artikels. Muss in pixi.ItemCode existieren.

Beispiel: 4006381333931

ItemTag
int NULL

Beschränkt auf Artikel mit diesem Tag. 0 oder leer bedeutet kein Filter.

Erlaubte Werte

  • -6 – Artikel mit Chargennummernverwaltung (BN)
  • -7 – Artikel mit MHD-Verwaltung (BBD)

Beispiel: -6

SupplierNr
varchar(4)
string
NULL

Lieferantennummer. Nur diesem Lieferanten zugeordnete Artikel (AddItems) werden berücksichtigt. Muss in Suppliers existieren.

Beispiel: 0012

BinGroup
varchar(20)
string
NULL

Lagerplatzgruppe. Nur Lagerplätze dieser Gruppe werden berücksichtigt. Muss in InvBin existieren.

Beispiel: FOOD

Category
varchar(50)
string
NULL

Artikelkategorie, als Code (TontrArt) oder Text (TontrText) aus TontrArten. Wird mit ConfigType des Artikels abgeglichen.

Beispiel: Lebensmittel

ItemNrInt
varchar(50)
string
NULL

Shop-Artikelnummer (Artikelcode-Typ 2). Muss in pixi.ItemCode existieren.

Beispiel: 100234

Antwort

Result-Set 1 · Bei Erfolg (alle Vorprüfungen bestanden, kein Fehler im Report)

Bestand je Artikel, Lagerplatz, Charge und MHD, sortiert nach Artikelname und Lagerplatzname.

Spalte Typ Beschreibung
ItemKey int

Interner Artikelschlüssel

ItemNrSuppl
Kann leer sein
varchar(50)
string

Lieferantenartikelnummer

ItemNrInt
Kann leer sein
varchar(50)
string

Shop-Artikelnummer

EANUPC
Kann leer sein
varchar(13)
string

EAN/UPC aus dem Artikelstamm

ItemName
Kann leer sein
varchar(120)
string

Artikelbezeichnung

BatchNumber
Kann leer sein
varchar(50)
string

Chargennummer

BestBeforeDate
Kann leer sein
datetime
dateTime

Mindesthaltbarkeitsdatum

BinName varchar(50)
string

Lagerplatzname

BinGroup varchar(20)
string

Lagerplatzgruppe

QtyInBin
Kann leer sein
int

Summierte Menge auf dem Lagerplatz für diese Charge/dieses MHD

Result-Set 2 · Wenn eine Vorprüfung fehlschlägt oder der Report einen Fehler auslöst

Einzelne Statuszeile mit Fehlerbeschreibung.

Spalte Typ Beschreibung
Status varchar(5)
string

Immer Error

Message varchar
string

Fehlermeldung

Fehlermeldungen

Status Meldung Ursache
Error Location "{LocId}" does not exist. `LocId` ist in `Location` nicht vorhanden. Eine existierende Lager-ID übergeben.
Error Only item tag with ID -6 and -7 are allowed. `ItemTag` hat einen anderen Wert als `-6`, `-7`, `0` oder leer.
Error Item with EAN: "{Ean}" does not exist. Kein Barcode (Codetyp 1) mit dem Wert `Ean` in `pixi.ItemCode` vorhanden.
Error Item with Shop item number: "{ItemNrInt}" does not exist. Keine Shop-Artikelnummer (Codetyp 2) mit dem Wert `ItemNrInt` in `pixi.ItemCode` vorhanden.
Error Bin group with number: "{BinGroup}" does not exist. Kein Lagerplatz mit dieser `BinGroup` in `InvBin` vorhanden.
Error Supplier with supplier number: "{SupplierNr}" does not exist. `SupplierNr` ist in `Suppliers` nicht vorhanden.
Error Category with ID: "{Category}" does not exist. `Category` passt weder zu `TontrArt` noch zu `TontrText` in `TontrArten`.
Error Batch number: "{BatchNumber}" does not exist. Keine Lagerplatzbestandszeile mit dieser Chargennummer in `InvBinItem` vorhanden.
Error Unexpected error while getting the report values. ({ERROR_MESSAGE}) Beim Ausführen des internen Reports (z. B. im dynamischen SQL) trat ein SQL-Fehler auf. Der Originalfehlertext ist enthalten.

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:pixiReport_ItemsOnStockWithBatchManagement>
      <!-- <BatchNumber>L2024-0815</BatchNumber> -->
      <!-- <BestBeforeDateFrom>2025-01-01T00:00:00</BestBeforeDateFrom> -->
      <!-- <BestBeforeDateTo>2025-12-31T23:59:59</BestBeforeDateTo> -->
      <!-- <LocId>001</LocId> -->
      <!-- <Ean>4006381333931</Ean> -->
      <!-- <ItemTag>-6</ItemTag> -->
      <!-- <SupplierNr>0012</SupplierNr> -->
      <!-- <BinGroup>FOOD</BinGroup> -->
      <!-- <Category>Lebensmittel</Category> -->
      <!-- <ItemNrInt>100234</ItemNrInt> -->
    </ns1:pixiReport_ItemsOnStockWithBatchManagement>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Location · Lesen ItemCode · Lesen InvBin · Lesen Suppliers · Lesen TontrArten · Lesen InvBinItem · Lesen Items · Lesen TagMatch · Lesen Tag · Lesen AddItems · Lesen
SQL-Objekt:
dbo.pipiReport_ItemsOnStockWithBatchManagement
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben