pixiUpdateSupplier
Aktualisiert Stammdaten, Hauptansprechpartner sowie Sperr- und Deaktivierungskennzeichen eines bestehenden Lieferanten anhand seiner Lieferantennummer.
Führt eine Teilaktualisierung eines Lieferanten in Suppliers durch, identifiziert über SupplNr.
- Leere Zeichenketten in den meisten Parametern werden in
NULLumgewandelt.SupplCtrywird vorher getrimmt. Ein Parameter mitNULLoder Leerwert lässt den gespeicherten Wert unverändert (ISNULL(neu, alt)). - Der Lieferant wird über
SupplNrgesucht. Existiert er nicht, wird eine Fehlerzeile zurückgegeben. - Bei
IsLocked = 1oderIsDisabled = 1istSupplierNotePflicht. Ist die Notiz angegeben, wird inSupplierNoteeine Notiz mit dem TitelSupplier Locked by UserId: {id}bzw.Supplier Disabled by UserId: {id}angelegt. Als Benutzer dient der Pixi-Benutzerapi, ersatzweisepixiAdministration. Sind beide Kennzeichen 1, entstehen zwei Notizen. - Innerhalb einer Transaktion (bzw. eines Savepoints bei bereits offener Transaktion des Aufrufers):
- Hat der Lieferant noch keine
ContactId, wird ein leererContact-Datensatz angelegt und verknüpft. - Die Lieferantenfelder werden aktualisiert.
UpdateDateerhält den aktuellen Zeitpunkt,UpdateEmpden WertAPI. - Der verknüpfte Kontakt wird mit den
MainContact_*-Werten aktualisiert.
- Hat der Lieferant noch keine
- Es wird eine Statuszeile mit
RowsAffected,ReturnCode,MessageundErrorMessagezurückgegeben.
CanDoDirectFulfillment akzeptiert Y/N. Andere Werte lassen das Kennzeichen unverändert. IsLocked = 0 bzw. IsDisabled = 0 entsperren bzw. aktivieren den Lieferanten ohne Pflichtnotiz.
Hinweise
- Notizen außerhalb der Transaktion: Das Anlegen der
SupplierNotebeim Sperren oder Deaktivieren erfolgt vor Beginn der Transaktion. Es wird bei einem späteren Fehler im Update nicht zurückgerollt. Es wird auch versucht, wenn der Lieferant nicht existiert;SupplierIdist dannNULL. Datenbankfehler dieses Inserts werden nicht abgefangen und kommen alsSqlMessagezurück. - Fehlende
SupplNr: Die Meldung für eine leereSupplNrwird durch die Meldung "does not exist" überschrieben. Diese wird durch Verkettung mitNULLselbstNULL. Der Aufrufer erhältReturnCode = Errormit leerem bzw.NULL-ErrorMessage. - Vorrang der Fehler: Ein Fehler wegen fehlender Notiz beim Sperren oder Deaktivieren überschreibt die Meldung "does not exist" in
ErrorMessage. - Nullwerte:
DefaultDeliveryDaysundCurrencyIdwerden mit''verglichen, was zu 0 konvertiert wird. Der Wert0gilt daher als "nicht angegeben" und kann nicht gesetzt werden. - Felder lassen sich nicht leeren: Eine leere Zeichenkette leert kein Feld, da sie als "keine Änderung" behandelt wird.
- Ungenutzter Parameter:
SupplGroupist deklariert, wird aber nicht verwendet. - Meldungstext: Die generische Meldung enthält den Tippfehler
conntact. - Sperrhinweise: Lesezugriffe nutzen
NOLOCK, UpdatesROWLOCK.XACT_ABORTist aktiv. Bei einem abgefangenen Fehler wird die Transaktion bzw. der Savepoint zurückgerollt und eine Fehlerzeile geliefert. - Kontakt-Update:
RowVersiondes Kontakts wird immer auf 1 gesetzt.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
SupplNr
|
varchar(4) string |
NULL |
Lieferantennummer des zu aktualisierenden Lieferanten. Faktisch Pflicht; ohne sie wird eine Fehlerzeile geliefert. Beispiel: |
SupplName
|
varchar(60) string |
NULL |
Neuer Lieferantenname ( Beispiel: |
SupplNameExt
|
varchar(50) string |
NULL |
Namenszusatz ( Beispiel: |
SupplGroup
|
varchar(4) string |
NULL |
Lieferantengruppe. Deklariert, aber im Code nicht verwendet. |
DefaultDeliveryDays
|
int | NULL |
Standard-Lieferzeit in Tagen ( Beispiel: |
SupplFaxNR
|
varchar(100) string |
NULL |
Faxnummer ( Beispiel: |
CustNR
|
varchar(20) string |
NULL |
Eigene Kundennummer beim Lieferanten ( Beispiel: |
eMail
|
varchar(60) string |
NULL |
Allgemeine E-Mail-Adresse, gespeichert in Beispiel: |
SupAnrede
|
varchar(20) string |
NULL |
Anrede ( Beispiel: |
SupName2
|
varchar(60) string |
NULL |
Zweite Namenszeile ( Beispiel: |
SupAddress
|
varchar(50) string |
NULL |
Straße und Hausnummer ( Beispiel: |
SupZip
|
varchar(20) string |
NULL |
Postleitzahl ( Beispiel: |
SupPhone1
|
varchar(50) string |
NULL |
Erste Telefonnummer ( Beispiel: |
CanDoDirectFulfillment
|
varchar(1) string |
NULL |
Ob der Lieferant Direktversand (Streckengeschäft) durchführen kann. Andere Werte lassen das Kennzeichen unverändert. Erlaubte Werte
Beispiel: |
SupCity
|
varchar(50) string |
NULL |
Ort ( Beispiel: |
SupPhone2
|
varchar(50) string |
NULL |
Zweite Telefonnummer ( Beispiel: |
SupplCtry
|
varchar(3) string |
NULL |
Ländercode ( Beispiel: |
CurrencyId
|
smallint int |
NULL |
Währungs-ID des Lieferanten ( Beispiel: |
eMailSupplOrder
|
varchar(255) string |
NULL |
E-Mail-Adresse für Lieferantenbestellungen ( Beispiel: |
HomePageUrl
|
nvarchar(2000) string |
NULL |
URL der Website ( Beispiel: |
MainContact_Title
|
nvarchar(100) string |
NULL |
Titel des Hauptansprechpartners ( Beispiel: |
MainContact_FirstName
|
nvarchar(20) string |
NULL |
Vorname des Hauptansprechpartners. Beispiel: |
MainContact_LastName
|
nvarchar(200) string |
NULL |
Nachname des Hauptansprechpartners. Beispiel: |
MainContact_JobTitle
|
nvarchar(200) string |
NULL |
Positionsbezeichnung des Hauptansprechpartners. Beispiel: |
MainContact_JobFunction
|
nvarchar(200) string |
NULL |
Funktion des Hauptansprechpartners. Beispiel: |
MainContact_Phone
|
varchar(200) string |
NULL |
Telefonnummer des Hauptansprechpartners. Beispiel: |
MainContact_MobilePhone
|
varchar(200) string |
NULL |
Mobilnummer des Hauptansprechpartners. Beispiel: |
MainContact_Fax
|
nvarchar(200) string |
NULL |
Faxnummer des Hauptansprechpartners. Beispiel: |
MainContact_Email
|
nvarchar(200) string |
NULL |
E-Mail-Adresse des Hauptansprechpartners. Beispiel: |
SupplierComment
|
varchar(8000) string |
NULL |
Lieferantenkommentar, gespeichert in Beispiel: |
SupplierNote
|
varchar(8000) string |
NULL |
Text der Lieferantennotiz. Pflicht bei Beispiel: |
IsDisabled
|
bit boolean |
NULL |
Setzt das Kennzeichen Erlaubte Werte
Beispiel: |
IsLocked
|
bit boolean |
NULL |
Setzt das Kennzeichen Erlaubte Werte
Beispiel: |
Antwort
Result-Set 1 · Immer (eine Statuszeile, außer bei einem nicht abgefangenen Fehler beim Anlegen einer Notiz vor der Transaktion).
Statuszeile der Aktualisierung. Bei Erfolg ist ReturnCode = OK und ErrorMessage leer. Bei Fehler ist ReturnCode = Error, Message ein generischer Text und ErrorMessage enthält die Details.
| Spalte | Typ | Beschreibung |
|---|---|---|
RowsAffected
|
int |
Anzahl aktualisierter Lieferantenzeilen (1 bei Erfolg, 0 bei Fehler). |
ReturnCode
|
varchar(100) string |
|
Message
Kann leer sein |
varchar(4000) string |
Erfolgsmeldung mit Lieferantennummer oder der generische Fehlertext. |
ErrorMessage
Kann leer sein |
nvarchar(4000) string |
Leer bei Erfolg; Validierungs- oder SQL-Fehlermeldung bei Fehler. Kann NULL sein, wenn |
Beispielantwort
<SqlRowSet1>
<row>
<RowsAffected>1</RowsAffected>
<ReturnCode>OK</ReturnCode>
<Message>Supplier with SupplNr: "L001" successfully updated.</Message>
<ErrorMessage/>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| Error | Supplier with SupplNr: "{SupplNr}" does not exist. | Es existiert kein Lieferant mit der angegebenen `SupplNr`. Wird in `ErrorMessage` geliefert. Lieferantennummer prüfen. |
| Error | SupplierNote (comment) needs to be provided when locking the Supplier. | `IsLocked = 1` wurde ohne `SupplierNote` übergeben. Notiztext angeben. |
| Error | SupplierNote (comment) needs to be provided when disabling the Supplier. | `IsDisabled = 1` wurde ohne `SupplierNote` übergeben. Notiztext angeben. |
| Error | Something went wrong. Please conntact pixi* support. | Generische `Message` jeder Fehlerzeile. Wurde der Fehler beim Update abgefangen, enthält `ErrorMessage` den SQL-Fehlertext. Fehlte `SupplNr` oder war sie leer, ist `ErrorMessage` NULL. |
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:pixiUpdateSupplier>
<!-- <SupplNr>L001</SupplNr> -->
<!-- <SupplName>Muster Großhandel GmbH</SupplName> -->
<!-- <SupplNameExt>Abteilung Einkauf</SupplNameExt> -->
<!-- <SupplGroup>?</SupplGroup> -->
<!-- <DefaultDeliveryDays>5</DefaultDeliveryDays> -->
<!-- <SupplFaxNR>+49 30 1234567</SupplFaxNR> -->
<!-- <CustNR>K-98765</CustNR> -->
<!-- <eMail>info@muster-grosshandel.de</eMail> -->
<!-- <SupAnrede>Firma</SupAnrede> -->
<!-- <SupName2>Niederlassung Berlin</SupName2> -->
<!-- <SupAddress>Hauptstraße 12</SupAddress> -->
<!-- <SupZip>10115</SupZip> -->
<!-- <SupPhone1>+49 30 1234560</SupPhone1> -->
<!-- <CanDoDirectFulfillment>Y</CanDoDirectFulfillment> -->
<!-- <SupCity>Berlin</SupCity> -->
<!-- <SupPhone2>+49 30 1234561</SupPhone2> -->
<!-- <SupplCtry>DE</SupplCtry> -->
<!-- <CurrencyId>1</CurrencyId> -->
<!-- <eMailSupplOrder>bestellung@muster-grosshandel.de</eMailSupplOrder> -->
<!-- <HomePageUrl>https://www.muster-grosshandel.de</HomePageUrl> -->
<!-- <MainContact_Title>Dr.</MainContact_Title> -->
<!-- <MainContact_FirstName>Anna</MainContact_FirstName> -->
<!-- <MainContact_LastName>Schmidt</MainContact_LastName> -->
<!-- <MainContact_JobTitle>Key Account Manager</MainContact_JobTitle> -->
<!-- <MainContact_JobFunction>Vertrieb</MainContact_JobFunction> -->
<!-- <MainContact_Phone>+49 30 1234562</MainContact_Phone> -->
<!-- <MainContact_MobilePhone>+49 170 1234567</MainContact_MobilePhone> -->
<!-- <MainContact_Fax>+49 30 1234569</MainContact_Fax> -->
<!-- <MainContact_Email>a.schmidt@muster-grosshandel.de</MainContact_Email> -->
<!-- <SupplierComment>Mindestbestellwert 250 EUR</SupplierComment> -->
<!-- <SupplierNote>Gesperrt wegen offener Reklamationen.</SupplierNote> -->
<!-- <IsDisabled>0</IsDisabled> -->
<!-- <IsLocked>1</IsLocked> -->
</ns1:pixiUpdateSupplier>
</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:pixiUpdateSupplier>
<!-- <SupplNr>L001</SupplNr> -->
<!-- <SupplName>Muster Großhandel GmbH</SupplName> -->
<!-- <SupplNameExt>Abteilung Einkauf</SupplNameExt> -->
<!-- <SupplGroup>?</SupplGroup> -->
<!-- <DefaultDeliveryDays>5</DefaultDeliveryDays> -->
<!-- <SupplFaxNR>+49 30 1234567</SupplFaxNR> -->
<!-- <CustNR>K-98765</CustNR> -->
<!-- <eMail>info@muster-grosshandel.de</eMail> -->
<!-- <SupAnrede>Firma</SupAnrede> -->
<!-- <SupName2>Niederlassung Berlin</SupName2> -->
<!-- <SupAddress>Hauptstraße 12</SupAddress> -->
<!-- <SupZip>10115</SupZip> -->
<!-- <SupPhone1>+49 30 1234560</SupPhone1> -->
<!-- <CanDoDirectFulfillment>Y</CanDoDirectFulfillment> -->
<!-- <SupCity>Berlin</SupCity> -->
<!-- <SupPhone2>+49 30 1234561</SupPhone2> -->
<!-- <SupplCtry>DE</SupplCtry> -->
<!-- <CurrencyId>1</CurrencyId> -->
<!-- <eMailSupplOrder>bestellung@muster-grosshandel.de</eMailSupplOrder> -->
<!-- <HomePageUrl>https://www.muster-grosshandel.de</HomePageUrl> -->
<!-- <MainContact_Title>Dr.</MainContact_Title> -->
<!-- <MainContact_FirstName>Anna</MainContact_FirstName> -->
<!-- <MainContact_LastName>Schmidt</MainContact_LastName> -->
<!-- <MainContact_JobTitle>Key Account Manager</MainContact_JobTitle> -->
<!-- <MainContact_JobFunction>Vertrieb</MainContact_JobFunction> -->
<!-- <MainContact_Phone>+49 30 1234562</MainContact_Phone> -->
<!-- <MainContact_MobilePhone>+49 170 1234567</MainContact_MobilePhone> -->
<!-- <MainContact_Fax>+49 30 1234569</MainContact_Fax> -->
<!-- <MainContact_Email>a.schmidt@muster-grosshandel.de</MainContact_Email> -->
<!-- <SupplierComment>Mindestbestellwert 250 EUR</SupplierComment> -->
<!-- <SupplierNote>Gesperrt wegen offener Reklamationen.</SupplierNote> -->
<!-- <IsDisabled>0</IsDisabled> -->
<!-- <IsLocked>1</IsLocked> -->
</ns1:pixiUpdateSupplier>
</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 = [
// 'SupplNr' => 'L001',
// 'SupplName' => 'Muster Großhandel GmbH',
// 'SupplNameExt' => 'Abteilung Einkauf',
// 'SupplGroup' => '?',
// 'DefaultDeliveryDays' => '5',
// 'SupplFaxNR' => '+49 30 1234567',
// 'CustNR' => 'K-98765',
// 'eMail' => 'info@muster-grosshandel.de',
// 'SupAnrede' => 'Firma',
// 'SupName2' => 'Niederlassung Berlin',
// 'SupAddress' => 'Hauptstraße 12',
// 'SupZip' => '10115',
// 'SupPhone1' => '+49 30 1234560',
// 'CanDoDirectFulfillment' => 'Y',
// 'SupCity' => 'Berlin',
// 'SupPhone2' => '+49 30 1234561',
// 'SupplCtry' => 'DE',
// 'CurrencyId' => '1',
// 'eMailSupplOrder' => 'bestellung@muster-grosshandel.de',
// 'HomePageUrl' => 'https://www.muster-grosshandel.de',
// 'MainContact_Title' => 'Dr.',
// 'MainContact_FirstName' => 'Anna',
// 'MainContact_LastName' => 'Schmidt',
// 'MainContact_JobTitle' => 'Key Account Manager',
// 'MainContact_JobFunction' => 'Vertrieb',
// 'MainContact_Phone' => '+49 30 1234562',
// 'MainContact_MobilePhone' => '+49 170 1234567',
// 'MainContact_Fax' => '+49 30 1234569',
// 'MainContact_Email' => 'a.schmidt@muster-grosshandel.de',
// 'SupplierComment' => 'Mindestbestellwert 250 EUR',
// 'SupplierNote' => 'Gesperrt wegen offener Reklamationen.',
// 'IsDisabled' => '0',
// 'IsLocked' => '1',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiUpdateSupplier', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiUpdateSupplier