Ändert den Wert einer Eigenschaft zu einem Merkmal mit vordefinierten Werten.
Anmerkung :
Wenn die Eigenschaft NICHT zu einem Merkmal mit vordefinierten Werten gehört oder „NewValue“ bereits als Eigenschaft zum gleichen Merkmal wie „ValueID“ existiert, gibt es einen Fehler („-500“ bzw. „-240“).
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | item management |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
ValueID | ID einer Eigenschaft, die Artikel-Elemente haben können. Sie muß zu einem Merkmal, daß nur vordefinierte Werte erlaubt („PredefinedValues = 1“), definiert sein. | integer | 3.5.11 | |
NewValue | Neuer Wert für die Eigenschaft „ValueID“ | varchar(1000) | 3.5.11 | |
SortNo | NULL | Angeben, um die Sortierreihenfolge von „ValueID“ innerhalb aller Werte zum zugehörigen Merkmal von „ValueID“ zu ändern („NULL“ bedeutet keine Änderung.) - an 1. Stelle steht der Wert mit der GRÖSSTEN „SortNo“ (Wert mit kleinster „SortNo“ kommt zuletzt. | smallint | 5.1.9 |
ProhibitValueChangeIfUsed | 0 | Möchte man eine Änderung des Wertes zu „ValueID“ (auf „NewValue“) verhindern, wenn dieser einem Artikel-Element als Eigenschaft zugewiesen ist (d.h. wenn ein Eintrag in „NodeProperties“ zur „ValueID“ vorhanden ist), muß man hier „1“ übergeben | bit | 5.1.9 |
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 |
-540 | Falsches Format | 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 |
-280 | Die Eigenschaft kann nicht gelöscht/geändert werden, da sie bereits einem Element zugewiesen wurde | nur direkt |
-240 | Die Eigenschaft ist bereits vorhanden | nur direkt |
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.4 | 2014-03-19 | Fehler behoben : Wenn ein Wert geändert wurde, der noch NICHT verwendet wurde, gab es bislang „-500“ |
7.0.1 | 2013-08-07 | Datentyp-Erweiterung des Parameters „NewValue“ [von 100 auf 1000] sowie damit verbundene interne Anpassungen |
7.0.0 | 2013-06-04 | 1. Pflege von „NodeMetaInformation“ implementiert 2. Wenn „NewValue“ und „SortNo“ den jeweils alten Werten entsprechen, gibt es nun „-500“ (statt „-240“ wie bisher) 3. Fehler : „SortNo“ konnte auf „NULL“ gesetzt werden (ab jetzt : -500) |
6.5.3 | 2013-03-18 | Interne Anpassungen wg. UTF8-Unterstützung |
6.0.2 | 2011-06-08 | Ab jetzt wird bei rekursiven Merkmalen die neue Eigenschaft auch dahingehend geprüft, ob es sich um eine existierende Merkmal-ID mit derselben „UnitID“ wie das rekursive Merkmal handelt |
5.1.9 | 2007-01-26 | 1. Neue Parameter „SortNo“ und „ProhibitValueChangeIfUsed“ 2. Ausgabe an die Standard-Ausgabe [via „print“] im Fehler-Fall „-500“, die nähere Informationen über die Ursache enthält. |
4.0.13 | 2004-05-18 | 1. Aufruf der Prozeduren „_mi_StartProcedure“, „_mi_FinishProcedure“ und „_mi_ChooseParamValueSeperator“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur |
3.5.11 | 2001-09-06 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/im_ModifyPredefinedValue_Ad?ValueID=<value>&NewValue=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/im_ModifyPredefinedValue_Ad?ValueID=<value>&NewValue=<value>' | xmllint --format -
use dStore_php\WebService; $service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80); $request = new WebService\Requests\Engine\Procedure\Request( new WebService\Requests\AccessData('default'), 'im_ModifyPredefinedValue_Ad', array( 'ValueID' => <value>, 'NewValue' => '<value>', // 'SortNo' => NULL, // 'ProhibitValueChangeIfUsed' => 0 ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
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="im_ModifyPredefinedValue_Ad"> <Parameters> <Parameter Name="ValueID"><!-- integer value --></Parameter> <Parameter Name="NewValue"><!-- varchar value --></Parameter> <!-- <Parameter Name="SortNo">NULL</Parameter> --> <!-- <Parameter Name="ProhibitValueChangeIfUsed">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>