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-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | item management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.1 (2013-08-07) |
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). | integer | 3.5.0 | |
NumberOfRandomProducts | 1 | Anzahl der Produkte, die zufällig ermittelt werden sollen | tinyint | 3.5.10 |
BinaryCharacteristicValueID | NULL | 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. | integer | 3.5.10 |
FilterByCharacteristicID | NULL | Nur Elemente, die „FilterByCharacValue“ als Eigenschaft zum Merkmal „FilterByCharacteristicID“ haben werden berücksichtigt. (Achtung: Hierbei wird keine Vererbung berücksichtigt) | smallint | 3.5.12 |
FilterByCharacValue | NULL | 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 |
NegateFilterByParams | 0 | 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. | bit | 4.0.2 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
TreeNodeID | ID eines zufällig ausgewählten Produkt-Elementes im Artikelbaum | integer | 3.5.0 |
BinaryCodeID | ID eines „Binaries“ zu dem Zufalls-Produkt mit der Eigenschaft „BinaryCharacteristicValueID“ | integer | 3.5.10 |
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-599 | Lizenz ist ungültig oder abgelaufen | nur indirekt |
-550 | Fehlender oder falscher Eintrag in Settings | direkt und indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
-283 | Der Benutzer hat keine Berechtigung, Eigenschaften zu diesem(n) Merkmal(en) zu ermitteln | nur direkt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.1 | 2013-08-07 | 1. Datentyp-Erweiterung des Parameters „FilterByCharacValue“ [von 100 auf 1000] 2. Anpassung des Quellcodes an den aktuellen Standard |
5.1.5 | 2006-08-29 | Fehler : „LockedNodeCharacteristics“ wurde bisher GAR NICHT beachtet ! |
5.1.1 | 2006-04-05 | Optimierung des Zugriffs auf „NodeProperties“ (bedingt durch die Änderung dieser Tabelle in 5.1.0) |
5.0.0 | 2004-12-21 | 1. 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-11 | 1. Neuer Parameter „NegateFilterByParams“ 2. Interne Vereinfachung bzgl. „if-else“-Verschachtelung |
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. 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-23 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
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 -
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();
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>