Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:im_getcommonnodeproperties_ad

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

engine:procedures:im_getcommonnodeproperties_ad [11.01.2016 ]
engine:procedures:im_getcommonnodeproperties_ad [11.01.2016 ] (aktuell)
Zeile 1: Zeile 1:
 +===== im_GetCommonNodeProperties_Ad =====
 +
 +Ermittelt alle gemeinsamen Eigenschaften einer Menge von Artikel-Elementen. Die IDs der Elemente müssen dazu über die Tabelle "​tempdb.dbo.OneID"​ übergeben werden.\\ ​
 +
 +Es gibt sogenannte "​REKURSIVE"​ Merkmale, die nur vordefinierte Werte haben und bei denen alle Eigenschaften als "​NodeCharacteristicID"​s zu interpretieren sind.\\ Beispiel hierfür ist der "​Verkaufspreis"​. Dieses Merkmal gibt an, welches von den Preisen (Normaler Preis, Aktionspreis,​ Sonderpreis,​ etc.) denn der für den Verkauf relevante ist. Es kann jedoch in manchen Fällen sinnvoller sein, die Beschreibung des Merkmals zurückzuliefern (anstelle der ID, die wenig aussagekräftig ist) oder aber die Eigenschaft REKURSIV auszuwerten,​ also die Eigenschaft als Merkmal zu interpretieren und die Eigenschaft zu diesem Merkmal zu ermitteln.\\ Die Art der Auswertung dieser Merkmale wird durch den Parameter "​RecursiveEvaluation"​ bestimmt.\\ ​
 +|HTTP-Method|GET |
 +|HTTP-Auth|Optional |
 +|Tags|{{tag>​[im Get Common Node Properties Ad]}}|
 +|Engine-Kategorie|item management |
 +|Engine-Typ|Daten-Ermittlung |
 +|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 ^
 +|TreeNodeIDs|1 |"​0"​ : Die in "​tempdb.dbo.OneID"​ angegebenen IDs sind "​NodeID"​s aus der Tabelle "​dStore"​\\ "​1"​ : Die in "​tempdb.dbo.OneID"​ angegebenen IDs sind "​TreeNodeID"​s aus der Tabelle "​TreeView"​\\ |bit|3.5.0|
 +|LanguageID|-1 |ID einer Sprache. Einschränkung auf Merkmale, die entweder sprachunabhängige Eigenschaften oder nur Eigenschaften in dieser Sprache haben. "​-1"​ sorgt dafür, daß die "​DefaultLanguageID"​ (aus "​Settings"​) gewählt wird. "​0"​ bedeutet keine Einschränkung.\\ |smallint|3.5.0|
 +|InheritDepth|-1 |"​-1"​ : Alle Merkmale ermitteln\\ "​0"​ : Keine geerbten Merkmale ermitteln\\ "​1"​ : Zusätzlich einfach geerbte Merkmale ermitteln\\ "​2"​ : Zusätzlich einfach und zweifach geerbte Merkmale ermitteln\\ usw.\\ |smallint|3.5.0|
 +|OrderBy|NULL |Gibt an, nach welcher Spalte die Ausgabe sortiert werden soll\\ |varchar(20)|3.5.0|
 +|RecursiveEvaluation|0 |Ist nur für rekursive Merkmale relevant.\\ "​0"​ : Vergleich der MerkmalIDs\\ "​1"​ : Vergleich der Merkmalbeschreibungen (gleiches Ergebnis wie bei "​0"​)\\ "​2"​ : Vergleich der rekursiv ausgewerteten Eigenschaften\\ "​3"​ : Rekursive Auswertung UND Rückgabe wie "​0"​\\ |tinyint|3.5.0|
 +|DateFormat|'​Germany'​ |Falls "​Germany"​ übergeben wird, werden Datums-Angaben im Format Tag-Monat-Jahr ausgegeben, sonst im Format Monat-Tag-Jahr\\ |varchar(10)|3.5.0|
 +|CharacteristicIDList|NULL |Optionale Einschränkung der zu betrachtenden Merkmale (Liste von "​NodeCharacteristicID"​s,​ die durch das '​¶'​-Zeichen zu trennen sind)\\ |varchar(255)|3.5.0|
 +==== Rückgabe ====
 +
 +=== (parameterunabhängig) ===
 +
 +^Spaltenname ​ ^Beschreibung ^SQL-Datentyp((siehe [[:​webservice:​engine_datatypes|Datentypen im Bereich "​engine"​]])) ^ab Version ^
 +|//​SortNo((Spalte wird nicht zurückgegeben und ist hier nur aus Dokumentationsgründen aufgeführt.))//​|Wird nur zur Sortierung der Rückgabemenge benötigt. Bestimmt die Reihenfolge von "​CharacteristicID"​ innerhalb aller Merkmale.\\ |smallint|3.5.0 |
 +|ValueLanguageID|Sprache,​ in der alle Eigenschaften des Merkmals "​CharacteristicID"​ angegeben sind\\ |tinyint|3.5.0 |
 +|CharacteristicDescription|Bezeichnung des Merkmals "​CharacteristicID"​ (in der Standardsprache)\\ |varchar(100)|3.5.0 |
 +|Value|Gemeinsame Eigenschaft\\ |varchar(1000)|3.5.0 |
 +|UnitSymbol|Symbol (im Regelfall der ISO-Code) der Einheit des Merkmals "​CharacteristicID"​\\ |varchar(10)|3.5.0 |
 +|IsInherited|Ist die Eigenschaft geerbt oder direkt zugewiesen ?\\ |bit|3.5.0 |
 +|CharacteristicID|ID des Merkmals, zu dem die gemeinsame Eigenschaft "​ValueID"​ gehört\\ |smallint|3.5.0 |
 +|PredefinedValues|Hat "​CharacteristicID"​ nur vordefinierte Eigenschaften ("​0"​ : Nein, "​1"​ : Ja) ?\\ |bit|3.5.0 |
 +|ValueID|ID der gemeinsamen Eigenschaft\\ |integer|3.5.0 |
 +|UnitID|ID der Einheit des Merkmals "​CharacteristicID"​\\ |tinyint|3.5.0 |
 +|Recursive|Ist das Merkmal "​CharacteristicID"​ ein rekursives Merkmal ?\\ |bit|3.5.0 |
 +|HasDetails|Sind zur Eigenschaft "​ValueID"​ noch Details (wie z.B. eine Produktbeschreibung) hinterlegt ?\\ |bit|3.5.0 |
 +
 +== Sortierungen der Rückgabe ==
 +
 +wenn OrderBy is NULL
 +  * SortNo (absteigend)
 +wenn OrderBy = '​CharacDesc'​
 +  * CharacteristicDescription (absteigend)
 +  * SortNo (absteigend)
 +wenn OrderBy = '​CharacAsc'​
 +  * CharacteristicDescription (aufsteigend)
 +  * SortNo (absteigend)
 +wenn OrderBy = '​ValueDesc'​
 +  * Value (absteigend)
 +  * SortNo (absteigend)
 +wenn OrderBy = '​ValueAsc'​
 +  * Value (aufsteigend)
 +  * SortNo (absteigend)
 +wenn OrderBy = '​InheritDesc'​
 +  * IsInherited (absteigend)
 +  * SortNo (absteigend)
 +wenn OrderBy = '​InheritAsc'​
 +  * IsInherited (aufsteigend)
 +  * SortNo (absteigend)
 +wenn OrderBy = '​UnitDesc'​
 +  * UnitID (absteigend)
 +  * SortNo (absteigend)
 +wenn OrderBy = '​UnitAsc'​
 +  * UnitID (aufsteigend)
 +  * SortNo (absteigend)
 +wenn OrderBy = '​LangDesc'​
 +  * ValueLanguageID (absteigend)
 +  * SortNo (absteigend)
 +wenn OrderBy = '​LangAsc'​
 +  * ValueLanguageID (aufsteigend)
 +  * SortNo (absteigend)
 +
 +==== 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|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|nur indirekt|
 +|-283|Der Benutzer hat keine Berechtigung,​ Eigenschaften zu diesem(n) Merkmal(en) zu ermitteln|nur indirekt|
 +|-120|Der Benutzer hat keine Berechtigung für das (die) Element(e)|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.1 |2013-08-07|1. Interne Anpassungen aufgrund der Datentyp-Erweiterung der "​Value"​-Spalte der Tabelle "​NodeCharacteristicValues"​\\ 2. Datentyp der Rückgabespalte "​Value"​ hat sich erweitert => Anpassung der Doku\\ ​ |
 +|6.5.4 |2013-04-29|Anpassungen an aktuellen Code-Standard\\ ​ |
 +|6.5.3 |2013-03-18|Anpassungen an aktuellen Code-Standard,​ u.a. wg. UTF8-Unterstützung\\ ​ |
 +|4.0.11 |2004-03-31|1. "​_mi_StartProcedure",​ "​_mi_FinishProcedure"​ u. "​_mi_ChooseParamValueSeperator"​\\ 2. "set transaction isolation level 1", "set rowcount 0" zu Beginn\\ 3. Konsequente Fehlerbehandlung\\ 4. Überarbeitung der Doku\\ ​ |
 +|4.0.0 |2003-04-03|Fehler in der Rückgabemenge,​ die "​SortNo"​ wurde fälschlicherweise zurückgegeben\\ ​ |
 +|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_GetCommonNodeProperties_Ad|im_GetCommonNodeProperties_Ad im Engine Playground öffnen]]
 +== cURL ==
 +Unformatierte Ausgabe:
 +<code bash>
 +curl -X GET  '​http://<​partner>​-<​project>​.dstore.de/​default/​engine/​im_GetCommonNodeProperties_Ad'</​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 GET  '​http://<​partner>​-<​project>​.dstore.de/​default/​engine/​im_GetCommonNodeProperties_Ad'​ | 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_GetCommonNodeProperties_Ad',​
 + array(
 + // '​TreeNodeIDs'​ => 1,
 + // '​LanguageID'​ => -1,
 + // '​InheritDepth'​ => -1,
 + // '​OrderBy'​ => NULL,
 + // '​RecursiveEvaluation'​ => 0,
 + // '​DateFormat'​ => '​Germany',​
 + // '​CharacteristicIDList'​ => NULL
 + )
 +);
 +
 +$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_GetCommonNodeProperties_Ad">​
 + <​Parameters>​
 + <!-- <​Parameter Name="​TreeNodeIDs">​1</​Parameter>​ -->
 + <!-- <​Parameter Name="​LanguageID">​-1</​Parameter>​ -->
 + <!-- <​Parameter Name="​InheritDepth">​-1</​Parameter>​ -->
 + <!-- <​Parameter Name="​OrderBy">​NULL</​Parameter>​ -->
 + <!-- <​Parameter Name="​RecursiveEvaluation">​0</​Parameter>​ -->
 + <!-- <​Parameter Name="​DateFormat">'​Germany'</​Parameter>​ -->
 + <!-- <​Parameter Name="​CharacteristicIDList">​NULL</​Parameter>​ -->
 + </​Parameters>​
 + </​Procedure>​
 + </​Batch>​
 +</​ListOfBatches></​code>​
  
engine/procedures/im_getcommonnodeproperties_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)