Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_modifycampaignitemconds_ad

om_ModifyCampaignItemConds_Ad

Prozedur, um eine für Verkaufs-Aktionen zu verwendende Bedingung des Typs „extended item condition“ (eine evtl. um Mengen/Warenwert-Kriterien erweiterte Artikel-Bedingung) anlegen/ändern/löschen zu können.

Zum Verständnis :

Jeder „Verkaufs-Aktion“ (einer sogenannten „Campaign“) können Bedingungen zugeordnet werden, die erfüllt sein müssen, damit der Kunde die „Benefits“ der Aktion nutzen kann. (Genau) Eine dieser Bedingungen kann eine sogenannte „Erweiterte Artikel-Bedingung“ sein.
Dieser Bedingung ist genau eine (einfache) Artikel-Bedingung zugeordnet (deren Aufbau detailliert in im_GetItemConditions_Ad beschrieben ist), die kurz gesagt aus Bedingungs-Gruppen besteht, die ihrerseits aus Bedingungs-Teilen bestehen.
Die gesamte Artikel-Bedingung und/oder ihre „Bestandteile“ können (jeweils) „erweitert“ werden, und zwar um Mengen- und/oder
Warenwert-Kriterien. So wird beispielsweise aus einem (Artikel-)Bedingungs-Teil „Schuhe der Marke X“ der erweiterte (Artikel-)Bedingungs-Teil „mind. 2 Schuhe der Marke X im Wert von 250 Euro“ oder aus einer einer (einfachen Gesamt-)Artikel-Bedingung „Schuhe der Marke X ODER grüne Hosen“ eine „vollständige Bedingung“ wie „mind. 2 Schuhe der Marke X ODER 3 grüne Hosen im Gesamt-Wert von 250 Euro“.

Hinweise :

1.) Sofern die Bedingung („ConditionID“) einer AKTIVEN Verkaufs-Aktion zugeordnet ist, kann NICHTS mehr verändert (also auch Löschen ist nicht möglich) werden (ggf. gibt es dann also einen Fehler) !

2.) Wenn ein „Min…“- bzw. „From…“-Parameter angegeben ist, darf der zugehörige „Max…“- bzw. „To…“-Parameter mit „NULL“ übergeben werden. Wenn dem so ist, wählen wir nämlich automatisch den maximal möglichen Wert (für den entsprechenden Datentyp). Beispiel : Wenn „FromQuantity = 2“ und „ToQuantity = NULL“ ist, wählen wir automatisch den „max integer“-Wert (2147483647) für „ToQuantity“.

Anmerkung zum Parameter „ItemConditionID“ :

Die hierdurch angegebene Artikel-Bedingung wird der Verkaufs-Aktions-Bedingung zugeordnet. Dies Zuordnung kann aber auch nachträglich geändert werden (weil es eine 1:1-Zuordnung ist), d.h. in „ItemConditionID“ kann die ID einer anderen Artikel-Bedingung angegeben werden als die, die aktuell „ConditionID“ zugeordnet ist. Aber VORSICHT : Evtl. Erweiterungen (um Mengen/Warenwert-Kriterien) einzelner Bestandteile (Gruppen oder Teile) der alten Artikel-Bedingung zur „ConditionID“ werden dann GELÖSCHT (denn diese Bestandteile passen i.d.R. ja nicht zur neuen Artikel-Bedingung) !

Anmerkung zum Parameter „DeleteCondition“

Wenn man hier den Wert „1“ übergibt, soll die angegebene Verkaufs-Aktions-Bedingung gelöscht werden. Das Löschen einer Bedingung schlägt allerdings nicht nur fehl, wenn die Bedingung einer aktiven Aktion zugeordnet ist, sondern auch dann, wenn sie einer INAKTIVEN Verkaufs-Aktion zugeordnet ist. Möchte man, daß das Löschen gelingen soll, wenn die Bedingung nur inaktiven Aktionen zugeordnet ist, übergibt man den Wert „2“ für „DeleteCondition“ (dann werden evtl. vorhandene Datensätze zur „ConditionID“ in „CampaignConditions“ vorher gelöscht - was man normalerweise mit om_ModifyCampaignConditions_Ad macht).

HTTP-MethodPOST
HTTP-AuthOptional
Aliasom_ModifyCampaignItemConditions_Ad
Tags
Engine-Kategorieorder management
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

ItemConditionID ID einer Artikel-Bedingung, die (evtl. erweitert und) „ConditionID“ (bzw. der neuen Verkaufs-Aktions-Bedingung) zugeordnet werden soll
integer6.0.7
ConditionDescription Beschreibung/Bezeichnung der Verkaufs-Aktions-Bedingung „ConditionID“ (bzw. der neu anzulegenden Bedingung)
varchar(255)6.0.7
MinNumberOfItemsNULL Die Anzahl VERSCHIEDENER Artikel-Elemente, die die Artikel-Bedingung „ItemConditionID“ erfüllen, muß zwischen diesem Wert und „MaxNumberOfItems“ (sofern nicht „NULL“) liegen
integer6.0.7
MaxNumberOfItemsNULL Die Anzahl VERSCHIEDENER Artikel-Elemente, die die Artikel-Bedingung „ItemConditionID“ erfüllen, muß zwischen „MinNumberOfItems“ und diesem Wert (sofern nicht „NULL“) liegen
integer6.0.7
FromQuantityNULL Die Gesamt-Menge (Summe „Quantity“) ALLER Artikel-Elemente, die die Artikel-Bedingung „ItemConditionID“ erfüllen, muß zwischen diesem Wert und „ToQuantity“ (sofern nicht „NULL“) liegen
integer6.0.7
ToQuantityNULL Die Gesamt-Menge (Summe „Quantity“) ALLER Artikel-Elemente, die die Artikel-Bedingung „ItemConditionID“ erfüllen, muß zwischen „FromQuantity“ und diesem Wert (sofern nicht „NULL“) liegen
integer6.0.7
FromItemBasicPriceNULL Der EINZEL-Preis, den „_om_GetBasicPrices“ für ein Artikel-Element, das die Artikel-Bedingung „ItemConditionID“ erfüllt, liefert, muß zwischen diesem Wert und „ToItemBasicPrice“ (sofern nicht „NULL“) liegen
money6.0.7
ToItemBasicPriceNULL Der EINZEL-Preis, den „_om_GetBasicPrices“ für ein Artikel-Element, das die Artikel-Bedingung „ItemConditionID“ erfüllt, liefert, muß zwischen „FromItemBasicPrice“ und diesem Wert (sofern nicht „NULL“) liegen
money6.0.7
FromBasicPriceSumNULL Die Gesamt-Summe für alle Artikel-Elemente (Summe aller Einzelpreise, die „_om_GetBasicPrices“ liefert, mit der jew. „Quantity“ multipliziert), die die Artikel-Bedingung „ItemConditionID“ erfüllen, muß zwischen diesem Wert und „ToBasicPriceSum“ liegen
money6.0.7
ToBasicPriceSumNULL Die Gesamt-Summe für alle Artikel-Elemente (Summe aller Einzelpreise, die „_om_GetBasicPrices“ liefert, mit der jew. „Quantity“ multipliziert), die die Artikel-Bedingung „ItemConditionID“ erfüllen, muß zwischen „FromBasicPriceSum“ und diesem Wert liegen
money6.0.7
DeleteCondition0 Wird nur beachtet, wenn „ConditionID“ angegeben ist ! Entscheidet, ob die bestehende „ConditionID“ geändert („0“) oder gelöscht („1“ bzw. „2“) wird (s. Beschreibung !)
tinyint6.0.7

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

ConditionIDID einer auf Artikel-Bedingungen basierenden Verkaufs-Aktions-Bedingung, die je nach „DeleteCondition“ geändert oder gelöscht werden soll. „NULL“ angeben, um eine neue Bedingung anzulegen (die neue ID kann diesem Parameter entnommen werden).

Mögliche Return-Codes

Code Beschreibung Quelle 1)
-1203Die Bedingung kann nicht gelöscht werden, da sie einer inaktiven Campaign zugeordnet istnur direkt
-1201Die Bedingung kann nicht geändert/gelöscht werden, da sie in einer aktiven Campaign verwendet wirdnur direkt
-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
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur 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]
6.5.4 2013-04-29Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung
6.5.1 2012-11-02Pflege von Informationen zum „MetaInformationType“ „CanCertainlyBeFulfilledBySingleTreeNodeID“ ergänzt
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 POST  'http://<partner>-<project>.dstore.de/default/engine/om_ModifyCampaignItemConds_Ad?ItemConditionID=<value>&ConditionDescription=<value>'

Mit xmllint 2) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/om_ModifyCampaignItemConds_Ad?ItemConditionID=<value>&ConditionDescription=<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_ModifyCampaignItemConds_Ad',
		array(
			'ItemConditionID' => <value>,
			'ConditionDescription' => '<value>',
			// 'MinNumberOfItems' => NULL,
			// 'MaxNumberOfItems' => NULL,
			// 'FromQuantity' => NULL,
			// 'ToQuantity' => NULL,
			// 'FromItemBasicPrice' => NULL,
			// 'ToItemBasicPrice' => NULL,
			// 'FromBasicPriceSum' => NULL,
			// 'ToBasicPriceSum' => NULL,
			// 'DeleteCondition' => 0
		)
);
 
$service->execute($request);
 
			$xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument();
			$ResultSet = $xml_result->getRowsAsArray();
 
$OutputParams = $xml_result->getOutputParametersAsArray();
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_ModifyCampaignItemConds_Ad">
			<Parameters>
				<Parameter Name="ItemConditionID"><!-- integer value --></Parameter>
				<Parameter Name="ConditionDescription"><!-- varchar value --></Parameter>
				<!-- <Parameter Name="MinNumberOfItems">NULL</Parameter> -->
				<!-- <Parameter Name="MaxNumberOfItems">NULL</Parameter> -->
				<!-- <Parameter Name="FromQuantity">NULL</Parameter> -->
				<!-- <Parameter Name="ToQuantity">NULL</Parameter> -->
				<!-- <Parameter Name="FromItemBasicPrice">NULL</Parameter> -->
				<!-- <Parameter Name="ToItemBasicPrice">NULL</Parameter> -->
				<!-- <Parameter Name="FromBasicPriceSum">NULL</Parameter> -->
				<!-- <Parameter Name="ToBasicPriceSum">NULL</Parameter> -->
				<!-- <Parameter Name="DeleteCondition">0</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
2)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/om_modifycampaignitemconds_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)