Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_customerwhoboughtalsobought

om_CustomerWhoBoughtAlsoBought

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-MethodPOST
HTTP-AuthOptional
Tags
Engine-Kategorieorder management
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.1 (2013-08-07)

Parameter

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
IncludeSiblingVariants1 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)
bit3.5.5
FromDateNULL 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
datetime3.5.15
ToDateNULL 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
datetime3.5.15
OnlyActive0 Sollen im Ergebnis nur AKTIVE Elemente enthalten sein, ist hier „1“ anzugeben
bit4.0.5
GetAdditionalInfo0 Gibt man „1“ an, enthält das Ergebnis weitere Spalten die zusätzliche Informationen zum jeweiligen Element enthalten
bit4.0.5
FilterByCharacteristicIDNULL Nur Elemente, die „FilterByCharacValue“ als Eigenschaft zum Merkmal „FilterByCharacteristicID“ haben. (Achtung: Hierbei wird keine Vererbung berücksichtigt)
smallint4.0.5
FilterByCharacValueNULL Nur Elemente, die „FilterByCharacValues“ als Eigenschaft zum Merkmal „FilterByCharacteristicID“ haben. (Achtung: Hierbei wird keine Vererbung berücksichtigt)
varchar(1000)4.0.5
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.5
IncludeVariantOrItemNoNodes1
bit5.1.2

Rückgabe

wenn GetAdditionalInfo = 0

Spaltenname Beschreibung SQL-Datentyp4) ab Version
DomainBezeichnung des Vorgänger-Elementes von „Category“
varchar(100)3.5.5
CategoryBezeichnung des Vorgänger-Elementes von „Product“
varchar(100)3.5.5
ProductBezeichnung des Artikel-Elementes „NodeID“
varchar(100)3.5.5
NodeIDID eines Artikel-Elementes, das Kunden bestellt haben, die den Artikel „VariantOrItemNo“ gekauft haben
integer3.5.5
TreeNodeIDID eines Elementes im Artikelbaum, das „NodeID“ als Artikel-Element zugewiesen hat
integer3.5.5
CounterWie oft wurde der Artikel „NodeID“ bestellt (nicht : wieVIEL wurde von dem Artikel bestellt !)
integer3.5.5
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • Counter (absteigend)

wenn GetAdditionalInfo = 1

Spaltenname Beschreibung SQL-Datentyp5) ab Version
DomainBezeichnung der zugehörigen „NodeID“ des Vorgänger-Elementes „DomainTreeNodeID“ von „Category“
varchar(100)4.0.5
CategoryBezeichnung der zugehörigen „NodeID“ des Vorgänger-Elementes „CategoryTreeNodeID“ von „Product“
varchar(100)4.0.5
ProductBezeichnung des Artikel-Elementes „NodeID“
varchar(100)4.0.5
NodeIDID eines Artikel-Elementes, das Kunden bestellt haben, die den Artikel „VariantOrItemNo“ gekauft haben
integer4.0.5
TreeNodeIDID eines Elementes im Artikelbaum, das „NodeID“ als Artikel-Element zugewiesen hat
integer4.0.5
CounterWie oft wurde der Artikel „NodeID“ bestellt (nicht : wieVIEL wurde von dem Artikel bestellt !)
integer4.0.5
LevelIDID der Hierarchie von „NodeID“ (entweder Produkt oder Variante)
tinyint4.0.5
LevelNoNummer der Hierarchie der „NodeID“
tinyint4.0.5
ActiveIst „TreeNodeID“ z.Zt. aktiviert ? („0“ : Nein, „1“ : Ja)
bit4.0.5
CategoryTreeNodeIDID des Vorgänger-Elementes (mit der Bezeichnung „Category“) von „TreeNodeID“
integer4.0.5
DomainTreeNodeIDID des Vorgänger-Elementes (mit der Bezeichnung „Domain“) von „CategoryTreeNodeID“
integer4.0.5
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • Counter (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
-550Fehlender oder falscher Eintrag in Settingsnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-500Falsche Parameterdirekt und indirekt
-181Die Artikelnummer gehört zu Elementen unterschiedlicher Hierarchienur indirekt
-110Das (die) Element(e) ist (sind) nicht vorhandennur indirekt

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. Anpassungen des Quellcodes an den aktuellen Standard
5.1.2 2006-06-26Optimierung des Zugriffs auf „NodeProperties“ [bedingt durch die Änderung dieser Tabelle in 5.1.0]
5.1.1 2006-04-05Optimierung des Zugriffs auf „NodeProperties“ (bedingt durch die Änderung dieser Tabelle in 5.1.0)
4.0.5 2003-10-041. 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-30Erstmalig 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 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 -
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'),
	'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();
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="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>
1)
Pflichtparameter sind unterstrichen
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/om_customerwhoboughtalsobought.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)