Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— |
engine:procedures:im_setlevelofnodes_ad [11.01.2016 ] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== im_SetLevelOfNodes_Ad ===== | ||
+ | |||
+ | Die in "tempdb.dbo.OneID" angegebenen Artikel-Elemente ("NodeID"s aus der Tabelle "dStore") bekommen die durch "Hierarchy" angegebene Hierarchie zugewiesen.\\ | ||
+ | |||
+ | Im Artikelbaum muß die Hierarchie-Nummer eines Nachfolger-Elementes immer höher als die des Vorgängers sein ! Ob diese Bedingung nach der Hierarchie-Änderung hier noch zutrifft, wird natürlich überprüft und führt gegebenenfalls zu einem Fehler...\\ | ||
+ | |||
+ | Artikel-Elemente, die ... | ||
+ | * bereits auf der angegebenen Hierarchie sind | ||
+ | * sich selbst als Vorgänger haben (sogenannte "root"-Elemente) | ||
+ | * nur gelöschte zugehörige Elemente im Artikelbaum besitzen | ||
+ | werden schlicht ignoriert.\\ ACHTUNG : Bleiben nach dieser "Auslese" KEINE Elemente mehr übrig, gibt es KEINEN Fehler, sondern die Prozedur wird beendet (da es nichts zu tun gibt) !\\ | ||
+ | |||
+ | Elemente auf "Produkt"- oder Varianten-Ebene bekommen automatisch eine Eigenschaft zum Merkmal "Produktbez..." in der Standardsprache (das ist derzeit immer die ID "7") zugewiesen. Wird die Hierarchie auf einen anderen "Level" geändert, werden alle Eigenschaften zu "Produktbez..."-Merkmalen (also auch in anderen Sprachen) "gelöscht" (d.h. die Gültigkeitszeiträume für die Eigenschaften werden geschlossen).\\ | ||
+ | |||
+ | Die Produktbezeichnungen werden derzeit nach folgendem Muster generiert :\\ | ||
+ | |||
+ | Für Produkte...\\ <Bezeichnung ("NodeDescription") des Vorgängers> + ' "' + <Bezeichnung ("NodeDescription") des Produkt-Elementes> + '"'\\ | ||
+ | |||
+ | Für Varianten...\\ <Produktbezeichnung des Produkt-Vorgängers> + ' ' + <Bezeichnung ("NodeDescription") des Varianten-Elementes>\\ | ||
+ | |HTTP-Method|POST | | ||
+ | |HTTP-Auth|Optional | | ||
+ | |Tags|{{tag>[im Set Level Of Nodes 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 ^ | ||
+ | |__Hierarchy__| |Die neue Hirarchie, auf die die Artikel-Elemente gesetzt werden sollen. Es kann sowohl eine "LevelID" (die Prozedur findet selbst heraus, ob "Hierarchy" eine Zahl kleiner 256 ist) als auch die Bezeichnung der Hierarchie übergeben werden.\\ |varchar(100)|3.5.0| | ||
+ | ==== 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")) ^ | ||
+ | |-621|Fehlender oder falscher Eintrag in PersonTypeSettings|nur indirekt| | ||
+ | |-599|Lizenz ist ungültig oder abgelaufen|nur indirekt| | ||
+ | |-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| | ||
+ | |-550|Fehlender oder falscher Eintrag in Settings|direkt und 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| | ||
+ | |-286|Der Benutzer hat nicht die Berechtigung(en), Eigenschaften zu diesem(n) Merkmal(en) zu lesen/ändern|nur indirekt| | ||
+ | |-285|Der Benutzer hat keine Berechtigung, vergangene Eigenschaften zu diesem(n) Merkmal(en) zu ändern|nur indirekt| | ||
+ | |-284|Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu modifizieren|nur indirekt| | ||
+ | |-283|Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermitteln|nur indirekt| | ||
+ | |-245|Einige Artikel-Eigenschaften sind ungültig|nur indirekt| | ||
+ | |-242|Relative Änderung nicht möglich, da es eine Eigenschaft gibt, deren Gültigkeit in d. Zukunft beginnt|nur indirekt| | ||
+ | |-241|Änderung(en) der Eigenschaft(en) konnte(n) aufgrund paralleler Änderungen nicht durchgeführt werden|nur indirekt| | ||
+ | |-220|Es konnte keine Merkmal-ID für die Produktbezeichnung ermittelt werden|nur indirekt| | ||
+ | |-180|Falsche Hierarchie : Ein Element muß immer eine niedrigere Hierarchiestufe als sein Vorgänger haben|nur direkt| | ||
+ | |-110|Das (die) Element(e) ist (sind) nicht vorhanden|nur indirekt| | ||
+ | ==== 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.5 |2014-05-26|Pflege von "ItemCondPartCheckResultCache", für die betroffenen "TreeNodeIDs"\\ | | ||
+ | |7.0.1 |2013-08-07|Interne Anpassungen aufgrund der Datentyp-Erweiterung der "Value"-Spalte von "NodeCharacteristicValues"\\ | | ||
+ | |6.5.3 |2013-03-18|Anpassungen an den aktuellen Quellcode-Standard, u.a. wg. UTF8-Unterstützung\\ | | ||
+ | |5.1.1 |2006-04-05|Unberechtigter Fehler ("-500)] falls die Hierarchie vor UND nach dem Wechsel weder die Produkt- noch die Varianten-Hierarchie war\\ | | ||
+ | |5.1.0 |2006-02-08|1. Verlagerung der Codes von "NodeProperties"-Änderungen auf die neue Prozedur "_im_ModifyNodeProperties"\\ 2. Präzisierung der Doku hinsichtlich der Überprüfungen und evtl. Fehler\\ | | ||
+ | |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. Konsequente Fehlerbehandlung\\ | | ||
+ | |4.0.1 |2003-05-16|1. Ab jetzt wird berücksichtigt, daß in "NodeProperties" auch Gültigkeitszeiträume in der Zukunft vorhanden sein können !\\ 2. Ermittlung der "Produktbez..."-Merkmale mit "_im_GetProductDescrCharacID"\\ 3. Keine mehrfachen Produktbezeichnungen mehr\\ | | ||
+ | |3.5.20 |2002-07-22|\\ | | ||
+ | |3.5.13 |2001-12-06|\\ | | ||
+ | |3.5.0 |2000-11-23|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_SetLevelOfNodes_Ad|im_SetLevelOfNodes_Ad im Engine Playground öffnen]] | ||
+ | == cURL == | ||
+ | Unformatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/im_SetLevelOfNodes_Ad?Hierarchy=<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_SetLevelOfNodes_Ad?Hierarchy=<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_SetLevelOfNodes_Ad', | ||
+ | array( | ||
+ | 'Hierarchy' => '<value>' | ||
+ | ) | ||
+ | ); | ||
+ | |||
+ | $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_SetLevelOfNodes_Ad"> | ||
+ | <Parameters> | ||
+ | <Parameter Name="Hierarchy"><!-- varchar value --></Parameter> | ||
+ | </Parameters> | ||
+ | </Procedure> | ||
+ | </Batch> | ||
+ | </ListOfBatches></code> | ||