Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:im_getcommonnodeproperties_ad

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-MethodGET
HTTP-AuthOptional
Tags
Engine-Kategorieitem management
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
TreeNodeIDs1 „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“
bit3.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.
smallint3.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.
smallint3.5.0
OrderByNULL Gibt an, nach welcher Spalte die Ausgabe sortiert werden soll
varchar(20)3.5.0
RecursiveEvaluation0 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“
tinyint3.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
CharacteristicIDListNULL 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-Datentyp4) ab Version
SortNo5)Wird nur zur Sortierung der Rückgabemenge benötigt. Bestimmt die Reihenfolge von „CharacteristicID“ innerhalb aller Merkmale.
smallint3.5.0
ValueLanguageIDSprache, in der alle Eigenschaften des Merkmals „CharacteristicID“ angegeben sind
tinyint3.5.0
CharacteristicDescriptionBezeichnung des Merkmals „CharacteristicID“ (in der Standardsprache)
varchar(100)3.5.0
ValueGemeinsame Eigenschaft
varchar(1000)3.5.0
UnitSymbolSymbol (im Regelfall der ISO-Code) der Einheit des Merkmals „CharacteristicID“
varchar(10)3.5.0
IsInheritedIst die Eigenschaft geerbt oder direkt zugewiesen ?
bit3.5.0
CharacteristicIDID des Merkmals, zu dem die gemeinsame Eigenschaft „ValueID“ gehört
smallint3.5.0
PredefinedValuesHat „CharacteristicID“ nur vordefinierte Eigenschaften („0“ : Nein, „1“ : Ja) ?
bit3.5.0
ValueIDID der gemeinsamen Eigenschaft
integer3.5.0
UnitIDID der Einheit des Merkmals „CharacteristicID“
tinyint3.5.0
RecursiveIst das Merkmal „CharacteristicID“ ein rekursives Merkmal ?
bit3.5.0
HasDetailsSind zur Eigenschaft „ValueID“ noch Details (wie z.B. eine Produktbeschreibung) hinterlegt ?
bit3.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 6)
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-599Lizenz ist ungültig oder abgelaufennur indirekt
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-550Fehlender oder falscher Eintrag in Settingsnur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur indirekt
-500Falsche Parameternur indirekt
-283Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermittelnnur indirekt
-120Der 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 Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
7.0.1 2013-08-071. 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-29Anpassungen an aktuellen Code-Standard
6.5.3 2013-03-18Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung
4.0.11 2004-03-311. „_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-03Fehler in der Rückgabemenge, die „SortNo“ wurde fälschlicherweise zurückgegeben
3.5.0 2000-11-23Erstmalig 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:

cURL

Unformatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/im_GetCommonNodeProperties_Ad'

Mit xmllint 7) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/im_GetCommonNodeProperties_Ad' | xmllint --format -
dStore_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();
engine/execute

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_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>
1)
Pflichtparameter sind unterstrichen
5)
Spalte wird nicht zurückgegeben und ist hier nur aus Dokumentationsgründen aufgeführt.
6)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
7)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/im_getcommonnodeproperties_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)