Fügt Daten in die Input-Schnittstelle von im_ModifyNodeProperties_Ad ein.
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 :
ID eines Artikel-Elementes, für das die Eigenschaft zum Merkmal „NodeCharacteristicID“ geändert/gesetzt werden soll
Gibt das Merkmal an, auf das sich „Value“ bezieht
Auf diesen Wert soll die Eigenschaft von „NodeID“ zum Merkmal „NodeCharacteristicID“ gesetzt werden - sofern nicht durch „ModificationOptions“ anderes gewünscht ist)
Ab wann die Eigenschaft gültig sein soll. Bei Angabe von „NULL“ wird der aktuelle Zeitpunkt gewählt.
ACHTUNG : Für alle Datensätze darf dieser Wert maximal die Anzahl Millisekunden vor dem aktuellen Zeitpunkt des Aufrufs dieser Prozedur liegen, die in „Settings“ zum Schlüssel „NodePropertiesValidFromBeforeNowLimit_ms“ konfiguriert ist !
Bis wann die Eigenschaft gültig sein soll. Bei Angabe von „NULL“ wird das maximal mögliche Datum gewählt.
Anmerkung : Ein Datensatz mit „ValidFrom >= ValidTo“ führt zu „-500“ !
Gibt an, wie „Value“ zu interpretieren ist :
Hinweise zu „relativen Änderungen“ (wenn „ModificationOption = 2“ ist) :
A) Ist das Merkmal vom Basis-Typ „Zahl“, muß der entsprechende Wert in „Value“ die Form…
„<Zahl-Wert inkl. Vorzeichen vom Datentyp des Merkmals>„
… besitzen. Ist kein explizites Vorzeichen angegeben, wird dies als positiver Wert interpretiert.
Dieser Zahl-Wert wird dann einfach zur bestehenden Eigenschaft (ebenfalls eine Zahl) hinzuaddiert.
B) Handelt es sich um ein „Text“-Merkmal, wird eine relative Änderung als „string“-Konkatenation ausgeführt, d.h. der entsprechende Wert in „Value“ sieht so aus : “<Vorzeichen><String>„
Das bedeutet, daß die “<String>“-Zeichenkette entweder VOR (falls „<Vorzeichen>“ gleich „-“ ist) die bestehende Eigenschaft gesetzt oder HINTEN („<Vorzeichen“ gleich „+“) an die Eigenschaft angehängt wird.
C) Beim Basis-Typ „Datum“ schließlich muß der entsprechende Wert in „Value“ diese Form haben : „<datepart><integer-Wert>„
Ist kein explizites Vorzeichen im “<integer-Wert>“ angegeben, wird dies als positiver Wert interpretiert.
„<datepart>“ muß - angelehnt an die T-SQL-Funktion „dateadd“ - einen der folgenden Werte annehmen :
D) Für „Ja/Nein“-Merkmale ist keine „relative Änderung“ möglich
E) Hat ein Element noch KEINE Eigenschaft zum Merkmal, passiert je nach Basis-Datentyp folgendes :
Beispiele :
1.) Ist „17“ eine ID eines Merkmals, zu dem 2-stellige Zahlen als Eigenschaften hinterlegt werden können, würde
ein Datensatz mit „NodeCharacteristicID = 17“ und „ Value = '-5' “ dazu führen, daß die aktuelle Eigenschaft der „NodeID“ zum
Merkmal „17“ um „5“ ERNIEDRIGT wird.
2.) Stellt „19“ die ID eines „Datum-Merkmals“ dar, und hat „NodeID“ aktuell als Eigenschaft den Wert „01.04.1968“, würde ein Datensatz mit „NodeCharacteristicID = 19“ und „ Value = 'yy+2' “ dazu führen, daß 2 Jahre auf das Datum hinzuaddiert würden, und somit die Eigenschaft auf „01.04.1970“ gesetzt werden würde.
3.) Bei einem Datensatz mit „NodeCharacteristicID = 20“ und „ Value = '-not ' “ würde, wenn die zugehörige „NodeID“ zu diesem Merkmal beispielsweise die „Text“-Eigenschaft „valid“ besäße, die neue Eigenschaft „not valid“ lauten.
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | item management |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.8 (2015-08-21) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
NodeIDList | Eine Liste von IDs (durch das '¶'-Zeichen getrennt) von Artikel-Elementen, die in die Spalte „NodeID“ (s. Beschreibung) der Input-Schnittstelle eingefügt werden | varchar(1000) | 5.1.1 | |
NodeCharacteristicIDList | Liste von IDs (durch das '¶'-Zeichen getrennt) von Merkmalen, die in die Spalte „NodeCharacteristicID“ (s. Beschreibung) der Input-Schnittstelle eingefügt werden | varchar(1000) | 5.1.1 | |
ValueList | Liste von Werten (durch das in „SeparatorInValueList“ angegebene Zeichen getrennt), die in die Spalte „Value“ (s. Beschreibung) der Input-Schnittstelle eingefügt werden | varchar(16384) | 5.1.1 | |
ValidFromList | Liste von Datums-Werten (durch das '¶'-Zeichen getrennt), die in die Spalte „ValidFrom“ (s. Beschreibung) der Input-Schnittstelle eingefügt werden | varchar(16384) | 5.1.1 | |
ValidToList | Liste von Datums-Werten (durch das '¶'-Zeichen getrennt), die in die Spalte „ValidTo“ (s. Beschreibung) der Input-Schnittstelle eingefügt werden | varchar(16384) | 5.1.1 | |
ModificationOptionList | Liste von Options-Werten (durch das '¶'-Zeichen getrennt), die in die Spalte „ModificationOption“ (s. Beschreibung) der Input-Schnittstelle eingefügt werden | varchar(1000) | 5.1.1 | |
Delete | 0 | Möchte man zuvor die Input-Schnittstelle leeren, setzt man „Delete“ auf „1“. | bit | 5.1.1 |
SeparatorInValueList | '¶' | Gibt an, durch welche Zeichen die Werte in „ValueList“ getrennt sind | varchar(4) | 5.5.0 |
CheckByteLengthForStrings | 0 | Gibt an, ob für die einzelnen Elemente in „ValueList“ geprüft werden soll, ob die maximale Anzahl Bytes überschritten ist („1“) oder nicht („0“) | bit | 7.0.8 |
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.8 | 2015-08-21 | 1. Fehler behoben : Werte in „ValueList“ wurden auf 100 Bytes abgeschnitten, obwohl seit einiger Zeit bis zu 1000 Bytes möglich sind 2. Ab jetzt können in den List-Variablen bis zu 1000 [bei IDs] bzw. 16384 Bytes übergeben werden [vorher nur 255] |
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
6.5.3 | 2013-03-18 | 1. Ereiterung des Datentyps von „SeparatorInValueList“ [von „1“ auf „4“] 2. Interne Anpassungen wg. UTF8-Unterstützung 3. Fehler : Es fehlte eine Transaktion ! 4. Doku bzgl. „relative Änderungen“ fehlte ! 5. Interne Quellcode-Überarbeitung |
5.5.0 | 2008-01-07 | 1. Neuer Parameter „SeparatorInValueList“ 2. Ausgabe an die Standard-Ausgabe [via „print“] im Fehler-Fall „-500“, die nähere Informationen über die Ursache enthält |
5.1.1 | 2006-04-05 | 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_im_ModifyNodeProperties_Ad"> <Parameters/> </Procedure> </Batch> </ListOfBatches>