pixiBanklineExists
Liefert die Anzahl der Bankzeilen, die zu den übergebenen Banktexten und optional zum Betrag passen.
Prüft, ob Bankzeilen (BankLines) mit den übergebenen Werten bereits vorhanden sind, zum Beispiel vor dem Import eines Kontoauszugs.
- Leere Zeichenketten in
BankText01,BankText02undBankText03werden wieNULLbehandelt. - Mindestens einer der drei Textparameter muss gefüllt sein. Sind alle drei leer oder nicht angegeben, findet keine Suche statt; die Ergebniszeile enthält
count= 0 und in der Spalteerroreine Meldung. - Andernfalls werden alle Bankzeilen gezählt, bei denen jeder angegebene Parameter exakt mit der gleichnamigen Spalte übereinstimmt (
=-Vergleich, keinLIKE). Nicht angegebene Parameter schränken die Suche nicht ein. BankAmountist optional und wird exakt mitBankAmountverglichen.
Der Aufruf liefert immer genau eine Zeile mit der Anzahl, einem Meldungstext und einem Fehlertext (oder NULL).
Hinweise
- Fehler werden nicht als SQL-Fehler ausgelöst. Die Spalte
errorist zu prüfen: Ist sie nichtNULL, waren die Parameter ungültig. In diesem Fall lautetmessagetrotzdemNo bankline was found.. - Stolperfalle: Ein nicht angegebener Parameter wird durch die Spalte selbst ersetzt (
ISNULL(@Param, Spalte)). Bankzeilen, bei denen eine der SpaltenBankText01,BankText02,BankText03oderBankAmountNULList, werden daher nie gezählt, auch wenn der betreffende Parameter nicht übergeben wurde. - Der Textvergleich verwendet die Sortierung der Datenbank (meist ohne Beachtung der Groß-/Kleinschreibung). Nachgestellte Leerzeichen werden beim Vergleich ignoriert, führende nicht.
- Die Abfrage liest ohne
NOLOCK. Es gibt keine Seiteneffekte.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
BankText01
|
varchar(1024) string |
NULL |
Erster Banktext, nach dem gesucht wird (exakter Vergleich mit Beispiel: |
BankText02
|
varchar(1024) string |
NULL |
Zweiter Banktext, nach dem gesucht wird (exakter Vergleich mit Beispiel: |
BankText03
|
varchar(1024) string |
NULL |
Dritter Banktext, nach dem gesucht wird (exakter Vergleich mit Beispiel: |
BankAmount
|
money decimal |
NULL |
Optionaler Betrag der Bankzeile (exakter Vergleich mit Beispiel: |
Antwort
Result-Set 1 · Immer, genau eine Zeile
Anzahl der passenden Bankzeilen mit einer Meldung und, bei ungültigen Parametern, einem Fehlertext.
| Spalte | Typ | Beschreibung |
|---|---|---|
count
|
int |
Anzahl der passenden Bankzeilen; 0, wenn keine gefunden wurden oder die Parameter ungültig waren. |
message
|
varchar(22) string |
|
error
Kann leer sein |
varchar(100) string |
Fehlertext, wenn keiner der Textparameter angegeben wurde, sonst |
Beispielantwort
<SqlRowSet1>
<row>
<count>1</count>
<message>Bankline/s exist.</message>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| error (column) | One of parameters BankText01, BankText02 or BankText03 is mandatory! | `BankText01`, `BankText02` und `BankText03` fehlen alle oder sind leer. Mindestens ein nicht leerer Banktext ist zu übergeben. |
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:pixiBanklineExists>
<!-- <BankText01>Max Mustermann</BankText01> -->
<!-- <BankText02>Rechnung 2024-10045</BankText02> -->
<!-- <BankText03>DE89370400440532013000</BankText03> -->
<!-- <BankAmount>149.90</BankAmount> -->
</ns1:pixiBanklineExists>
</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:pixiBanklineExists>
<!-- <BankText01>Max Mustermann</BankText01> -->
<!-- <BankText02>Rechnung 2024-10045</BankText02> -->
<!-- <BankText03>DE89370400440532013000</BankText03> -->
<!-- <BankAmount>149.90</BankAmount> -->
</ns1:pixiBanklineExists>
</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 = [
// 'BankText01' => 'Max Mustermann',
// 'BankText02' => 'Rechnung 2024-10045',
// 'BankText03' => 'DE89370400440532013000',
// 'BankAmount' => '149.90',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiBanklineExists', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiBanklineExists