Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_getcampaignitemcongroups_ad

om_GetCampaignItemConGroups_Ad

Gibt zu einer auf Artikel-Bedingungen basierenden Verkaufs-Aktions-Bedingung die um Mengen/Warenwert-Kriterien erweiterten zugehörigen Bedingungs-Gruppen mit all ihren Bedingungsteilen zurück.

Hintergrund : Eine Bedingungs-Gruppe ist Bestandteil einer sogenannten Artikel-Bedingung, deren Aufbau in im_GetItemConditionGroups_Ad beschrieben ist. Bedingungs-Gruppen bestehen aus mehreren Bedingungsteilen. Mit einem solchen Bedingungsteil können Dinge wie „Schuhe der Marke X“ abgebildet werden. Mit Bedingungsgruppen kann man dann mehrere Bedingungen zusammenfassen: „Schuhe der Marke X ODER Hosen der Marke Y“. Solche Bedingungsgruppen müssen aber häufig noch ein Mengen- und/oder Warenwert-Kriterium bekommen, um eine „vollständigen Bedingungsgruppe“ zu erhalten - wie etwa : „mind. 2 Schuhe der Marke X ODER 2 Hosen der Marke Y im Wert von 250 Euro“.

Hinweise :
1.) Ob die „…PriceSum…“-Angaben in Brutto oder Netto angegeben sind, bestimmt ein entsprechender „CampaignSettings“-Eintrag (s. om_GetCampaignSettingEntry) zum Schlüssel „PriceConditionsInNet“ (zu der Verkaufs-Aktion, der die Bedingung „ConditionID“ zugeordnet ist).
2.) Die Grenzen der durch die „From…“- und „To…“-Werte bzw. „Min…“- und „Max…“-Angaben definierten Bereiche (wenn nicht „NULL“) sind immer als „einschließlich“ zu verstehen.
3.) Wurde ein „ItemConditionPart“ einer Bedingungs-Gruppe nicht um Mengen- und/oder Warenwert-Kriterium erweitert, sind die Werte in den „_Part“-Spalten „NULL“.
4.) NULL„ für „ConditionID“ UND „ItemConditionPartID“ anzugeben ist natürlich nicht erlaubt !

HTTP-MethodGET
HTTP-AuthOptional
Aliasom_GetCampaignItemConditionGroups_Ad
Tags
Engine-Kategorieorder management
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
ConditionID ID einer auf Artikel-Bedingungen basierenden Verkaufs-Aktions-Bedingung, zu der die erweiterten Artikel-Bedinguns-Gruppen ermittelt werden sollen. Mögliche Werte : s. om_GetCampaignConditions_Ad (Rückgabespalte „ConditionID“ zur „CriteriaTypeID = 1“).
integer6.0.7
ItemConditionGroupIDNULL ID einer Artikel-Bedingungs-Gruppe. Angeben, um nur die Erweiterung dieser Gruppe (wenn Bestandteil von „ConditionID“) zu erhalten bzw. um ALLE Verkaufs-Aktions-Bedingungen zu ermitteln (wenn „ConditionID“ „NULL“ ist), zu denen diese Gruppe gehört.
integer6.0.7

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
ConditionIDID einer Verkaufs-Aktions-Bedingung (die auf einer Artikel-Bedingung basiert) - natürlich identisch mit „ConditionID“ wenn angegeben
integer6.0.7
ItemConditionGroupIDID einer Bedingungs-Gruppe, die Bestandteil der Artikel-Bedingung, auf der „ConditionID“ basiert, ist - natürlich identisch mit „ItemConditionGroupID“ wenn angegeben
integer6.0.7
ItemGroupSortNoBestimmt die Reihenfolge von „ItemConditionGroupID“ innerhalb aller der Artikel-Bedingung (auf der „ConditionID“ basiert) zugeordneten Bedingungs-Gruppen
tinyint6.0.7
ExtendedItemCondGroupDescrBezeichnung der um Mengen- und/oder Warenwert-Kriterium erweiterten Bedingungs-Gruppe „ItemConditionGroupID“ („NULL“, wenn die Bedingungs-Gruppe nicht erweitert ist)
varchar(255)6.0.7
CombinePartsWithANDOperatorGibt an, ob die der „ItemConditionGroupID“ zugeordneten Bedingungs-Teile logisch mit UND verknüpft werden („1“) oder mit ODER („0“)
bit6.0.7
MinNumberOfItemsDie Anzahl VERSCHIEDENER Artikel-Elemente, die die Bedingungs-Gruppe „ItemConditionGroupID“ erfüllen, muß zwischen diesem Wert und „MaxNumberOfItems“ (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
integer6.0.7
MaxNumberOfItemsDie Anzahl VERSCHIEDENER Artikel-Elemente, die die Bedingungs-Gruppe „ItemConditionGroupID“ erfüllen, muß zwischen „MinNumberOfItems“ und diesem Wert (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
integer6.0.7
FromQuantityDie Gesamt-Menge (Summe „Quantity“) ALLER Artikel-Elemente, die die Bedingungs-Gruppe „ItemConditionGroupID“ erfüllen, muß zwischen diesem Wert und „ToQuantity“ (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
integer6.0.7
ToQuantityDie Gesamt-Menge (Summe „Quantity“) ALLER Artikel-Elemente, die die Bedingungs-Gruppe „ItemConditionGroupID“ erfüllen, muß zwischen „FromQuantity“ und diesem Wert (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
integer6.0.7
FromItemBasicPriceDer EINZEL-Preis, den „_om_GetBasicPrices“ für ein Artikel-Element, das die Bedingungs-Gruppe „ItemConditionGroupID“ erfüllt, liefert, muß zwischen diesem Wert und „ToItemBasicPrice“ (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
money6.0.7
ToItemBasicPriceDer EINZEL-Preis, den „_om_GetBasicPrices“ für ein Artikel-Element, das die Bedingungs-Gruppe „ItemConditionGroupID“ erfüllt, liefert, muß zwischen „FromItemBasicPrice“ und diesem Wert (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
money6.0.7
FromBasicPriceSumDie Gesamt-Summe für alle Artikel-Elemente (Summe aller Einzelpreise, die „_om_GetBasicPrices“ liefert, mit der jew. „Quantity“ multipliziert), die die Bedingungs-Gruppe „ItemConditionGroupID“ erfüllen, muß zw. diesem Wert und „ToBasicPriceSum“ liegen
money6.0.7
ToBasicPriceSumDie Gesamt-Summe für alle Artikel-Elemente (Summe aller Einzelpreise, die „_om_GetBasicPrices“ liefert, mit der jew. „Quantity“ multipliziert), die die Bedingungs-Gruppe „ItemConditionGroupID“ erfüllen, muß zw. „FromBasicPriceSum“ und diesem Wert liegen
money6.0.7
ItemConditionPartDescriptionBezeichnung des Bedingungs-Teils „ItemConditionPartID“
varchar(255)6.0.7
ItemConditionPartIDID eines Bedingungs-Teils, das Bestandteil von „ItemConditionGroupID“ ist
integer6.0.7
ItemPartSortNoBestimmt die Reihenfolge von „ItemConditionPartID“ innerhalb aller der Bedingungs-Gruppe „ItemConditionGroupID“ zugeordneten Bedingungs-Teile
tinyint6.0.7
LevelIDsUm den (Artikel-)Bedingungs-Teil „ItemConditionPartID“ zu erfüllen, muß die Hierarchie („LevelID“) eines Artikel-Elementes aus der hier angegebenen Menge der Hierarchien („LevelID“s) kommen. Sonderfall “,,„ bedeutet „beliebige Hierarchie“.
varchar(50)6.0.7
DomainTreeNodeIDsUm den (Artikel-)Bedingungs-Teil „ItemConditionPartID“ zu erfüllen, muß ein Element im Artikelbaum ein Vorgänger-Element besitzen, dessen „TreeNodeID“ aus der hier angegebenen Menge von IDs kommt. Sonderfall “,,„ bedeutet „beliebiger Vorgänger“.
varchar(200)6.0.7
NodeCharacteristicIDID eines Merkmals. Um „ItemConditionPartID“ zu erfüllen, muß ein Element im Artikelbaum eine Eigenschaft zu diesem Merkmal besitzen, die der Bedingung („Operator1“ etc.) genügt. Sonderfall “-1„ : „KEINE Eigenschafts-Bedingung“ (ist also immer erfüllt).
smallint6.0.7
Operator1Operator für die Bedingung „Condition1“. Mögliche Werte :
- “=„
- “!=„ / “<>„
- “~„ / “!~„ (LIKE / NOT LIKE)
- “>„
- “<„
- “>=„
- “⇐„
- „IN“ / “!I„ (in / NICHT in Menge von „Value“-Werten)
- „E“ / “!E„ (IRGENDEINE / KEINE Eigenschaft)
varchar(2)6.0.7
Condition1Bedingung, die in Verbindung mit „Operator1“ anzuwenden ist („NULL“, falls „Operator1“ den Wert „E“ oder “!E„ hat)
varchar(2000)6.0.7
Operator2Operator für die Bedingung „Condition2“. Mögliche Werte :
- “<„ oder “⇐„, falls „Operator1“ “>„ oder “>=„ enthält
- bel. Zeichen (Trennzeichen für Werte-Menge), falls „Operator1“ „IN“ oder “!I„ enthält
varchar(2)6.0.7
Condition2Bedingung, die in Verbindung mit „Operator2“ anzuwenden ist (nur belegt, wenn „Operator2“ den Wert “<„ oder “⇐„ enthält)
varchar(1000)6.0.7
ExtendedItemCondPartDescrBezeichnung des um Mengen- und/oder Warenwert-Kriterium erweiterten Bedingungs-Teils „ItemConditionPartID“ („NULL“, wenn der Bedingungs-Teil nicht erweitert ist)
varchar(255)6.0.7
InheritDepthWelche Eigenschaften zu „NodeCharacteristicID“ hinsichtlich Vererbung sollen bei Prüfung der Eigenschafts-Bedingung beachtet werden :
“-1„ : Alle
„0“ : unvererbte
„1“ : direkte u. einfach geerbte
„2“ : direkte u. einfach oder zweifach geerbte
usw.
smallint6.0.7
RecursiveEvaluationWas soll zwecks Prüfung der Bedingung zu „NodeCharacteristicID“ (wenn rekursiv) gewählt werden ?
„0“ : direkte Eigenschaft (also eine Merkmal-ID)
„1“ : rekursiv ausgewertete Eigenschaft
„2“ : zugehör. Beschreibung der Eigenschaft (also der Merkmal-ID)
tinyint6.0.7
MinNumberOfItems_PartDie Anzahl VERSCHIEDENER Artikel-Elemente, die den Bedingungs-Teil „ItemConditionPartID“ erfüllen, muß zwischen diesem Wert und „MaxNumberOfItems“ (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
integer6.0.7
MaxNumberOfItems_PartDie Anzahl VERSCHIEDENER Artikel-Elemente, die den Bedingungs-Teil „ItemConditionPartID“ erfüllen, muß zwischen „MinNumberOfItems“ und diesem Wert (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
integer6.0.7
FromQuantity_PartDie Gesamt-Menge (Summe „Quantity“) ALLER Artikel-Elemente, die den Bedingungs-Teil „ItemConditionPartID“ erfüllen, muß zwischen diesem Wert und „ToQuantity“ (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
integer6.0.7
ToQuantity_PartDie Gesamt-Menge (Summe „Quantity“) ALLER Artikel-Elemente, die den Bedingungs-Teil „ItemConditionPartID“ erfüllen, muß zwischen „FromQuantity“ und diesem Wert (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
integer6.0.7
FromItemBasicPrice_PartDer EINZEL-Preis, den „_om_GetBasicPrices“ für ein Artikel-Element, das den Bedingungs-Teil „ItemConditionPartID“ erfüllt, liefert, muß zwischen diesem Wert und „ToItemBasicPrice“ (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
money6.0.7
ToItemBasicPrice_PartDer EINZEL-Preis, den „_om_GetBasicPrices“ für ein Artikel-Element, das den Bedingungs-Teil „ItemConditionPartID“ erfüllt, liefert, muß zwischen „FromItemBasicPrice“ und diesem Wert (sofern nicht „NULL“) liegen (um „ConditionID“ zu erfüllen)
money6.0.7
FromBasicPriceSum_PartDie Gesamt-Summe für alle Artikel-Elemente (Summe aller Einzelpreise, die „_om_GetBasicPrices“ liefert, mit der jew. „Quantity“ multipliziert), die den Bedingungs-Teil „ItemConditionPartID“ erfüllen, muß zwischen diesem Wert und „ToBasicPriceSum“ liegen
money6.0.7
ToBasicPriceSum_PartDie Gesamt-Summe für alle Artikel-Elemente (Summe aller Einzelpreise, die „_om_GetBasicPrices“ liefert, mit der jew. „Quantity“ multipliziert), die den Bedingungs-Teil „ItemConditionPartID“ erfüllen, muß zwischen „FromBasicPriceSum“ und diesem Wert liegen
money6.0.7
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • ConditionID (aufsteigend)
  • ItemGroupSortNo (aufsteigend)
  • ItemPartSortNo (aufsteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-500Falsche Parameterdirekt und indirekt

XML-Schema

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

Historie

7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
7.0.5 2014-05-26Doku bzgl. Datentyp der Rückgabespalten „Condition1“ und „Condition2“ angepasst
7.0.4 2014-03-19Kleine Kosmetik-Korrektur : Bei einigen Code-Zeilen war am Ende ein CR-Zeichen, was wir entfernt haben
6.0.7 2012-05-08Erstmalig 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/om_GetCampaignItemConGroups_Ad?ConditionID=<value>'

Mit xmllint 6) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/om_GetCampaignItemConGroups_Ad?ConditionID=<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_GetCampaignItemConGroups_Ad',
		array(
			'ConditionID' => <value>,
			// 'ItemConditionGroupID' => NULL
		)
);
 
$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_GetCampaignItemConGroups_Ad">
			<Parameters>
				<Parameter Name="ConditionID"><!-- integer value --></Parameter>
				<!-- <Parameter Name="ItemConditionGroupID">NULL</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/om_getcampaignitemcongroups_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)