Fügt Daten in die Input-Schnittstelle von om_AcknowledgeOrders_Ad ein, die zur Speicherung von „OrderContentInformation“ (zum im Parameter „OrderID“ von om_AcknowledgeOrders_Ad angegebenen Auftrag) dient.
Dies geschieht über die „…List“-Parameter dieser Prozedur, die jeweils eine Menge von Werten enthalten. Zueinander gehörende Werte (d.h. die sich in der gleichen Position der jeweiligen Liste befinden) werden in die folgenden Spalten eingefügt :
→ (Eindeutige) Nummer einer Auftrags-Position, für die zur durch „InformationTypeID“ angegebenen Informations-Art Informationen geändert werder sollen
→ Gibt die Art der Information „Information“ an
→ Die Information, die für die Auftragsposition mit der Nummer „Position“ zur „InformationTypeID“ hinterlegt werden soll. '' angeben, um eine evtl. vorhandene Information zu löschen
Zu welchem „NestingLevel“ die Daten in die Input-Schnittstelle eingefügt wurden, geben wir normalerweise bei dieser Art von Prozeduren über einen Ausgabeparameter (der Art „ InputNestingLevel“) zurück, damit dieser Wert dann der Prozedur, die die Daten verarbeiten soll (in diesem Fall also om_AcknowledgeOrders_Ad), übergeben werden kann. Der Einfachheit halber wurde aber hier folgende Konvention (auf die sich om_AcknowledgeOrders_Ad verlassen kann) getroffen :
Die Daten werden zum „nestlevel + 1“ hinterlegt, beispielsweise wäre das für einen DIREKTEN Aufruf (also NICHT innerhalb einer anderen Prozedur) zum „NestingLevel = 2“.
Anmerkung zum Parameter „InformationList“ :
Ist in „InformationList“ zweimal direkt hintereinander „ListSeparator“ enthalten oder kommt „ListSeparator“ ganz zu Beginn oder am Ende vor, dann enthält die Liste quasi ein „leeres Element“. Dies wird aber nicht als „NULL“, sondern als '' interpretiert !
Anmerkung zum Parameter „CheckByteLengthForStrings“ :
Die Werte in „InformationList“ sind „string“-Werte und haben daher eine maximale Länge, nämlich 1000 Bytes (nicht etwa Zeichen), weil ja die zugehörige Spalte („Information“) der Input-Schnittstelle ein „varchar(1000)“ ist. Falls ein Element diese Grenze überschreitet, würde das Einfügen in die Input-Tabelle zwar trotzdem gelingen, aber es würden unbemerkt Zeichen (am Ende) abgeschnitten und somit verloren gehen. Mit „CheckByteLengthForStrings“ kann daher gesteuert werden, ob dieses unbemerkte „truncate“n ok ist („0“) oder ob vorher geprüft und gegebenenfalls ein Fehler geworfen werden soll („1“).
HTTP-Method | POST |
HTTP-Auth | Optional |
Alias | if_om_AcknowledgeOrders_OrderContentInformation_Ad |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
PositionList | Liste von (eindeutigen) Positions-Nummern (durch das in „ListSeparator“ angegebene Zeichen getrennt), die in die Spalte „Position“ (s. Beschreibung) der Input-Schnittstelle eingefügt werden | varchar(1000) | 7.0.4 | |
InformationTypeIDList | Eine Liste von IDs (durch das in „ListSeparator“ angegebene Zeichen getrennt) von Informations-Arten (mögliche Werte s. om_GetOrderContentInfoTypes_Ad), die in die Spalte „InformationTypeID“ (s. Beschreibung) der Input-Schnittstelle eingefügt werden | varchar(1000) | 7.0.4 | |
InformationList | Liste von Werten (durch das in „ListSeparator“ angegebene Zeichen getrennt), die in die Spalte „Information“ (s. Beschreibung) der Input-Schnittstelle eingefügt werden | varchar(16384) | 7.0.4 | |
Delete | 0 | Möchte man zuvor die Input-Schnittstelle leeren, setzt man „Delete“ auf „1“ | bit | 7.0.4 |
ListSeparator | '¶' | Gibt an, durch welche Zeichenkette die Werte in den „Listen-„Parametern (“…List“) getrennt sind | varchar(4) | 7.0.4 |
CheckByteLengthForStrings | 0 | Gibt an, ob für die einzelnen Elemente in „InformationList“ geprüft werden soll, ob die maximale Anzahl Bytes überschritten ist („1“) oder nicht („0“) | bit | 7.0.4 |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 4) |
---|---|---|
-569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
-567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
-566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
-535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
-530 | Der Wert ist nicht konvertierbar | nur indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | nur indirekt |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
7.0.5 | 2014-05-26 | Interne sowie Doku-Anpassung bzgl. „CheckByteLengthForStrings“ wg. der „OrderContentInformation“-Erweiterung [Ticket #3653] |
7.0.4 | 2014-03-19 | Erstmalig in dieser Version erstellt |
Es handelt sich um eine Methode zum Füllen von Schnittstellentabelle wie in Hintergrundinformationen zu Engine-Prozeduren erläutert. Die Methode kann ausschließlich per engine/execute in einem gemeinsamen Batch mit komplementären Prozeduren verwendet werden.
XML zur Ausführung mit der Methode engine/execute, z.B. per
curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?> <ListOfBatches> <Batch No="0"> <Procedure Name="if_om_AcknOrders_OContInfo_Ad"> <Parameters/> </Procedure> </Batch> </ListOfBatches>