pixiAddressesDisplayDuplicatesMarkUsed
Markiert ein gespeichertes Paar möglicher Kundendubletten als verwendet, indem `UsedFlag` = 1 in der Dublettenliste gesetzt wird.
Markiert einen Eintrag der Adress-Dublettenliste (Addresses_Duplicates) als verwendet.
- Es wird geprüft, ob mindestens eine Zeile mit
CustRef1=@CustRef1undCustRef2=@CustRef2existiert. - Existiert keine solche Zeile, wird eine Statuszeile mit
ReturnCode=ERRORgeliefert und nichts geändert. - Andernfalls wird
UsedFlagbei allen Zeilen dieses Paares auf1gesetzt und eine Statuszeile mitReturnCode=OKgeliefert.
Das Paar wird exakt in der übergebenen Reihenfolge gesucht: CustRef1/CustRef2 werden nicht vertauscht, ein als (B, A) gespeichertes Paar wird bei Aufruf mit (A, B) also nicht gefunden.
Hinweise
- Die Existenzprüfung liest mit
NOLOCK; Prüfung und Update laufen nicht in einer Transaktion. - Der Fehlertext "At least one customers not existing" ist irreführend: Er erscheint, wenn das Dublettenpaar nicht in
Addresses_Duplicatesvorhanden ist, nicht nach einer Prüfung der Kundentabelle. - Ein erneuter Aufruf für ein bereits markiertes Paar liefert wieder
OK(idempotent). - Der Statustext steht immer in der Spalte
ErrorMessage, auch bei Erfolg.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
CustRef1
Pflicht
|
int | – |
Referenz des ersten Kunden des Dublettenpaares, verglichen mit Beispiel: |
CustRef2
Pflicht
|
int | – |
Referenz des zweiten Kunden des Dublettenpaares, verglichen mit Beispiel: |
Antwort
Result-Set 1 · Immer; eine Statuszeile (ERROR, wenn das Paar nicht existiert, OK nach dem Update).
Status der Verarbeitung.
| Spalte | Typ | Beschreibung |
|---|---|---|
ReturnCode
|
varchar(5) string |
|
ErrorMessage
|
varchar(35) string |
Statustext: |
Beispielantwort
<SqlRowSet1>
<row>
<ReturnCode>OK</ReturnCode>
<ErrorMessage>Record marked as used</ErrorMessage>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| ERROR | At least one customers not existing | Keine Zeile in `Addresses_Duplicates` passt zu `CustRef1` = `@CustRef1` und `CustRef2` = `@CustRef2`. Das Paar genau so übergeben, wie es in der Dublettenliste gespeichert ist (Reihenfolge beachten). |
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:pixiAddressesDisplayDuplicatesMarkUsed>
<CustRef1>10452</CustRef1>
<CustRef2>10987</CustRef2>
</ns1:pixiAddressesDisplayDuplicatesMarkUsed>
</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:pixiAddressesDisplayDuplicatesMarkUsed>
<CustRef1>10452</CustRef1>
<CustRef2>10987</CustRef2>
</ns1:pixiAddressesDisplayDuplicatesMarkUsed>
</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 = [
'CustRef1' => '10452',
'CustRef2' => '10987',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiAddressesDisplayDuplicatesMarkUsed', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiAddressesDisplayDuplicatesMarkUsed