Postman-Collection
General Schreiben

pixiImportProcessXML

Verarbeitet ein importiertes Artikel- oder Auftrags-XML aus C_XMLLog sofort (Parsen, Prüfen, Übernahme in Haupttabellen), ohne auf den SQL-Agent-Importjob zu warten.

Stößt die Verarbeitung eines importierten XML, identifiziert über XMLLogKey, sofort an.

  1. Prüfung: Das XML muss in C_XMLLog existieren, sein Operationstyp (C_OperationTypes.OperationType) muss ItemImport oder OrderImport sein und sein Status einer der Werte COC, ERR, NEI, XER, XIM oder XPA. Andernfalls wird eine Statuszeile mit ReturnCode = ERROR API geliefert.
  2. Artikel-XML (ItemImport):
    • Ist der Application Lock PixiItemImport bereits belegt (der Artikelimport-Agent-Job läuft), wird für dieses XML nur der Parse-Schritt Pixi_C_ParseAndCheckXMLsFromItemImport ausgeführt; der Aufruf endet mit einer ERROR API-Zeile, dass das XML bereits in Verarbeitung ist und geparst wurde.
    • Andernfalls setzt der Aufruf den Lock selbst, führt Parsen/Prüfen und anschließend Pixi_C_ApplyItemsToMainTables für dieses XML aus und gibt den Lock wieder frei.
  3. Auftrags-XML (OrderImport): gleiche Logik mit Lock PixiOrderImport, Parse-Schritt Pixi_C_ParseAndCheckXMLsFromOrderImport und Übernahme-Schritt Pixi_C_ApplyOrdersToMainTables.
  4. Zum Schluss wird eine Statuszeile mit ReturnCode = OK geliefert.

Alle aufgerufenen Prozeduren laufen mit dem Benutzernamen API.

Da die aufgerufenen Prozeduren eigene Zeilen zurückgeben, erhält der Aufrufer mehrere Ergebnismengen: die Success-Zeile des Parse-Schritts, ggf. Zeilen des Übernahme-Schritts und zuletzt die Statuszeile ReturnCode/ErrorMessage. Für das Ergebnis ist immer die letzte Ergebnismenge auszuwerten.

Hinweise

  • Fehler beim Parsen/Übernehmen werden verschluckt: Parse- und Übernahme-Schritt laufen in einem inneren TRY/CATCH, der nur den Application Lock freigibt. Schlägt einer fehl, liefert der Aufruf trotzdem ReturnCode = OK. Das tatsächliche Ergebnis ist anschließend über C_XMLLog.Status/Error zu prüfen.
  • Die Info-Meldung XML with XMLLogKey {XMLLogKey} has been processed. wird mit Schweregrad 1 ausgelöst und kann als SqlMessage erscheinen; sie ist kein Fehler.
  • Im Fall „bereits in Verarbeitung“ wurde das XML geparst, obwohl ReturnCode = ERROR API ist.
  • Die Application Locks PixiItemImport / PixiOrderImport (Owner Session) werden mit den SQL-Agent-Importjobs geteilt; solange der Aufruf den Lock hält, kann der Agent-Job nicht parallel verarbeiten.
  • Die aufgerufenen Prozeduren berücksichtigen die Einstellungen C_ItemImportEnabled, C_ItemImport_ParseAndCheckData_Enabled, C_OrderImportEnabled, C_OrderImport_ParseAndCheckData_Enabled, C_OrderImport_ApplyToMainTables_Enabled sowie Einstellungen je Kanaltyp. Sind diese deaktiviert, tun die Schritte nichts, der Aufruf liefert aber trotzdem OK.
  • Die Parse-Schritte parsen nur XMLs des Kanaltyps URL mit leerer Spalte Error. XMLs der Kanaltypen PlentyREST oder ShipRush werden nur auf Status XIM (mit AttemptsToProcess = 0) zurückgesetzt, damit der Integration Service sie erneut parst.
  • Die Parse-Schritte führen auch globale Arbeiten aus (z. B. pixi_C_UpdateXMLsAsParsed, Wechselkursimport bei Aufträgen), der Auftrags-Übernahme-Schritt ruft Pixi_AmazonOrdersMarkOrders auf.
  • Die Einstellung C_ParseAndImportDataIntervalMinutes wird gelesen, aber nicht verwendet.
  • Pixi_C_ApplyItemsToMainTables liegt nicht vor; dessen genaues Verhalten und zurückgegebene Zeilen sind unbekannt.
  • Existenz- und Statusprüfungen verwenden NOLOCK.

Parameter

Parameter Typ Standardwert Beschreibung
XMLLogKey
Pflicht
int –

Schlüssel des importierten XML in C_XMLLog, das (erneut) verarbeitet werden soll. Muss ein Artikel- oder Auftragsimport-XML im Status COC, ERR, NEI, XER, XIM oder XPA sein.

Beispiel: 123456

Antwort

Result-Set 1 · Wenn das XML gültig ist und die Parse-Einstellungen des Imports aktiv sind (von der Parse-Prozedur geliefert)

Bestätigungszeile des Parse-/Prüfschritts (Pixi_C_ParseAndCheckXMLsFromItemImport bzw. Pixi_C_ParseAndCheckXMLsFromOrderImport).

Spalte Typ Beschreibung
Success varchar(7)
string

Konstante Success.

Result-Set 2 · Wenn der Lock frei war und der Übernahme-Schritt Zeilen liefert (Aufträge: bei aktiven Übernahme-Einstellungen; Artikel: unbekannt)

Zeilen des Übernahme-Schritts. Pixi_C_ApplyOrdersToMainTables liefert eine Success-Zeile; die Ausgabe von Pixi_C_ApplyItemsToMainTables ist nicht bekannt.

Spalte Typ Beschreibung
Success varchar(7)
string

Konstante Success (Auftrags-Übernahme-Schritt).

Result-Set 3 · Immer, als letzte Ergebnismenge

Statuszeile mit dem Gesamtergebnis des Aufrufs.

Spalte Typ Beschreibung
ReturnCode varchar(9)
string

OK bei Erfolg, ERROR API bei Fehler.

ErrorMessage
Kann leer sein
nvarchar(4000)
string

Bei Erfolg XML with XMLLogKey {XMLLogKey} has been reprocessed.; bei Fehler der Fehlertext, gefolgt von - und dem Namen der auslösenden Prozedur.

Fehlermeldungen

Status Meldung Ursache
ERROR API XML with XMLLogKey {XMLLogKey} does not exist or has not the right status or type of XML. Only XMLs in Status COC, ERR, NEI, XER, XIM or XPA and Item / Order XMLs can be (re-)processed. - pipiImportProcessXML Das XML existiert nicht, ist kein `ItemImport`-/`OrderImport`-XML oder hat keinen zulässigen Status. Schlüssel und Status in `C_XMLLog` prüfen.
ERROR API XML with XMLLogKey {XMLLogKey} already in process by import. Has been parsed. - pipiImportProcessXML Der Import-Agent-Job (oder ein anderer Aufruf) hält gerade den Lock `PixiItemImport` bzw. `PixiOrderImport`. Das XML wurde nur geparst; die Übernahme erfolgt durch den laufenden Import oder durch einen späteren erneuten Aufruf.
ERROR API {error message} - {procedure name} Jeder andere SQL-Fehler außerhalb des inneren Parse-/Übernahme-Blocks, z. B. ein Fehler der Parse-Prozedur im Zweig „bereits in Verarbeitung“ oder beim Freigeben des Locks.

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:pixiImportProcessXML>
      <XMLLogKey>123456</XMLLogKey>
    </ns1:pixiImportProcessXML>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

C_XMLLog · Schreiben C_OperationTypes · Lesen Settings · Lesen C_Channels · Lesen C_ChannelTypes · Lesen C_Int_Items · Schreiben TontrArten · Lesen C_Int_OrderHeader · Lesen C_Int_Orderlines · Lesen C_ConstraintCheckErrors · Lesen
SQL-Objekt:
dbo.pipiImportProcessXML
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben