Postman-Collection
Items Lesen

pixiItemSearch

Sucht Artikel nach Name bzw. Artikelcode, EAN/UPC, Konfigurationstyp und Lieferant und liefert Artikelzeilen inklusive Lieferantenpreisen und offenen Lieferantenbestellmengen.

Wrapper um die interne Prozedur GOSItemSearch1. Die Parameter werden weitergereicht; Lieferantenpreise und Statistiken werden immer angefordert. Da kein Benutzername übergeben wird, sind Lieferanten- (EK-)Preise immer sichtbar.

Ablauf:

  1. Ist SupplNr leer, wird ShowOnlyItemsForExactSupplier auf 0 gesetzt.
  2. RowCount = 0 wird durch die Einstellung ItemSearchLimit ersetzt. Ist auch diese 0, gilt 300.
  3. Ist EANUPC gesetzt, werden die Artikel-IDs gesammelt, deren Code in pixi.ItemCode exakt übereinstimmt. Dabei zählen nur Codetypen, die als scannbar markiert sind.
  4. Ist ItemName gesetzt und hat der EAN-Schritt nichts gefunden, wird ItemName mit allen Artikelcodes verglichen:
    • Passt genau ein Code exakt, ist dieser Artikel das Ergebnis. Die Freitextsuche wird dann deaktiviert und Codetyp 1 verwendet.
    • Andernfalls werden alle Artikel gesammelt, deren Code mit ItemName beginnt. ItemName dient dann zusätzlich als Smart-Search-Begriff.
  5. ConfigType wird als Filter für den Konfigurationstyp (TonTrArt) weitergegeben.
  6. SupplNr wird als Lieferantenfilter weitergegeben. LocID bestimmt das Lager (Standard 001).
  7. Es wird immer die Datenbankwährung verwendet. Ein Wechselkurs wird nicht übergeben.
  8. Pro Artikel wird die offene Menge aus Lieferantenbestellungen berechnet: bestellt minus geliefert minus nicht geliefert. Gezählt werden nur Lieferantenbestellungen mit vollständig offenem Status und Mengen für das gewählte Lager. Bei angegebener SupplNr zählen nur Bestellungen dieses Lieferanten.
  9. Die abschließende Abfrage liefert SELECT DISTINCT TOP (RowCount) Zeilen. Sie wird dynamisch aufgebaut.

Die Abfrage hat kein ORDER BY; die ORDER-BY-Klausel ist im Code auskommentiert. Die Reihenfolge der Zeilen ist daher nicht garantiert.

Hinweise

  • Ergebniss­palten, Artikelfilter (Lieferant, Konfigurationstyp, Smart Search) und Joins stammen aus der Prozedur pixi_ItemSearchPrepareDynamicQuery. Deren Definition liegt nicht vor, daher kann die genaue Spaltenliste hier nicht dokumentiert werden.
  • Alle Lesezugriffe verwenden NOLOCK; Ergebnisse können daher nicht festgeschriebene Daten enthalten.
  • Das Verhalten hängt von den Einstellungen ItemSearchLimit, MultiCurrencyEnabled und HalOrdersActiveDays ab. Die Alt-Einstellung ShowSupplPriceOnlyToTheseUsers wird gelesen, hat aber keine Wirkung, da kein Benutzername übergeben wird.
  • ShowStatistics = 1 wird an GOSItemSearch1 übergeben, im vorliegenden Code dieser Prozedur aber nicht verwendet.
  • Stolperfalle: Bei genau einem exakten Code-Treffer über ItemName setzt der Code zuerst ItemName auf NULL und kopiert den Wert danach nach EANUPC. Dadurch wird auch EANUPC NULL.
  • Einfache Anführungszeichen in ItemName und SupplNr werden maskiert, bevor sie in das dynamische SQL eingesetzt werden.

Parameter

Parameter Typ Standardwert Beschreibung
RowCount
int 0

Maximale Anzahl Zeilen. Bei 0 gilt die Einstellung ItemSearchLimit; ist diese ebenfalls 0, liegt das Limit bei 300.

Beispiel: 50

ItemName
varchar(100)
string
–

Suchbegriff. Ein exakter Einzeltreffer auf einen beliebigen Artikelcode liefert diesen Artikel. Andernfalls werden Artikel gesammelt, deren Code mit dem Begriff beginnt, und der Begriff dient zusätzlich als Smart Search über die Artikeldaten.

Beispiel: T-Shirt

ConfigType
varchar(4)
string
–

Filter auf den Konfigurationstyp, wird als TonTrArt weitergegeben. Leer bedeutet kein Filter.

SupplNr
varchar(4)
string
–

Lieferantennummer. Dient als Lieferantenfilter und beschränkt die offenen Lieferantenbestellmengen auf diesen Lieferanten.

Beispiel: L001

EANUPC
varchar(13)
string
–

EAN/UPC-Code. Wird exakt mit Artikelcodes verglichen, deren Codetyp scannbar ist.

Beispiel: 4006381333931

LocID
varchar(3)
string
001

Lager-ID für Bestandsdaten und offene Lieferantenbestellmengen.

Beispiel: 001

ShowOnlyItemsForExactSupplier
bit
boolean
0

Bei 1 werden nur Artikel genau des angegebenen Lieferanten geliefert. Wird ignoriert (auf 0 gesetzt), wenn SupplNr leer ist.

Erlaubte Werte

  • 0 – Keine Einschränkung auf den exakten Lieferanten
  • 1 – Nur Artikel des angegebenen Lieferanten

Beispiel: 0

Antwort

Result-Set 1 · Immer (kann leer sein)

Artikelzeilen aus der dynamischen Abfrage, begrenzt auf RowCount eindeutige Zeilen, ohne garantierte Reihenfolge. Die Spalten werden von pixi_ItemSearchPrepareDynamicQuery festgelegt, deren Definition nicht vorliegt. Sie umfassen Artikeldaten, Lieferantenpreise und Bestandsdaten zum Lager; die offenen Lieferantenbestelldaten werden in einer temporären Tabelle berechnet.

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:pixiItemSearch>
      <!-- <RowCount>50</RowCount> -->
      <!-- <ItemName>T-Shirt</ItemName> -->
      <!-- <ConfigType>?</ConfigType> -->
      <!-- <SupplNr>L001</SupplNr> -->
      <!-- <EANUPC>4006381333931</EANUPC> -->
      <!-- <LocID>001</LocID> -->
      <!-- <ShowOnlyItemsForExactSupplier>0</ShowOnlyItemsForExactSupplier> -->
    </ns1:pixiItemSearch>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Settings · Lesen Location · Lesen ItemCode · Lesen ItemCodeType · Lesen Suppliers · Lesen Items · Lesen SupplierOrderLine · Lesen SupplierOrder · Lesen SupplierOrderStatus · Lesen SupplierOrderLineLocQty · Lesen
SQL-Objekt:
dbo.pipiItemSearch
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben