pixiRepairCustomerData
Liefert Rechnungs- und Lieferadressen sowie Shop-Notizen der in einem Zeitraum angelegten Aufträge als Vorschau für die Bereinigung ungültiger Zeichen.
Laut Kopfkommentar dient die Prozedur dazu, ungültige Zeichen für die API-Ausgabe zu reparieren. Der aktuelle Code ändert jedoch keine Daten. Er selektiert nur die betroffenen Datensätze.
Ablauf:
- Ohne
FromDatewird der Beginn des aktuellen Tages (00:00:00) verwendet. OhneToDatewird das Ende des aktuellen Tages (23:59:59.997) verwendet. - Aus
OrderHeaderwerden alle Aufträge ermittelt, derenCreateDatezwischenFromDateundToDateliegt (jeweils einschließlich) und die sowohl eine Rechnungsadresse (AddrRef <> 0) als auch eine Lieferadresse (ShipAdrRef <> 0) besitzen. - Die Rechnungs- und Lieferadressschlüssel dieser Aufträge werden gesammelt.
- Anschließend wird eine Transaktion geöffnet:
- Bei
CommitResult = 1wird die leere Transaktion bestätigt. Es wird keine Ergebnismenge geliefert. - Andernfalls (0 oder NULL) werden zwei Ergebnismengen geliefert, danach wird die Transaktion zurückgerollt:
- die Namens-, Adress- und Telefonfelder aller gesammelten Adressen aus
Addresses. Jede Adresse erscheint nur einmal. OrderNrundShop_Notealler gesammelten Aufträge.
- die Namens-, Adress- und Telefonfelder aller gesammelten Adressen aus
- Bei
Die Sortierung beider Ergebnismengen ist nicht festgelegt.
Hinweise
- Trotz des Namens führt die Prozedur keine Änderungen durch. Die Transaktion enthält keine Datenänderungen.
CommitResult = 1bewirkt daher nur, dass keine Ausgabe erfolgt. Die eigentliche Reparaturlogik wurde offenbar entfernt. - Alle Lesezugriffe erfolgen mit
NOLOCK. Daher können auch nicht festgeschriebene Daten geliefert werden. - Aufträge ohne Rechnungs- oder Lieferadresse (Referenz 0) werden vollständig ignoriert.
- Große Zeiträume können zu umfangreichen Ergebnismengen führen.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
FromDate
|
datetime dateTime |
NULL |
Beginn des Zeitraums für das Anlagedatum der Aufträge (einschließlich). Bei NULL wird der Beginn des aktuellen Tages verwendet. Beispiel: |
ToDate
|
datetime dateTime |
NULL |
Ende des Zeitraums für das Anlagedatum der Aufträge (einschließlich). Bei NULL wird das Ende des aktuellen Tages (23:59:59.997) verwendet. Beispiel: |
CommitResult
|
bit boolean |
0 |
Steuert, ob die Transaktion bestätigt wird oder die betroffenen Daten als Vorschau geliefert werden. Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Wenn CommitResult nicht 1 ist
Rechnungs- und Lieferadressen der ermittelten Aufträge.
| Spalte | Typ | Beschreibung |
|---|---|---|
Anrede
Kann leer sein |
string |
Anrede. |
CareOf
Kann leer sein |
string |
c/o-Zusatz. |
Name
Kann leer sein |
string |
Namenszeile 1. |
Name2
Kann leer sein |
string |
Namenszeile 2. |
FirstName
Kann leer sein |
string |
Vorname. |
LastName
Kann leer sein |
string |
Nachname. |
Street
Kann leer sein |
string |
Straße. |
HouseNr
Kann leer sein |
string |
Hausnummer. |
City
Kann leer sein |
string |
Ort. |
State
Kann leer sein |
string |
Bundesland bzw. Region. |
Country
Kann leer sein |
string |
Land. |
Phone
Kann leer sein |
string |
Telefonnummer. |
Phone2
Kann leer sein |
string |
Zweite Telefonnummer. |
Result-Set 2 · Wenn CommitResult nicht 1 ist
Auftragsnummern und Shop-Notizen der ermittelten Aufträge.
| Spalte | Typ | Beschreibung |
|---|---|---|
OrderNr
|
int |
Auftragsnummer. |
Shop_Note
Kann leer sein |
string |
Notiz aus dem Shop zum Auftrag. |
Beispielantwort
<SqlRowSet1>
<row>
<Anrede>Herr</Anrede>
<CareOf/>
<Name>Max Mustermann</Name>
<Name2/>
<FirstName>Max</FirstName>
<LastName>Mustermann</LastName>
<Street>Hauptstraße</Street>
<HouseNr>12</HouseNr>
<City>Berlin</City>
<State/>
<Country>DE</Country>
<Phone>030 123456</Phone>
<Phone2/>
</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:pixiRepairCustomerData>
<!-- <FromDate>2024-05-01T00:00:00</FromDate> -->
<!-- <ToDate>2024-05-01T23:59:59</ToDate> -->
<!-- <CommitResult>0</CommitResult> -->
</ns1:pixiRepairCustomerData>
</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:pixiRepairCustomerData>
<!-- <FromDate>2024-05-01T00:00:00</FromDate> -->
<!-- <ToDate>2024-05-01T23:59:59</ToDate> -->
<!-- <CommitResult>0</CommitResult> -->
</ns1:pixiRepairCustomerData>
</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 = [
// 'FromDate' => '2024-05-01T00:00:00',
// 'ToDate' => '2024-05-01T23:59:59',
// 'CommitResult' => '0',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiRepairCustomerData', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiRepairCustomerData