Mit Hilfe dieser Prozedur kann man herausfinden, welche Artikel von Kunden, die ein bestimmtes Produkt (→ „VariantOrItemNo“) gekauft haben, bestellt wurden. Es werden immer nur NICHT-GELÖSCHTE Elemente zurückgegeben !
Hinweise zum Parameter „VariantOrItemNo“ :
1. Wenn „VariantOrItemNo“ SOWOHL die Artikelnummer eines Produktes (Artikel-Element der in „Settings“ zum Schlüssel „ProductLevelNo“ angegebenen Hierarchie) ALS AUCH einer Variante (Artikel-Element mit der größten Hierarchie-Nummer, siehe im_GetLevels_Ad) ist, gibt es einen Fehler („-181“).
2. Außerdem muß die Artikelnummer „VariantOrItemNo“ Eigenschaft MINDESTENS EINES NICHT-GELÖSCHTEN Artikel-Elementes sein (sonst „-500“) !
3. Wird ein Element auf der Hierarchie „Produkt“ angegeben, impliziert das IMMER die Fragestellung „Welche Produkte haben Kunden gekauft, die eine oder meherere der VARIANTEN dieses Produktes gekauft haben ?“ !
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.1 (2013-08-07) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
VariantOrItemNo | Eine Artikelnummer (Eigenschaft zum Merkmal mit „NodeCharacteristicID = 6“). Die Prozedur ermittelt alle Aufträge, in denen ein Artikel mit dieser Artikelnummer bestellt wurde und stellt dann fest, welche Produkte die Auftraggeber noch bestellt haben. | varchar(100) | 3.5.5 | |
IncludeSiblingVariants | 1 | Handelt es sich bei „VariantOrItemNo“ um die Artikelnummer einer Produkt-Variante (!), gibt dieser Parameter an, ob auch Aufträge, in denen eine andere Variante des gleichen Produktes bestellt wurde, mitberücksichtigt werden sollen („1“ : Ja, „0“ : Nein) | bit | 3.5.5 |
FromDate | NULL | Wenn angegeben, werden nur Aufträge (in denen der Artikel „VariantOrItemNo“ bzw. eine andere Variante des gleichen Produkts bestellt wurde) berücksichtigt, die NACH diesem Zeitpunkt angelegt wurden | datetime | 3.5.15 |
ToDate | NULL | Wenn angegeben, werden nur Aufträge (in denen der Artikel „VariantOrItemNo“ bzw. eine andere Variante des gleichen Produkts bestellt wurde) berücksichtigt, die VOR diesem Zeitpunkt angelegt wurden | datetime | 3.5.15 |
OnlyActive | 0 | Sollen im Ergebnis nur AKTIVE Elemente enthalten sein, ist hier „1“ anzugeben | bit | 4.0.5 |
GetAdditionalInfo | 0 | Gibt man „1“ an, enthält das Ergebnis weitere Spalten die zusätzliche Informationen zum jeweiligen Element enthalten | bit | 4.0.5 |
FilterByCharacteristicID | NULL | Nur Elemente, die „FilterByCharacValue“ als Eigenschaft zum Merkmal „FilterByCharacteristicID“ haben. (Achtung: Hierbei wird keine Vererbung berücksichtigt) | smallint | 4.0.5 |
FilterByCharacValue | NULL | Nur Elemente, die „FilterByCharacValues“ als Eigenschaft zum Merkmal „FilterByCharacteristicID“ haben. (Achtung: Hierbei wird keine Vererbung berücksichtigt) | varchar(1000) | 4.0.5 |
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.5 |
IncludeVariantOrItemNoNodes | 1 | bit | 5.1.2 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
Domain | Bezeichnung des Vorgänger-Elementes von „Category“ | varchar(100) | 3.5.5 |
Category | Bezeichnung des Vorgänger-Elementes von „Product“ | varchar(100) | 3.5.5 |
Product | Bezeichnung des Artikel-Elementes „NodeID“ | varchar(100) | 3.5.5 |
NodeID | ID eines Artikel-Elementes, das Kunden bestellt haben, die den Artikel „VariantOrItemNo“ gekauft haben | integer | 3.5.5 |
TreeNodeID | ID eines Elementes im Artikelbaum, das „NodeID“ als Artikel-Element zugewiesen hat | integer | 3.5.5 |
Counter | Wie oft wurde der Artikel „NodeID“ bestellt (nicht : wieVIEL wurde von dem Artikel bestellt !) | integer | 3.5.5 |
(parameterunabängige Sortierung)
Spaltenname | Beschreibung | SQL-Datentyp5) | ab Version |
---|---|---|---|
Domain | Bezeichnung der zugehörigen „NodeID“ des Vorgänger-Elementes „DomainTreeNodeID“ von „Category“ | varchar(100) | 4.0.5 |
Category | Bezeichnung der zugehörigen „NodeID“ des Vorgänger-Elementes „CategoryTreeNodeID“ von „Product“ | varchar(100) | 4.0.5 |
Product | Bezeichnung des Artikel-Elementes „NodeID“ | varchar(100) | 4.0.5 |
NodeID | ID eines Artikel-Elementes, das Kunden bestellt haben, die den Artikel „VariantOrItemNo“ gekauft haben | integer | 4.0.5 |
TreeNodeID | ID eines Elementes im Artikelbaum, das „NodeID“ als Artikel-Element zugewiesen hat | integer | 4.0.5 |
Counter | Wie oft wurde der Artikel „NodeID“ bestellt (nicht : wieVIEL wurde von dem Artikel bestellt !) | integer | 4.0.5 |
LevelID | ID der Hierarchie von „NodeID“ (entweder Produkt oder Variante) | tinyint | 4.0.5 |
LevelNo | Nummer der Hierarchie der „NodeID“ | tinyint | 4.0.5 |
Active | Ist „TreeNodeID“ z.Zt. aktiviert ? („0“ : Nein, „1“ : Ja) | bit | 4.0.5 |
CategoryTreeNodeID | ID des Vorgänger-Elementes (mit der Bezeichnung „Category“) von „TreeNodeID“ | integer | 4.0.5 |
DomainTreeNodeID | ID des Vorgänger-Elementes (mit der Bezeichnung „Domain“) von „CategoryTreeNodeID“ | integer | 4.0.5 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 6) |
---|---|---|
-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 | nur indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
-181 | Die Artikelnummer gehört zu Elementen unterschiedlicher Hierarchie | nur indirekt |
-110 | Das (die) Element(e) ist (sind) nicht vorhanden | 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 | 1. Datentyp-Erweiterung des Parameters „FilterByCharacValue“ [von 100 auf 1000] 2. Anpassungen des Quellcodes an den aktuellen Standard |
5.1.2 | 2006-06-26 | Optimierung des Zugriffs auf „NodeProperties“ [bedingt durch die Änderung dieser Tabelle in 5.1.0] |
5.1.1 | 2006-04-05 | Optimierung des Zugriffs auf „NodeProperties“ (bedingt durch die Änderung dieser Tabelle in 5.1.0) |
4.0.5 | 2003-10-04 | 1. Neue Parameter „OnlyActive“, „GetAdditionalInfo“, „FilterByCharacteristicID“, „FilterByCharacValue“, „NegateFilterByParams“ 2. Fehler : Es wurden manchmal auch gelöschte Elemente zurückgegeben |
3.5.15 | 2002-03-12 | |
3.5.5 | 2001-03-30 | 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 POST 'http://<partner>-<project>.dstore.de/default/engine/om_CustomerWhoBoughtAlsoBought?VariantOrItemNo=<value>'
Mit xmllint 7) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/om_CustomerWhoBoughtAlsoBought?VariantOrItemNo=<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'), 'om_CustomerWhoBoughtAlsoBought', array( 'VariantOrItemNo' => '<value>', // 'IncludeSiblingVariants' => 1, // 'FromDate' => NULL, // 'ToDate' => NULL, // 'OnlyActive' => 0, // 'GetAdditionalInfo' => 0, // 'FilterByCharacteristicID' => NULL, // 'FilterByCharacValue' => NULL, // 'NegateFilterByParams' => 0, // 'IncludeVariantOrItemNoNodes' => 1 ) ); $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="om_CustomerWhoBoughtAlsoBought"> <Parameters> <Parameter Name="VariantOrItemNo"><!-- varchar value --></Parameter> <!-- <Parameter Name="IncludeSiblingVariants">1</Parameter> --> <!-- <Parameter Name="FromDate">NULL</Parameter> --> <!-- <Parameter Name="ToDate">NULL</Parameter> --> <!-- <Parameter Name="OnlyActive">0</Parameter> --> <!-- <Parameter Name="GetAdditionalInfo">0</Parameter> --> <!-- <Parameter Name="FilterByCharacteristicID">NULL</Parameter> --> <!-- <Parameter Name="FilterByCharacValue">NULL</Parameter> --> <!-- <Parameter Name="NegateFilterByParams">0</Parameter> --> <!-- <Parameter Name="IncludeVariantOrItemNoNodes">1</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>