Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
engine:procedures:im_modifypredefinedvalue_ad [11.01.2016 ] |
engine:procedures:im_modifypredefinedvalue_ad [11.01.2016 ] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== im_ModifyPredefinedValue_Ad ===== | ||
+ | |||
+ | Ä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|{{tag>[im Modify Predefined Value Ad]}}| | ||
+ | |Engine-Kategorie|item management | | ||
+ | |Engine-Typ|Daten-Änderung | | ||
+ | |Letzte Aktualisierung|7.0.7 (2015-01-29)| | ||
+ | |||
+ | ==== Parameter ==== | ||
+ | |||
+ | ^Name ((Pflichtparameter sind unterstrichen)) ^Standard-Wert ^Beschreibung ((siehe [[webservice:engine_parameterconventions|Parameter-Konventionen engine/<Prozedur-Name>]])) ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^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| | ||
+ | ==== Rückgabe ==== | ||
+ | |||
+ | Die Prozedur hat keine Rückgaben. | ||
+ | ==== Output-Parameter ==== | ||
+ | |||
+ | Die Prozedur hat keine Output-Parameter.==== Mögliche Return-Codes ==== | ||
+ | |||
+ | ^Code ^Beschreibung ^Quelle ((direkt meint "von der Prozedur selber" und indirekt meint "von intern aufgerufenen Unterprozeduren")) ^ | ||
+ | |-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| | ||
+ | ==== XML-Schema ==== | ||
+ | |||
+ | Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema [[http://resources.dstore.de/xsd/webservice_SmartGate/Response/EngineProcedure_v1_0.xsd|Response/EngineProcedure_v1_0.xsd]] validiert. | ||
+ | ==== Historie ==== | ||
+ | |||
+ | |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\\ | | ||
+ | |||
+ | ==== Code-Snippets ==== | ||
+ | |||
+ | == Engine Playground == | ||
+ | Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist: | ||
+ | * [[http://playground.dstore.de/index.php?proc=im_ModifyPredefinedValue_Ad|im_ModifyPredefinedValue_Ad im Engine Playground öffnen]] | ||
+ | == cURL == | ||
+ | Unformatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/im_ModifyPredefinedValue_Ad?ValueID=<value>&NewValue=<value>'</code>Mit xmllint ((I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org)) formatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/im_ModifyPredefinedValue_Ad?ValueID=<value>&NewValue=<value>' | xmllint --format -</code>== dStore_php == | ||
+ | <code php> | ||
+ | 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(); | ||
+ | |||
+ | </code> | ||
+ | == engine/execute == | ||
+ | XML zur Ausführung mit der Methode [[:webservice:engine:execute|engine/execute]], z.B. per | ||
+ | curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>' | ||
+ | |||
+ | <code xml> | ||
+ | <?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></code> | ||