pixiReadBundleItems
Liefert Bundle-Artikel-Datensätze (Bundle-Komponenten) aus BundleItems, gefiltert nach Schlüssel, Anlage- und/oder Änderungsdatum, optional mit schlüsselbasiertem Paging.
Liest Datensätze aus der Tabelle BundleItems. Jeder Datensatz verknüpft einen Artikel (ItemRef) mit einem enthaltenen Bundle-Artikel (BundleItemRef) und einer Menge (Qty).
Ist RowCount auf einen Wert ungleich 0 gesetzt, wird die Anzahl der zurückgegebenen Zeilen auf diesen Wert begrenzt. Wird BundleItemKey nicht übergeben, gilt der Wert 0.
Die Filterparameter werden in fester Reihenfolge geprüft. Verwendet wird nur die erste zutreffende Filtergruppe:
- Kombinierter Datumsfilter:
CreateAndUpdateDateFromoderCreateAndUpdateDateToist gesetzt. Die Untergrenze ist erfüllt, wennCreateDateoderUpdateDateam oder nachCreateAndUpdateDateFromliegt. Die Obergrenze ist erfüllt, wennCreateDateoderUpdateDatevorCreateAndUpdateDateToliegt. Geliefert werden nur Zeilen mitBundleItemKey>BundleItemKey. - Anlagedatumsfilter:
CreateDateFromoderCreateDateToist gesetzt. Gefiltert wird mitCreateDate>= von undCreateDate< bis, zusätzlich giltBundleItemKey>BundleItemKey. - Änderungsdatumsfilter:
UpdateDateFromoderUpdateDateToist gesetzt. Gefiltert wird mitUpdateDate>= von undUpdateDate< bis, zusätzlich giltBundleItemKey>BundleItemKey. - Schlüsselbereich / Paging: Kein Datumsfilter ist gesetzt, aber
RowCountwird übergeben. Geliefert werden alle Zeilen mitBundleItemKey>BundleItemKey. - Einzelner Datensatz: Weder ein Datumsfilter noch
RowCountwird übergeben. Geliefert wird die Zeile mit genauBundleItemKey=BundleItemKey.
Die Untergrenzen schließen den angegebenen Wert ein, die Obergrenzen schließen ihn aus. Die Zweige 1 bis 4 sind aufsteigend nach BundleItemKey sortiert.
Für Paging wird RowCount übergeben und BundleItemKey auf den letzten BundleItemKey der vorherigen Seite gesetzt.
Hinweise
- Alle Lesezugriffe verwenden
WITH (NOLOCK). Die Ergebnisse können nicht festgeschriebene Daten enthalten. - Die Zeilenbegrenzung erfolgt über
SET ROWCOUNT. - Wird
RowCount=0übergeben, greift trotzdem Zweig 4 (Schlüsselbereich), da der Wert nicht NULL ist. In diesem Fall gilt keine Zeilenbegrenzung, und es werden alle Zeilen oberhalb des Schlüssels geliefert. - Ein Aufruf ohne Parameter liefert die Zeile mit
BundleItemKey= 0. Das ergibt in der Regel ein leeres Ergebnis. - Der abschließende Zweig „keine Daten“ im Code ist nie erreichbar, da
BundleItemKeyan dieser Stelle nie NULL ist. - Die genaue Bedeutung von
ItemRefundBundleItemRefist im Code nicht festgelegt. Vermutlich istItemRefder Bundle-Artikel (übergeordneter Artikel) undBundleItemRefder enthaltene Komponenten-Artikel. - Die Datentypen der Spalten
ItemRef,BundleItemRefundQtysind im Code nicht ersichtlich.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
BundleItemKey
|
int | NULL |
Bei Datumsfiltern oder Beispiel: |
CreateDateFrom
|
datetime dateTime |
NULL |
Untergrenze (inklusive) für Beispiel: |
CreateDateTo
|
datetime dateTime |
NULL |
Obergrenze (exklusiv) für Beispiel: |
UpdateDateFrom
|
datetime dateTime |
NULL |
Untergrenze (inklusive) für Beispiel: |
UpdateDateTo
|
datetime dateTime |
NULL |
Obergrenze (exklusiv) für Beispiel: |
CreateAndUpdateDateFrom
|
datetime dateTime |
NULL |
Untergrenze (inklusive), die Beispiel: |
CreateAndUpdateDateTo
|
datetime dateTime |
NULL |
Obergrenze (exklusiv): Beispiel: |
RowCount
|
int | NULL |
Maximale Anzahl zurückgegebener Zeilen (0 oder NULL = keine Begrenzung). Ist der Wert gesetzt und kein Datumsfilter angegeben, liefert der Aufruf Zeilen mit einem Schlüssel größer als Beispiel: |
Antwort
Result-Set 1 · Immer (genau einer der Filterzweige wird ausgeführt); kann leer sein.
Bundle-Artikel-Datensätze aus BundleItems. Aufsteigend nach BundleItemKey sortiert, außer im Einzelsatzmodus.
| Spalte | Typ | Beschreibung |
|---|---|---|
BundleItemKey
|
int |
Primärschlüssel des Bundle-Artikel-Datensatzes. |
ItemRef
Kann leer sein |
int |
Referenz auf den Artikel, zu dem der Datensatz gehört (vermutlich der Bundle-Artikel). |
BundleItemRef
Kann leer sein |
int |
Referenz auf den im Bundle enthaltenen Artikel (Komponente). |
Qty
Kann leer sein |
decimal |
Menge der Komponente im Bundle. |
CreateDate
Kann leer sein |
datetime dateTime |
Anlagedatum des Datensatzes. |
UpdateDate
Kann leer sein |
datetime dateTime |
Datum der letzten Änderung des Datensatzes. |
Beispielantwort
<SqlRowSet1>
<row>
<BundleItemKey>101</BundleItemKey>
<ItemRef>5012</ItemRef>
<BundleItemRef>4870</BundleItemRef>
<Qty>2</Qty>
<CreateDate>2024-01-15T10:22:31</CreateDate>
<UpdateDate>2024-01-20T08:05:12</UpdateDate>
</row>
<row>
<BundleItemKey>102</BundleItemKey>
<ItemRef>5012</ItemRef>
<BundleItemRef>4871</BundleItemRef>
<Qty>1</Qty>
<CreateDate>2024-01-15T10:22:31</CreateDate>
<UpdateDate>2024-01-15T10:22:31</UpdateDate>
</row>
</SqlRowSet1>
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:pixiReadBundleItems>
<!-- <BundleItemKey>0</BundleItemKey> -->
<!-- <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-01-01T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-02-01T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadBundleItems>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?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:pixiReadBundleItems>
<!-- <BundleItemKey>0</BundleItemKey> -->
<!-- <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-01-01T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-02-01T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadBundleItems>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
// 'BundleItemKey' => '0',
// 'CreateDateFrom' => '2024-01-01T00:00:00',
// 'CreateDateTo' => '2024-02-01T00:00:00',
// 'UpdateDateFrom' => '2024-01-01T00:00:00',
// 'UpdateDateTo' => '2024-02-01T00:00:00',
// 'CreateAndUpdateDateFrom' => '2024-01-01T00:00:00',
// 'CreateAndUpdateDateTo' => '2024-02-01T00:00:00',
// 'RowCount' => '500',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReadBundleItems', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReadBundleItems