pixiReadCustomerAccount
Liefert Buchungen des Kundenkontos (CustomerAccount) per Schlüssel, als Schlüsselbereich mit Paging oder gefiltert nach Anlage- und/oder Änderungsdatum.
Liest Zeilen aus der Tabelle CustomerAccount, dem Kundenkonto. Die Buchungen verweisen auf Rechnungen, Bankzeilen, DTAUS-Sätze und manuelle Buchungen. Die Parameter wählen genau einen der folgenden Modi, geprüft in dieser Reihenfolge:
- Anlage- oder Änderungsdatum:
CreateAndUpdateDateFromund/oderCreateAndUpdateDateToist gesetzt. Liefert Einträge mitCustomerAccountKey>CustomerAccountKey.- Von-Bedingung:
CreateDate>= von oderUpdateDate>= von. - Bis-Bedingung:
CreateDate< bis oderUpdateDate< bis.
- Von-Bedingung:
- Anlagedatum:
CreateDateFromund/oderCreateDateToist gesetzt. Liefert Einträge mitCustomerAccountKey>CustomerAccountKeyundCreateDateim halboffenen Bereich [von, bis). - Änderungsdatum:
UpdateDateFromund/oderUpdateDateToist gesetzt. Wie Modus 2, jedoch mitUpdateDate. - Schlüsselbereich:
RowCountist übergeben und kein Datum gesetzt. Liefert alle Einträge mitCustomerAccountKey>CustomerAccountKey. - Einzelner Eintrag: andernfalls. Liefert den Eintrag mit genau diesem
CustomerAccountKey.
Die Modi 1 bis 4 sind aufsteigend nach CustomerAccountKey sortiert. Ist RowCount ungleich 0, wird die Anzahl der zurückgegebenen Zeilen auf diesen Wert begrenzt (SET ROWCOUNT).
Für Keyset-Paging wird der zuletzt erhaltene CustomerAccountKey beim nächsten Aufruf als CustomerAccountKey übergeben.
ExchRateId wird nur gefüllt, wenn die Einstellung MultiCurrencyEnabled den Wert 1 hat; sonst ist die Spalte immer NULL.
Hinweise
- Liest mit
NOLOCK; nicht festgeschriebene Daten können geliefert werden. - Wird
CustomerAccountKeyweggelassen, wird0verwendet. Ohne Parameter läuft der Aufruf daher im Einzelmodus für Schlüssel0und liefert normalerweise keine Zeile. Der abschließende Zweig "keine Daten" im Code ist nie erreichbar. RowCount=0gilt für Modus 4 trotzdem als "übergeben". Der Aufruf liefert dann alle Einträge oberhalb des Schlüssels ohne Zeilenbegrenzung.- Im kombinierten Datumsmodus ist die ODER-Logik großzügig. Ein Eintrag passt, wenn irgendeines seiner beiden Daten die Von-Bedingung erfüllt und irgendeines die Bis-Bedingung. Das muss nicht dasselbe Datum sein.
- Die Datumsparameter-Gruppen werden nicht kombiniert. Es gilt nur die erste gesetzte Gruppe (in der Reihenfolge der Modi); die übrigen Gruppen werden ignoriert.
- Die Spaltentypen von
CustomerAccountsind nicht Teil des vorliegenden Codes; die angegebenen Spaltentypen sind teilweise angenommen.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
CustomerAccountKey
|
int | NULL |
Im Einzelmodus der Schlüssel des gewünschten Eintrags. In allen anderen Modi werden Einträge mit größerem Schlüssel geliefert (Paging-Start). NULL wird als 0 behandelt. 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); trifft zu, wenn Beispiel: |
CreateAndUpdateDateTo
|
datetime dateTime |
NULL |
Obergrenze (exklusiv); trifft zu, wenn Beispiel: |
RowCount
|
int | NULL |
Maximale Anzahl zurückgegebener Zeilen (0 oder NULL = unbegrenzt). Wird der Parameter ohne Datumsparameter übergeben (auch 0), liefert der Aufruf den Schlüsselbereich oberhalb von Beispiel: |
Antwort
Result-Set 1 · Immer (ggf. leer)
Kundenkonto-Einträge gemäß dem gewählten Modus.
| Spalte | Typ | Beschreibung |
|---|---|---|
CustomerAccountKey
|
int |
Primärschlüssel des Kundenkonto-Eintrags. |
CustRef
Kann leer sein |
int |
Referenz auf den Kunden. |
EventID
Kann leer sein |
string |
Art des Buchungsereignisses. |
EventDate
Kann leer sein |
dateTime |
Datum des Buchungsereignisses. |
Reference
Kann leer sein |
string |
Referenztext der Buchung. |
Amount
Kann leer sein |
decimal |
Buchungsbetrag. |
Matched
Kann leer sein |
string |
Ausgleichsstatus des Eintrags. |
InvoiceRef
Kann leer sein |
int |
Referenz auf die Rechnung. |
BanklineRef
Kann leer sein |
int |
Referenz auf die Bankzeile. |
DTAUSref
Kann leer sein |
int |
Referenz auf den DTAUS-Satz (Lastschrift). |
ManualBookingRef
Kann leer sein |
int |
Referenz auf eine manuelle Buchung. |
DoNotRefund
Kann leer sein |
string |
Kennzeichen, dass der Betrag nicht erstattet werden soll. |
CreateEmp
Kann leer sein |
string |
Mitarbeiter, der den Eintrag angelegt hat. |
CreateDate
Kann leer sein |
datetime dateTime |
Anlagezeitpunkt. |
UpdateEmp
Kann leer sein |
string |
Mitarbeiter der letzten Änderung. |
UpdateDate
Kann leer sein |
datetime dateTime |
Zeitpunkt der letzten Änderung. |
Comment
Kann leer sein |
string |
Kommentar. |
CATKey
Kann leer sein |
int |
Schlüssel des Kundenkonto-Typs bzw. der Kategorie. |
ExchRateId
Kann leer sein |
int |
Wechselkurs-ID; nur gefüllt, wenn die Einstellung |
CurrencyId
Kann leer sein |
string |
Währung des Eintrags. |
Beispielantwort
<SqlRowSet1>
<row>
<CustomerAccountKey>1201</CustomerAccountKey>
<CustRef>4711</CustRef>
<EventID>INV</EventID>
<EventDate>2024-01-15T10:22:00</EventDate>
<Reference>RE-2024-000123</Reference>
<Amount>-59.90</Amount>
<Matched>0</Matched>
<InvoiceRef>88123</InvoiceRef>
<DoNotRefund>0</DoNotRefund>
<CreateEmp>API</CreateEmp>
<CreateDate>2024-01-15T10:22:00</CreateDate>
<UpdateEmp>API</UpdateEmp>
<UpdateDate>2024-01-15T10:22:00</UpdateDate>
<CATKey>1</CATKey>
<CurrencyId>EUR</CurrencyId>
</row>
<row>
<CustomerAccountKey>1202</CustomerAccountKey>
<CustRef>4711</CustRef>
<EventID>PAY</EventID>
<EventDate>2024-01-16T08:05:00</EventDate>
<Reference>Bank transfer</Reference>
<Amount>59.90</Amount>
<Matched>1</Matched>
<BanklineRef>30551</BanklineRef>
<DoNotRefund>0</DoNotRefund>
<CreateEmp>SYS</CreateEmp>
<CreateDate>2024-01-16T08:05:00</CreateDate>
<UpdateEmp>SYS</UpdateEmp>
<UpdateDate>2024-01-16T08:05:00</UpdateDate>
<CATKey>2</CATKey>
<CurrencyId>EUR</CurrencyId>
</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:pixiReadCustomerAccount>
<!-- <CustomerAccountKey>0</CustomerAccountKey> -->
<!-- <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-15T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-01-16T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadCustomerAccount>
</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:pixiReadCustomerAccount>
<!-- <CustomerAccountKey>0</CustomerAccountKey> -->
<!-- <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-15T00:00:00</CreateAndUpdateDateFrom> -->
<!-- <CreateAndUpdateDateTo>2024-01-16T00:00:00</CreateAndUpdateDateTo> -->
<!-- <RowCount>500</RowCount> -->
</ns1:pixiReadCustomerAccount>
</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 = [
// 'CustomerAccountKey' => '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-15T00:00:00',
// 'CreateAndUpdateDateTo' => '2024-01-16T00:00:00',
// 'RowCount' => '500',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReadCustomerAccount', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReadCustomerAccount