Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:im_getrandomproduct_pu

im_GetRandomProduct_Pu

Sucht zufällig ein oder mehrere Produkt-Element(e) aus einem Bereich des Artikelbaums heraus (d.h. eine oder mehrere „TreeNodeID(s)“, dessen/deren zugehörige „NodeID“ sich auf der Produkt-Hierarchie [→ „Settings“-Eingtrag „ProductLevelID“] befindet).

HTTP-MethodGET
HTTP-AuthOptional
Tags
Engine-Kategorieitem management
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.1 (2013-08-07)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
TreeNodeID ID eines Elementes im Artikelbaum, unter dem sich das (die) zufällig ausgewählte(n) Produkt(e) befinden soll(en).
integer3.5.0
NumberOfRandomProducts1 Anzahl der Produkte, die zufällig ermittelt werden sollen
tinyint3.5.10
BinaryCharacteristicValueIDNULL ID einer Eigenschaft die „Binaries“ haben können (eine Dateigröße z.B.). In der Ergebnismenge sind nur Produkte, die eine Binärdatei mit dieser Eigenschaft (z.B. „Produktansicht klein“ etc.) zugeordnet haben.
integer3.5.10
FilterByCharacteristicIDNULL Nur Elemente, die „FilterByCharacValue“ als Eigenschaft zum Merkmal „FilterByCharacteristicID“ haben werden berücksichtigt. (Achtung: Hierbei wird keine Vererbung berücksichtigt)
smallint3.5.12
FilterByCharacValueNULL Nur Elemente, die „FilterByCharacValue“ als Eigenschaft zum Merkmal „FilterByCharacteristicID“ haben werden berücksichtigt. (Achtung: Hierbei wird keine Vererbung berücksichtigt)
varchar(1000)3.5.12
NegateFilterByParams0 Wird nur berücksichtigt, falls die „FilterBy…“-Parameter angegeben sind ! Bei Angabe von „1“ für diesen Parameter sind nur Elemente in der Rückgabemenge, die die Eigenschaft „FilterByCharacValue“ zum Merkmal „FilterByCharacteristicID“ NICHT haben.
bit4.0.2

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
TreeNodeIDID eines zufällig ausgewählten Produkt-Elementes im Artikelbaum
integer3.5.0
BinaryCodeIDID eines „Binaries“ zu dem Zufalls-Produkt mit der Eigenschaft „BinaryCharacteristicValueID“
integer3.5.10

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-599Lizenz ist ungültig oder abgelaufennur indirekt
-550Fehlender oder falscher Eintrag in Settingsdirekt und indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-500Falsche Parameterdirekt und indirekt
-283Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermittelnnur direkt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.1 2013-08-071. Datentyp-Erweiterung des Parameters „FilterByCharacValue“ [von 100 auf 1000]
2. Anpassung des Quellcodes an den aktuellen Standard
5.1.5 2006-08-29Fehler : „LockedNodeCharacteristics“ wurde bisher GAR NICHT beachtet !
5.1.1 2006-04-05Optimierung des Zugriffs auf „NodeProperties“ (bedingt durch die Änderung dieser Tabelle in 5.1.0)
5.0.0 2004-12-211. Behebung diverser Fehler
2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur
3. Konsequente Fehlerbehandlung
4.0.2 2003-06-111. Neuer Parameter „NegateFilterByParams“
2. Interne Vereinfachung bzgl. „if-else“-Verschachtelung
4.0.1 2003-05-161. Ab jetzt wird berücksichtigt, daß in „NodeProperties“ auch Gültigkeitszeiträume in der Zukunft vorhanden sein können !
2. Performance-Verbesserung im Fall „FilterByCharacteristicID <> NULL“
3.5.22 2002-08-30
3.5.13 2001-12-06
3.5.12 2001-10-17
3.5.10 2001-07-14
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_GetRandomProduct_Pu?TreeNodeID=<value>'

Mit xmllint 6) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/im_GetRandomProduct_Pu?TreeNodeID=<value>' | 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_GetRandomProduct_Pu',
		array(
			'TreeNodeID' => <value>,
			// 'NumberOfRandomProducts' => 1,
			// 'BinaryCharacteristicValueID' => NULL,
			// 'FilterByCharacteristicID' => NULL,
			// 'FilterByCharacValue' => NULL,
			// 'NegateFilterByParams' => 0
		)
);
 
$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_GetRandomProduct_Pu">
			<Parameters>
				<Parameter Name="TreeNodeID"><!-- integer value --></Parameter>
				<!-- <Parameter Name="NumberOfRandomProducts">1</Parameter> -->
				<!-- <Parameter Name="BinaryCharacteristicValueID">NULL</Parameter> -->
				<!-- <Parameter Name="FilterByCharacteristicID">NULL</Parameter> -->
				<!-- <Parameter Name="FilterByCharacValue">NULL</Parameter> -->
				<!-- <Parameter Name="NegateFilterByParams">0</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
5)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
6)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/im_getrandomproduct_pu.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)