pixiReadCustomerAccountMatch
Liefert Ausgleichsdatensätze des Kundenkontos (Paare ausgeglichener Kundenkontobuchungen), gefiltert nach Datum, Kunde oder Kontobuchung, mit Keyset-Paging.
Liest Datensätze aus der Tabelle CustomerAccountMatch. Jeder Datensatz verknüpft zwei Kundenkontobuchungen (CAref1, CAref2) mit dem ausgeglichenen Betrag AbsoluteMatchAmount.
Paging: CustomerAccountMatchKey dient als Cursor. Es werden nur Datensätze mit einem Schlüssel größer als dem übergebenen Wert geliefert (NULL wird als 0 behandelt). Es werden höchstens RowCount Zeilen geliefert (NULL wird als 1000 behandelt), aufsteigend sortiert nach CustomerAccountMatchKey. Für die nächste Seite wird der höchste Schlüssel der vorherigen Seite übergeben.
Datumsfilter: Es wird nur eine Gruppe von Datumsfiltern angewendet. Die Gruppen werden in dieser Reihenfolge geprüft:
CreateAndUpdateDateFrom/CreateAndUpdateDateTo: Ein Datensatz erfüllt die Untergrenze, wennCreateDateoderUpdateDate>= dem Von-Wert ist, und die Obergrenze, wennCreateDateoderUpdateDate< dem Bis-Wert ist.CreateDateFrom/CreateDateTo: Filter aufCreateDate(Von inklusive, Bis exklusive).UpdateDateFrom/UpdateDateTo: Filter aufUpdateDate(Von inklusive, Bis exklusive).
Ist in einer höherrangigen Gruppe mindestens ein Wert gesetzt, werden die Datumsparameter der nachrangigen Gruppen ignoriert. Ohne Datumsparameter werden nur der Schlüssel und die übrigen Filter angewendet.
Weitere Filter (immer angewendet):
CustRef: Der Kunde der ersten oder der zweiten verknüpften Kundenkontobuchung muss übereinstimmen.CustomerAccountKey:CAref1oderCAref2muss dem übergebenen Wert entsprechen.
Hinweise
CustomerAccountMatchKeyist keine exakte Suche: Da NULL-Werte vonCustomerAccountMatchKeyundRowCountzu Beginn durch Standardwerte ersetzt werden, verwendet der Code immer den Bereichszweig (Schlüssel > Wert). Der Zweig für einen exakten Schlüsseltreffer und der Zweig für ein leeres Ergebnis werden nie erreicht. Um einen einzelnen Datensatz mit Schlüsselnzu lesen, wirdn - 1undRowCount = 1übergeben.- Der kombinierte Anlage-/Änderungsdatumsfilter verknüpft seine Bedingungen mit OR; Unter- und Obergrenze können also durch unterschiedliche Datumsspalten erfüllt werden. Das Ergebnis kann daher weiter gefasst sein als ein exaktes Zeitfenster.
- Alle Lesezugriffe erfolgen mit
NOLOCK; es können nicht festgeschriebene Daten geliefert werden. RowCount = 0liefert keine Zeilen.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
CustomerAccountMatchKey
|
int | NULL |
Paging-Cursor: Es werden nur Datensätze mit einem Schlüssel größer als dieser Wert geliefert. NULL wird als 0 behandelt. Beispiel: |
CreateDateFrom
|
datetime dateTime |
NULL |
Untergrenze (inklusive) für Beispiel: |
CreateDateTo
|
datetime dateTime |
NULL |
Obergrenze (exklusive) für Beispiel: |
UpdateDateFrom
|
datetime dateTime |
NULL |
Untergrenze (inklusive) für Beispiel: |
UpdateDateTo
|
datetime dateTime |
NULL |
Obergrenze (exklusive) für Beispiel: |
CreateAndUpdateDateFrom
|
datetime dateTime |
NULL |
Untergrenze (inklusive): Ein Datensatz passt, wenn Beispiel: |
CreateAndUpdateDateTo
|
datetime dateTime |
NULL |
Obergrenze (exklusive): Ein Datensatz passt, wenn Beispiel: |
RowCount
|
int | 1000 |
Maximale Anzahl gelieferter Zeilen. NULL wird als 1000 behandelt. Beispiel: |
CustRef
|
int | NULL |
Kundenreferenz: Liefert nur Ausgleiche, bei denen eine der beiden verknüpften Kundenkontobuchungen zu diesem Kunden gehört. Beispiel: |
CustomerAccountKey
|
int | NULL |
Schlüssel der Kundenkontobuchung: Liefert nur Ausgleiche, bei denen Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Ausgleichsdatensätze des Kundenkontos, aufsteigend sortiert nach CustomerAccountMatchKey, begrenzt auf RowCount Zeilen.
| Spalte | Typ | Beschreibung |
|---|---|---|
CustomerAccountMatchKey
|
int |
Primärschlüssel des Ausgleichsdatensatzes; dient als Paging-Cursor. |
CAref1
Kann leer sein |
int |
Schlüssel der ersten ausgeglichenen Kundenkontobuchung ( |
CAref2
Kann leer sein |
int |
Schlüssel der zweiten ausgeglichenen Kundenkontobuchung ( |
AbsoluteMatchAmount
Kann leer sein |
decimal |
Ausgeglichener Betrag als Absolutwert. |
CreateEmp
Kann leer sein |
string |
Mitarbeiter, der den Datensatz angelegt hat. |
CreateDate
Kann leer sein |
datetime dateTime |
Anlagedatum des Datensatzes. |
UpdateEmp
Kann leer sein |
string |
Mitarbeiter, der den Datensatz zuletzt geändert hat. |
UpdateDate
Kann leer sein |
datetime dateTime |
Datum der letzten Änderung. |
Beispielantwort
<SqlRowSet1>
<row>
<CustomerAccountMatchKey>1201</CustomerAccountMatchKey>
<CAref1>55812</CAref1>
<CAref2>55890</CAref2>
<AbsoluteMatchAmount>119.0000</AbsoluteMatchAmount>
<CreateEmp>PIXI</CreateEmp>
<CreateDate>2024-01-15T10:22:31</CreateDate>
<UpdateEmp>PIXI</UpdateEmp>
<UpdateDate>2024-01-15T10:22:31</UpdateDate>
</row>
<row>
<CustomerAccountMatchKey>1202</CustomerAccountMatchKey>
<CAref1>55901</CAref1>
<CAref2>55934</CAref2>
<AbsoluteMatchAmount>49.9000</AbsoluteMatchAmount>
<CreateEmp>MM</CreateEmp>
<CreateDate>2024-01-16T08:05:12</CreateDate>
<UpdateEmp>MM</UpdateEmp>
<UpdateDate>2024-01-17T14:40:03</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:pixiReadCustomerAccountMatch>
<!-- <CustomerAccountMatchKey>0</CustomerAccountMatchKey> -->
<!-- <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> -->
<!-- <CustRef>10234</CustRef> -->
<!-- <CustomerAccountKey>55812</CustomerAccountKey> -->
</ns1:pixiReadCustomerAccountMatch>
</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:pixiReadCustomerAccountMatch>
<!-- <CustomerAccountMatchKey>0</CustomerAccountMatchKey> -->
<!-- <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> -->
<!-- <CustRef>10234</CustRef> -->
<!-- <CustomerAccountKey>55812</CustomerAccountKey> -->
</ns1:pixiReadCustomerAccountMatch>
</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 = [
// 'CustomerAccountMatchKey' => '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',
// 'CustRef' => '10234',
// 'CustomerAccountKey' => '55812',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReadCustomerAccountMatch', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReadCustomerAccountMatch