Postman-Collection
Suppliers Schreiben

pixiCreateSupplier

Legt einen neuen Lieferanten samt Hauptkontakt an und liefert eine Statuszeile mit ReturnCode und Message.

Legt einen neuen Lieferanten in Suppliers und einen Hauptkontakt in pixi.Contact an. Beide sind über ContactId verknüpft.

Ablauf:

  1. Jeder als Leerstring übergebene String-Parameter wird als NULL behandelt. SupplCtry wird vorher getrimmt.
  2. Ohne CurrencyId wird die Datenbankwährung verwendet. Das ist die Währung aus der Einstellung HomeCurrency, ermittelt über pixi.GetDatabaseCurrency.
  3. CanDoDirectFulfillment wird in ein Bit umgewandelt: Y ergibt 1. N und jeder andere Wert ergeben 0.
  4. Die Prüfungen laufen in dieser Reihenfolge und brechen beim ersten Fehler ab:
    • SupplNr muss angegeben sein.
    • SupplName muss angegeben sein.
    • CanDoDirectFulfillment darf nicht NULL sein.
    • Es darf noch kein Lieferant mit derselben SupplNr existieren.
  5. Sind alle Prüfungen erfolgreich, wird zuerst ein Kontakt angelegt. Nicht übergebene Kontaktfelder werden als Leerstring gespeichert. Danach wird der Lieferant angelegt mit:
    • ContactId = Identity des neuen Kontakts
    • CreateDate = aktuelle Zeit
    • CreateEmp = API
    • MailBox = eMail
    • SupplComment = SupplierComment

Der Aufruf liefert immer genau eine Statuszeile. ReturnCode ist OK bei Erfolg und Error bei einem Validierungsfehler oder einem unerwarteten SQL-Fehler.

Hinweise

  • Alles läuft in der benannten Transaktion CreateSupplier. Bei einem SQL-Fehler wird die Transaktion zurückgerollt, und ErrorMessage enthält den SQL-Fehlertext. Validierungsfehler sind keine SQL-Fehler: Die Transaktion wird committet, es wurde aber nichts geschrieben.
  • Die Dublettenprüfung auf SupplNr verwendet NOLOCK. Zwei parallele Aufrufe mit derselben Nummer können die Prüfung daher beide bestehen. Ein eventuell vorhandener Unique-Constraint der Tabelle würde dann den generischen Fehler auslösen.
  • RowsAffected wird nie aktualisiert und ist immer 0.
  • DefaultDeliveryDays wird mit einem Leerstring verglichen. Als int wird der Wert 0 dadurch als NULL gespeichert.
  • Ein Leerstring für CanDoDirectFulfillment besteht die Pflichtprüfung und wird als 0 gespeichert.
  • SupplGroup, SupplCtry und CurrencyId werden nicht gegen Stammdaten geprüft.
  • Kann keine Datenbankwährung ermittelt werden, bleibt CurrencyId NULL.
  • Ein Kontaktdatensatz wird immer angelegt, auch wenn kein MainContact_*-Parameter übergeben wird.
  • Werte, die länger als die deklarierte Parameterlänge sind (z. B. SupplNr mit mehr als 4 Zeichen), werden unter Umständen stillschweigend abgeschnitten.

Parameter

Parameter Typ Standardwert Beschreibung
SupplNr
varchar(4)
string
NULL

Lieferantennummer (Schlüssel). Fachlich Pflicht; darf noch nicht existieren.

Beispiel: L042

SupplName
varchar(60)
string
NULL

Name des Lieferanten. Fachlich Pflicht.

Beispiel: Muster Handels GmbH

SupplNameExt
varchar(50)
string
NULL

Namenszusatz.

Beispiel: Großhandel

SupplGroup
varchar(4)
string
NULL

Code der Lieferantengruppe (wird nicht geprüft).

Beispiel: STD

DefaultDeliveryDays
int NULL

Standard-Lieferzeit in Tagen. Der Wert 0 wird als NULL gespeichert.

Beispiel: 3

SupplFaxNR
varchar(100)
string
NULL

Faxnummer des Lieferanten.

Beispiel: +49 89 1234567-99

CustNR
varchar(20)
string
NULL

Eigene Kundennummer beim Lieferanten.

Beispiel: K-778812

eMail
varchar(60)
string
NULL

Allgemeine E-Mail-Adresse; wird in der Spalte MailBox gespeichert.

Beispiel: info@muster-handel.de

SupAnrede
varchar(20)
string
NULL

Anrede der Lieferantenadresse.

Beispiel: Firma

SupName2
varchar(60)
string
NULL

Zweite Namenszeile der Adresse.

Beispiel: Abteilung Einkauf

SupAddress
varchar(50)
string
NULL

Straße und Hausnummer.

Beispiel: Industriestraße 12

SupZip
varchar(20)
string
NULL

Postleitzahl.

Beispiel: 80331

SupPhone1
varchar(50)
string
NULL

Erste Telefonnummer.

Beispiel: +49 89 1234567-0

CanDoDirectFulfillment
varchar(1)
string
NULL

Gibt an, ob der Lieferant Direktversand (Streckengeschäft) durchführen kann. Fachlich Pflicht (darf nicht NULL sein).

Erlaubte Werte

  • Y – Lieferant kann Direktversand durchführen (gespeichert als 1).
  • N – Lieferant kann keinen Direktversand durchführen (gespeichert als 0). Jeder andere Nicht-NULL-Wert wird ebenso behandelt.

Beispiel: N

SupCity
varchar(50)
string
NULL

Ort.

Beispiel: München

SupPhone2
varchar(50)
string
NULL

Zweite Telefonnummer.

Beispiel: +49 89 1234567-10

SupplCtry
varchar(3)
string
NULL

Ländercode; wird getrimmt, nicht geprüft.

Beispiel: DE

CurrencyId
smallint
int
NULL

Währungs-ID des Lieferanten. Ohne Angabe wird die Datenbankwährung (Einstellung HomeCurrency) verwendet.

Beispiel: 1

eMailSupplOrder
varchar(255)
string
NULL

E-Mail-Adresse für Lieferantenbestellungen.

Beispiel: bestellung@muster-handel.de

HomePageUrl
nvarchar(2000)
string
NULL

Webseite des Lieferanten.

Beispiel: https://www.muster-handel.de

MainContact_Title
nvarchar(100)
string
NULL

Titel/Anrede des Hauptkontakts.

Beispiel: Herr

MainContact_FirstName
nvarchar(20)
string
NULL

Vorname des Hauptkontakts.

Beispiel: Thomas

MainContact_LastName
nvarchar(200)
string
NULL

Nachname des Hauptkontakts.

Beispiel: Becker

MainContact_JobTitle
nvarchar(200)
string
NULL

Berufsbezeichnung des Hauptkontakts.

Beispiel: Vertriebsleiter

MainContact_JobFunction
nvarchar(200)
string
NULL

Funktion des Hauptkontakts.

Beispiel: Key Account

MainContact_Phone
varchar(200)
string
NULL

Telefonnummer des Hauptkontakts.

Beispiel: +49 89 1234567-21

MainContact_MobilePhone
varchar(200)
string
NULL

Mobilnummer des Hauptkontakts.

Beispiel: +49 171 2345678

MainContact_Fax
nvarchar(200)
string
NULL

Faxnummer des Hauptkontakts.

Beispiel: +49 89 1234567-99

MainContact_Email
nvarchar(200)
string
NULL

E-Mail-Adresse des Hauptkontakts.

Beispiel: t.becker@muster-handel.de

SupplierComment
varchar(8000)
string
NULL

Kommentar zum Lieferanten; wird in SupplComment gespeichert.

Beispiel: Mindestbestellwert 250 EUR

Antwort

Result-Set 1 · Immer (genau eine Zeile: Erfolg, Validierungsfehler oder SQL-Fehler)

Statuszeile des Aufrufs.

Spalte Typ Beschreibung
RowsAffected int

Immer 0 (wird nie aktualisiert).

ReturnCode
Kann leer sein
varchar(100)
string

OK bei Erfolg, sonst Error.

Message
Kann leer sein
varchar(4000)
string

Erfolgs- oder Fehlermeldung.

ErrorMessage
Kann leer sein
nvarchar(4000)
string

SQL-Fehlertext bei einem unerwarteten Fehler, sonst Leerstring.

Fehlermeldungen

Status Meldung Ursache
Error SupplNr is a mandatory parameter that needs to be provided. `SupplNr` wurde nicht oder leer übergeben.
Error SupplName is a mandatory parameter that needs to be provided. `SupplName` wurde nicht oder leer übergeben.
Error CanDoDirectFulfillment is a mandatory parameter that needs to be provided. `CanDoDirectFulfillment` wurde nicht übergeben (NULL). `Y` oder `N` übergeben.
Error Supplier with SupplNr: "{SupplNr}" already exists. Ein Lieferant mit dieser Nummer existiert bereits in `Suppliers`. Eine andere Nummer verwenden.
Error Something went wrong. Please conntact pixi* support. Beim Einfügen ist ein unerwarteter SQL-Fehler aufgetreten (z. B. Constraint-Verletzung). Die Transaktion wird zurückgerollt; Details stehen in `ErrorMessage`.

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:pixiCreateSupplier>
      <!-- <SupplNr>L042</SupplNr> -->
      <!-- <SupplName>Muster Handels GmbH</SupplName> -->
      <!-- <SupplNameExt>Großhandel</SupplNameExt> -->
      <!-- <SupplGroup>STD</SupplGroup> -->
      <!-- <DefaultDeliveryDays>3</DefaultDeliveryDays> -->
      <!-- <SupplFaxNR>+49 89 1234567-99</SupplFaxNR> -->
      <!-- <CustNR>K-778812</CustNR> -->
      <!-- <eMail>info@muster-handel.de</eMail> -->
      <!-- <SupAnrede>Firma</SupAnrede> -->
      <!-- <SupName2>Abteilung Einkauf</SupName2> -->
      <!-- <SupAddress>Industriestraße 12</SupAddress> -->
      <!-- <SupZip>80331</SupZip> -->
      <!-- <SupPhone1>+49 89 1234567-0</SupPhone1> -->
      <!-- <CanDoDirectFulfillment>N</CanDoDirectFulfillment> -->
      <!-- <SupCity>München</SupCity> -->
      <!-- <SupPhone2>+49 89 1234567-10</SupPhone2> -->
      <!-- <SupplCtry>DE</SupplCtry> -->
      <!-- <CurrencyId>1</CurrencyId> -->
      <!-- <eMailSupplOrder>bestellung@muster-handel.de</eMailSupplOrder> -->
      <!-- <HomePageUrl>https://www.muster-handel.de</HomePageUrl> -->
      <!-- <MainContact_Title>Herr</MainContact_Title> -->
      <!-- <MainContact_FirstName>Thomas</MainContact_FirstName> -->
      <!-- <MainContact_LastName>Becker</MainContact_LastName> -->
      <!-- <MainContact_JobTitle>Vertriebsleiter</MainContact_JobTitle> -->
      <!-- <MainContact_JobFunction>Key Account</MainContact_JobFunction> -->
      <!-- <MainContact_Phone>+49 89 1234567-21</MainContact_Phone> -->
      <!-- <MainContact_MobilePhone>+49 171 2345678</MainContact_MobilePhone> -->
      <!-- <MainContact_Fax>+49 89 1234567-99</MainContact_Fax> -->
      <!-- <MainContact_Email>t.becker@muster-handel.de</MainContact_Email> -->
      <!-- <SupplierComment>Mindestbestellwert 250 EUR</SupplierComment> -->
    </ns1:pixiCreateSupplier>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Suppliers · Schreiben Contact · Schreiben Settings · Lesen Currency · Lesen
SQL-Objekt:
dbo.pipiCreateSupplier
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben