Postman-Collection
Stock Lesen

pixiDispoGetItemBinLog

Liefert verdichtete Lagerbewegungen aus dem Lagerplatz-Artikel-Log für eine externe Dispositionssoftware (LogControl), optional pro Artikel summiert im Inventurmodus.

Exportiert Lagerbewegungen aus InvBinItemLog für ein externes Dispositionswerkzeug (LogControl).

Auswahl

  • Nur Log-Einträge mit IBILKEY > @ItemBinLogKeyStart, Qty <> 0 und UpdateDate zwischen @DateStart und @DateEnd (jeweils inklusive). Ist @DateStart NULL, wird 1900-01-01 verwendet; ist @DateEnd NULL, das aktuelle Datum mit Uhrzeit.
  • Die Einträge werden nach Änderungszeitpunkt, ForOrderline, Lager, Artikel, Grund, ändernder Mitarbeiter und Lagerbewegungsart gruppiert. Gruppen mit Mengensumme 0 entfallen.
  • Es werden die ersten @RowCount Gruppen (Standard 10000) nach ihrem kleinsten Log-Schlüssel übernommen. Der kleinste Log-Schlüssel einer Gruppe wird als ItemBinLogKey und PItemBinLogKey geliefert.

Bewegungsart-Code Pro Gruppe wird eine fest codierte Art ermittelt:

  • 0300: Abgang (negative Summe) ohne Bezug zu einer Auftragsposition
  • 2000: Abgang mit Bezug zu einer Auftragsposition (ForOrderline gesetzt und nicht 0)
  • 0200: Zugang, gebucht von einem Mitarbeiter, dessen Name mit dem Wert der Einstellung DispoInventoryUser beginnt
  • 1000: alle übrigen Bewegungen

Ist die Einstellung DispoExportAllImportTypes gleich 1, liefert Modus 0 stattdessen den Type des verknüpften StockMovementTypes-Datensatzes.

Lieferantenbestelldaten Enthält der Grund Picco Del.Nr. gefolgt von einer numerischen Lieferscheinnummer und hat die Bewegung keine Auftragsposition, wird über die Lieferantenlieferung (SDelHeader/SDelDetail) und den Buying-Match die zugehörige Lieferantenbestellposition ermittelt. Bestelldatum, interne Lieferantenbestellnummer und voraussichtliches Lieferdatum werden ausgegeben; ohne Treffer enthalten diese Spalten '0'.

Ausgabemodi

  • @InventoryMode = 0: eine Zeile pro Gruppe, sortiert nach ItemBinLogKey, mit absoluter Menge und Lager.
  • @InventoryMode = 1: Bewegungen ohne Auftragsposition werden pro Artikel summiert (Art 0300 bei negativer Summe, sonst 0200); Bewegungen mit Auftragsposition werden einzeln geliefert (Art 2000 für Abgang, 1000 für Zugang). Beide Teile werden per UNION zusammengeführt und nach Type sortiert. Dieser Modus liefert weder EstimatedDeliveryDate noch LocationID.

Für einen inkrementellen Export wird der höchste ItemBinLogKey des vorherigen Aufrufs als @ItemBinLogKeyStart übergeben.

Hinweise

  • Alle Lesezugriffe erfolgen mit NOLOCK; nicht festgeschriebene Daten können enthalten sein.
  • SET NOCOUNT ist bewusst nicht gesetzt; die internen SELECT ... INTO-Anweisungen erzeugen Zeilenanzahl-Meldungen.
  • fpixi_GetSetting liefert '0', wenn eine Einstellung nicht existiert. Fehlt DispoInventoryUser, ist das Präfix des Inventurbenutzers '0' statt NULL; Zugänge von Mitarbeitern, deren Name mit 0 beginnt, erhalten dann Art 0200.
  • @DateEnd wird mit dem vollständigen Zeitstempel verglichen: ein Datum wie 20110820 bedeutet Mitternacht, spätere Bewegungen dieses Tages fehlen.
  • UpdateDate wird als Text im Format dd.mm.yyyy geliefert. Im Inventurmodus vergleicht MAX(UpdateDate) diese Texte alphabetisch; das Ergebnis ist daher nicht zwingend das jüngste Datum.
  • Im Inventurmodus wird über alle Lager eines Artikels summiert, @RowCount begrenzt die zugrunde liegenden Gruppen (nicht die Ausgabezeilen) und UNION entfernt identische Zeilen. Die Spaltenreihenfolge weicht von Modus 0 ab (SupplOrderNr vor SupplOrderDate), und die Artikelspalte heißt ItemKey statt ITemKey.
  • Die Lieferscheinnummer wird ab Position 14 von Reason gelesen; es wird vorausgesetzt, dass der Grund mit Picco Del.Nr. beginnt.
  • Ein nicht verwendeter LEFT JOIN auf SDelHeader über den Teil von UpdateEmp nach / kann Zeilen vervielfachen und Summen verfälschen, wenn mehrere Lieferungen diese Nummer tragen.
  • Temporäre Tabellen werden über util.TempTableDrop gelöscht (Definition nicht beigefügt).

Parameter

Parameter Typ Standardwert Beschreibung
ItemBinLogKeyStart
Pflicht
int –

Nur Log-Einträge mit einem Schlüssel größer als dieser Wert werden exportiert. 0 für einen Vollexport oder den zuletzt exportierten ItemBinLogKey für einen inkrementellen Export.

Beispiel: 0

DateStart
datetime
dateTime
NULL

Frühester Änderungszeitpunkt (inklusive). NULL bedeutet 1900-01-01.

Beispiel: 2011-08-01T00:00:00

DateEnd
datetime
dateTime
NULL

Spätester Änderungszeitpunkt (inklusive). NULL bedeutet aktuelles Datum mit Uhrzeit.

Beispiel: 2011-08-20T23:59:59

InventoryMode
bit
boolean
0

Wählt das Ausgabeformat: einzelne Bewegungen oder pro Artikel summierte Bewegungen.

Erlaubte Werte

  • 0 – Eine Zeile pro gruppierter Bewegung, inklusive Lager und voraussichtlichem Lieferdatum.
  • 1 – Bewegungen ohne Auftragsposition pro Artikel summiert (Arten 0300/0200), Bewegungen mit Auftragsposition einzeln (Arten 2000/1000).

Beispiel: 0

RowCount
int 10000

Maximale Anzahl gruppierter Bewegungen, die aus dem Log übernommen werden. NULL bedeutet 10000.

Beispiel: 10000

Antwort

Result-Set 1 · Wenn @InventoryMode = 0

Eine Zeile pro gruppierter Lagerbewegung, sortiert nach ItemBinLogKey.

Spalte Typ Beschreibung
PItemBinLogKey int

Kleinster Log-Schlüssel der Gruppe (identisch mit ItemBinLogKey).

ItemBinLogKey int

Kleinster Log-Schlüssel der Gruppe; der höchste Wert dient als nächster @ItemBinLogKeyStart.

ITemKey int

Artikelschlüssel.

UpdateDate varchar(10)
string

Datum der Bewegung als Text dd.mm.yyyy.

Qty decimal

Absolute Menge der Bewegung.

Type
Kann leer sein
string

Bewegungsart-Code 0300, 2000, 0200 oder 1000; bei Einstellung DispoExportAllImportTypes = 1 die Art aus StockMovementTypes.

SupplNR
Kann leer sein
string

Lieferantennummer des Artikels.

ItemNrInt
Kann leer sein
string

Interne Artikelnummer.

ItemNrSuppl
Kann leer sein
string

Lieferanten-Artikelnummer, ersatzweise die interne Artikelnummer.

SupplOrderDate varchar(10)
string

Bestelldatum der zugehörigen Lieferantenbestellung als dd.mm.yyyy oder 0.

SupplOrderNr string

Interne Nummer der zugehörigen Lieferantenbestellung oder 0.

EstimatedDeliveryDate varchar(10)
string

Voraussichtliches Lieferdatum der Lieferantenbestellposition als dd.mm.yyyy oder 0.

LocationID
Kann leer sein
string

Lager-ID der Bewegung.

Result-Set 2 · Wenn @InventoryMode = 1

Bewegungen ohne Auftragsposition pro Artikel summiert sowie einzelne Bewegungen mit Auftragsposition, sortiert nach Type.

Spalte Typ Beschreibung
PItemBinLogKey int

Höchster Log-Schlüssel des summierten Artikels (bzw. Log-Schlüssel der Einzelbewegung).

ItemBinLogKey int

Identisch mit PItemBinLogKey.

ItemKey int

Artikelschlüssel.

UpdateDate varchar(10)
string

Datum als dd.mm.yyyy; bei summierten Zeilen das alphabetische Maximum.

Qty decimal

Absolute (summierte) Menge.

Type varchar(4)
string

0300/0200 für summierte Bewegungen ohne Auftragsposition, 2000/1000 für Bewegungen mit Auftragsposition.

SupplNr
Kann leer sein
string

Lieferantennummer des Artikels.

ItemNrInt
Kann leer sein
string

Interne Artikelnummer.

ItemNrSuppl
Kann leer sein
string

Lieferanten-Artikelnummer oder interne Artikelnummer.

SupplOrderNr string

Interne Lieferantenbestellnummer oder 0.

SupplOrderDate varchar(10)
string

Lieferantenbestelldatum als dd.mm.yyyy oder 0.

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:pixiDispoGetItemBinLog>
      <ItemBinLogKeyStart>0</ItemBinLogKeyStart>
      <!-- <DateStart>2011-08-01T00:00:00</DateStart> -->
      <!-- <DateEnd>2011-08-20T23:59:59</DateEnd> -->
      <!-- <InventoryMode>0</InventoryMode> -->
      <!-- <RowCount>10000</RowCount> -->
    </ns1:pixiDispoGetItemBinLog>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

InvBinItemLog · Lesen Items · Lesen StockMovementTypes · Lesen SDelHeader · Lesen SDelDetail · Lesen BuyingMatch · Lesen SupplierOrderLine · Lesen SupplierOrder · Lesen Settings · Lesen
SQL-Objekt:
dbo.pipiDispoGetItemBinLog
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben