Postman-Collection
Items Lesen

pixiReadAddItems

Liefert Zusatzartikel-Datensätze (lieferantenbezogene Artikeldaten wie EAN, Lieferanten-Artikelnummer und Preise) aus `AddItems`, gefiltert nach Schlüssel, Zeitraum und Lieferant.

Liest Datensätze aus der Tabelle AddItems. Diese enthalten lieferantenbezogene Artikeldaten: EAN/UPC, Lieferanten-Artikelnummer, interne Artikelnummer, Preise, MwSt-Satz und das Kennzeichen für den bevorzugten Lieferanten.

Zuerst werden die Parameter vorbereitet:

  • Ist RowCount gesetzt und ungleich 0, wird die Anzahl der gelieferten Zeilen auf RowCount begrenzt.
  • Wird AddItemKey nicht übergeben, wird der Wert auf 0 gesetzt.
  • Ist SupplNr leer oder besteht nur aus Leerzeichen, gilt der Filter als nicht gesetzt.

Anschließend wird genau eine der folgenden Abfragen ausgeführt. Es gilt der erste Zweig, dessen Bedingung zutrifft:

  1. Anlage- oder Änderungsdatum (CreateAndUpdateDateFrom und/oder CreateAndUpdateDateTo gesetzt): Datensätze mit AddItemKey > AddItemKey.
    • Die Untergrenze greift, wenn CreateDate oder UpdateDate >= CreateAndUpdateDateFrom ist.
    • Die Obergrenze greift, wenn CreateDate oder UpdateDate < CreateAndUpdateDateTo ist.
  2. Anlagedatum (CreateDateFrom und/oder CreateDateTo gesetzt): Datensätze mit AddItemKey > AddItemKey und CreateDate >= Von und < Bis.
  3. Änderungsdatum (UpdateDateFrom und/oder UpdateDateTo gesetzt): Datensätze mit AddItemKey > AddItemKey und UpdateDate >= Von und < Bis.
  4. Schlüsselbereich (RowCount übergeben, auch als 0): Datensätze mit AddItemKey > AddItemKey.
  5. Einzelner Schlüssel (sonst): der Datensatz mit AddItemKey = AddItemKey.

In allen Zweigen schränkt der optionale Filter SupplNr das Ergebnis auf einen Lieferanten ein. Die Zweige 1 bis 4 sind aufsteigend nach AddItemKey sortiert. Damit ist Paging möglich: den zuletzt erhaltenen AddItemKey zusammen mit RowCount übergeben, um die nächste Seite zu erhalten.

Hinweise

  • Die Tabelle wird mit NOLOCK gelesen, daher können nicht festgeschriebene Änderungen sichtbar sein.
  • Ohne Parameter wird AddItemKey auf 0 gesetzt und der Einzelschlüssel-Zweig ausgeführt. Dieser liefert in der Regel keine Zeilen.
  • Bei RowCount = 0 wird der Schlüsselbereichs-Zweig ohne Zeilenbegrenzung ausgeführt. Dann werden alle passenden Datensätze geliefert, was bei großen Tabellen langsam sein kann.
  • Die Grenzen des kombinierten Anlage-/Änderungsfilters werden jeweils gegen eine der beiden Datumsspalten geprüft. Ein Datensatz kann daher auch dann zutreffen, wenn keines der beiden Daten im Zeitraum liegt, etwa wenn CreateDate vor und UpdateDate nach dem Zeitraum liegt.
  • Bei SupplNr werden nur leere Werte normalisiert. Führende Leerzeichen werden nicht entfernt und können dazu führen, dass kein Datensatz gefunden wird.
  • Die Datumsfilter haben folgende Rangfolge: kombiniert Anlage/Änderung, Anlage, Änderung. Datumsparameter mit niedrigerem Rang werden ignoriert, wenn ein Parameter mit höherem Rang gesetzt ist.
  • Alle Obergrenzen sind exklusiv (<).
  • Der Kopfkommentar spricht von Lieferantendaten, die Prozedur liefert jedoch Zusatzartikel-Datensätze.
  • Die Spaltentypen sind im Code nicht sichtbar. Als unknown markierte Typen sind aus den Spaltennamen abgeleitet.

Parameter

Parameter Typ Standardwert Beschreibung
AddItemKey
int NULL

Schlüssel des Zusatzartikels. Ohne Datumsfilter und ohne RowCount wird genau der Datensatz mit diesem Schlüssel geliefert. Andernfalls werden nur Datensätze mit größerem Schlüssel geliefert (Startpunkt für Paging). NULL wird als 0 behandelt.

Beispiel: 0

CreateDateFrom
datetime
dateTime
NULL

Untergrenze (inklusiv) für CreateDate. Wird nur verwendet, wenn kein kombiniertes Anlage-/Änderungsdatum gesetzt ist.

Beispiel: 2024-01-01T00:00:00

CreateDateTo
datetime
dateTime
NULL

Obergrenze (exklusiv) für CreateDate. Wird nur verwendet, wenn kein kombiniertes Anlage-/Änderungsdatum gesetzt ist.

Beispiel: 2024-02-01T00:00:00

UpdateDateFrom
datetime
dateTime
NULL

Untergrenze (inklusiv) für UpdateDate. Wird nur verwendet, wenn weder ein kombiniertes Datum noch ein Anlagedatum gesetzt ist.

Beispiel: 2024-01-01T00:00:00

UpdateDateTo
datetime
dateTime
NULL

Obergrenze (exklusiv) für UpdateDate. Wird nur verwendet, wenn weder ein kombiniertes Datum noch ein Anlagedatum gesetzt ist.

Beispiel: 2024-02-01T00:00:00

CreateAndUpdateDateFrom
datetime
dateTime
NULL

Untergrenze (inklusiv). Trifft zu, wenn CreateDate oder UpdateDate an oder nach diesem Wert liegt. Hat Vorrang vor allen anderen Datumsparametern.

Beispiel: 2024-03-01T00:00:00

CreateAndUpdateDateTo
datetime
dateTime
NULL

Obergrenze (exklusiv). Trifft zu, wenn CreateDate oder UpdateDate vor diesem Wert liegt. Hat Vorrang vor allen anderen Datumsparametern.

Beispiel: 2024-03-02T00:00:00

RowCount
int NULL

Maximale Anzahl gelieferter Zeilen (über SET ROWCOUNT). Wird der Parameter ohne Datumsfilter übergeben, läuft die Schlüsselbereichs-Abfrage (AddItemKey > übergebener Schlüssel). 0 bedeutet keine Begrenzung.

Beispiel: 500

SupplNr
varchar(4)
string
NULL

Lieferantennummer. Wenn gesetzt, werden nur Datensätze dieses Lieferanten geliefert. Leere oder nur aus Leerzeichen bestehende Werte werden ignoriert.

Beispiel: LI01

Antwort

Result-Set 1 · Immer; genau einer der Abfragezweige wird ausgeführt. Das Ergebnis kann leer sein.

Zusatzartikel-Datensätze aus AddItems. Aufsteigend nach AddItemKey sortiert, außer bei der Einzelschlüssel-Abfrage.

Spalte Typ Beschreibung
AddItemKey int

Primärschlüssel des Zusatzartikel-Datensatzes.

EANUPC
Kann leer sein
string

EAN-/UPC-Code.

UPC
Kann leer sein
string

UPC-Code.

ItemNrSuppl
Kann leer sein
string

Artikelnummer des Lieferanten.

ItemNrInt
Kann leer sein
string

Interne Artikelnummer.

ItemNrOld
Kann leer sein
string

Alte Artikelnummer.

SupplNr
Kann leer sein
varchar(4)
string

Lieferantennummer.

Price
Kann leer sein
decimal

Preis.

SupplPrice
Kann leer sein
decimal

Lieferantenpreis (Einkaufspreis).

Curr_Source
Kann leer sein
string

Ausgangswährung des Lieferantenpreises.

MwStSatz
Kann leer sein
decimal

MwSt-Satz.

AutoPrice
Kann leer sein
string

Kennzeichen für automatische Preisberechnung.

CreateDate
Kann leer sein
datetime
dateTime

Anlagedatum des Datensatzes.

UpdateDate
Kann leer sein
datetime
dateTime

Datum der letzten Änderung.

ItemRef
Kann leer sein
int

Referenz auf den Pixi-Artikel.

LastImportDate
Kann leer sein
dateTime

Datum des letzten Imports.

SKU
Kann leer sein
string

SKU (Lagerhaltungsnummer).

PreferredSupplier
Kann leer sein
string

Kennzeichen, ob dieser Lieferant der bevorzugte Lieferant des Artikels ist.

Active
Kann leer sein
string

Aktiv-Kennzeichen des Datensatzes.

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:pixiReadAddItems>
      <!-- <AddItemKey>0</AddItemKey> -->
      <!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
      <!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
      <!-- <UpdateDateFrom>2024-01-01T00:00:00</UpdateDateFrom> -->
      <!-- <UpdateDateTo>2024-02-01T00:00:00</UpdateDateTo> -->
      <!-- <CreateAndUpdateDateFrom>2024-03-01T00:00:00</CreateAndUpdateDateFrom> -->
      <!-- <CreateAndUpdateDateTo>2024-03-02T00:00:00</CreateAndUpdateDateTo> -->
      <!-- <RowCount>500</RowCount> -->
      <!-- <SupplNr>LI01</SupplNr> -->
    </ns1:pixiReadAddItems>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

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