Prozedur, um „einfache“ Informationen zu einem Produkt zu erhalten.
Zielsetzung dieser Prozedur ist es, mit so wenig Resourcen-Verbrauch (sprich I/Os) wie möglich, einer „öffentlichen“ Anwendung (i.d.R. ein „Webshop“) Daten zu einem Produkt (das ist ein Element der in „Settings“ zum Schlüssel „ProductLevelID“ definierten Hierarchie) zu liefern. Es werden insbesondere KEINE temporären Tabellen erstellt (was typischerweise einen „Flaschenhals“ darstellt) !
Solche Informationen werden immer nicht nur zum Produkt selbst, sondern auch (sofern vorhanden) zu den direkten Nachfolgern, den sogenannten Varianten, ermittelt.
Anmerkung zum Parameter „InformationIDList“ :
Aus internen (technischen) Gründen ist „InformationIDList“ zwar ein „varchar(255)“, es dürfen aber im Fall „TypeOfInformation IN (0,1)“ maximal „250“ Bytes übergeben werden, sonst gibt es einen Fehler („-504“) !
HTTP-Method | GET |
HTTP-Auth | Optional |
Alias | im_GetSimpleProductInformation_Pu |
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 |
---|---|---|---|---|
ProductTreeNodeID | ID eines Elementes im Artikelbaum, das zu einem Artikel-Element der Produkt-Hierarchie (in „Settings“ zum Schlüssel „ProductLevelID“ definiert) gehören muß | integer | 5.5.1 | |
InformationIDList | Wird „0“ oder „1“ für „TypeOfInformation“ angegeben, muß hier eine Liste (durch „¶“ getrennt) von „NodeCharacteristicID“s (zu denen Eigenschaften bzw. „Details“ ermittelt weden sollen) angegeben werden, sonst „BinaryCharacteristicValueID“s | varchar(255) | 5.5.1 | |
TypeOfInformation | 0 | Gibt an, welche Art von Information ermittelt werden soll : „0“ : Artikel-Eigenschaften „1“ : „Details“ zu Artikel-Eigenschaften „2“ : „BinaryCodeIDs“ (die eine in „InformationIDList“ angegebene Eigeschaft besitzen) | tinyint | 5.5.1 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
TreeNodeID | „ProductTreeNodeID“ oder die „TreeNodeID“ eines direkten Nachfolgers | integer | 5.5.1 |
NodeCharacteristicID | ID eines in „InformationIDList“ angegebenen Merkmals. Hinweis : Jede „TreeNodeID - NodeCharacteristicID“-Kombination ist eindeutig, eine Sortierung findet ausdrücklich NICHT statt, es werden nur Datensätze geliefert, bei denen „Value“ NICHT „NULL“ ist ! | smallint | 5.5.1 |
Value | Aktuelle, direkte, nicht rekursiv ausgewertete und auch nicht „formatierte“ Eigenschaft des zur „TreeNodeID“ zugehörigen Artikel-Elementes („NodeID“) zum Merkmal „NodeCharacteristicID“. Hinweis : Datums-Eigenschaften haben daher dasFormat „mm.dd.yyyy“ ! | varchar(1000) | 5.5.1 |
ValueID | ID der Eigenschaft „Value“ | integer | 5.5.1 |
SortNo | Bestimmt die Reihenfolge von „Value“ innerhalb aller Werte zum Merkmal „NodeCharacteristicID“, wobei gilt : eine größere „SortNo“ bedeutet eine höhere Priorisierung (d.h. es muß quasi eine absteigende Sortierung angewandt werden). | integer | 5.5.1 |
Spaltenname | Beschreibung | SQL-Datentyp5) | ab Version |
---|---|---|---|
TreeNodeID | „ProductTreeNodeID“ oder die „TreeNodeID“ eines direkten Nachfolgers | integer | 5.5.1 |
NodeCharacteristicID | ID eines in „InformationIDList“ angegebenen Merkmals. Hinweis : Jede „TreeNodeID - NodeCharacteristicID“-Kombination ist eindeutig, eine Sortierung findet ausdrücklich NICHT statt, es werden nur Datensätze geliefert, bei denen „Details“ vorhanden sind ! | smallint | 5.5.1 |
Details | „ValueDetails“, die zur aktuellen, direkten (nicht rekursiv ausgewerteten) Eigenschaft des zur „TreeNodeID“ zugehörigen Artikel-Elementes zum Merkmal „NodeCharacteristicID“ hinterlegt ist. | text | 5.5.1 |
Spaltenname | Beschreibung | SQL-Datentyp6) | ab Version |
---|---|---|---|
TreeNodeID | „ProductTreeNodeID“ oder die „TreeNodeID“ eines direkten Nachfolgers | integer | 5.5.1 |
BinaryPropertyValueID | ID einer Eigenschaft von „Binaries“, die in „InformationIDList“ angegeben wurde. Hinweis : Zu einer „TreeNodeID - BinaryCharacteristicValueID“-Kombination kann es MEHRERE Datensätze geben, eine Sortierung findet ausdrücklich NICHT statt ! | integer | 5.5.1 |
BinaryCodeID | ID eines „Binaries“, das dem zur „TreeNodeID“ zugehörigen Artikel-Element zugewiesen ist und die Eigenschaft „BinaryPropertyValueID“ besitzt | integer | 5.5.1 |
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 7) |
---|---|---|
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-550 | Fehlender oder falscher Eintrag in Settings | 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 direkt |
-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 |
-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 |
-120 | Der Benutzer hat keine Berechtigung für das (die) Element(e) | nur indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.1 | 2013-08-07 | Datentyp der Rückgabespalte „Value“ hat sich erweitert [Fall „TypeOfInformation = 0“] ⇒ Anpassung der Doku |
6.5.2 | 2013-02-26 | 1. Fehler : Bei Prüfung auf „varchar-Variable voll“ muß „datalength“ [nicht „char_length“] verwendet werden 2. Beschränkungs-Änderungen bzgl. „InformationIDList“ 3. Bislang gab es keinen Fehler, wenn „NULL“ für „TypeOfInformation“ übergeben wurde |
5.5.1 | 2008-07-29 | 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_GetSimpleProductInfo_Pu?ProductTreeNodeID=<value>&InformationIDList=<value>'
Mit xmllint 8) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/im_GetSimpleProductInfo_Pu?ProductTreeNodeID=<value>&InformationIDList=<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_GetSimpleProductInfo_Pu', array( 'ProductTreeNodeID' => <value>, 'InformationIDList' => '<value>', // 'TypeOfInformation' => 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_GetSimpleProductInfo_Pu"> <Parameters> <Parameter Name="ProductTreeNodeID"><!-- integer value --></Parameter> <Parameter Name="InformationIDList"><!-- varchar value --></Parameter> <!-- <Parameter Name="TypeOfInformation">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>