Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:om_modifycampitemcondparts_ad

om_ModifyCampItemCondParts_Ad

Prozedur zur Verwaltung von um Mengen/Warenwert-Kriterien erweiterte (Artikel-)Bedingungs-Teile für eine Verkaufs-Aktion.

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“.

Hinweise :

1.) Natürlich gibt es einen Fehler, wenn „NULL“ für ALLE „Kriterien-Parameter“ übergeben wird (es sei denn die Erweiterung soll gelöscht werden, sprich es ist „DeleteConditionExtension = 1“).

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“.

3.) Sofern „ConditionID“ einer AKTIVEN Verkaufs-Aktion zugeordnet ist, kann NICHTS mehr verändert werden (ggf. gibt es dann also einen Fehler) !

HTTP-MethodPOST
HTTP-AuthOptional
Aliasom_ModifyCampaignItemConditionParts_Ad
Tags
Engine-Kategorieorder management
Engine-TypDaten-Änderung
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
integer6.0.7
ItemConditionPartID ID eines Artikel-Bedingungs-Teils (muß Teil der Artikel-Bedingung sein, auf der „ConditionID“ basiert !), der je nach „DeleteConditionExtension“ erweitert oder dessen Erweiterung gelöscht werden soll
integer6.0.7
ConditionPartDescription Bezeichnung des erweiterten Artikel-Bedingungs-Teils „ItemConditionPartID“
varchar(255)6.0.7
MinNumberOfItemsNULL Die Anzahl VERSCHIEDENER Artikel-Elemente, die den Artikel-Bedingungs-Teil „ItemConditionPartID“ erfüllen, muß zwischen diesem Wert und „MaxNumberOfItems“ (sofern nicht „NULL“) liegen
integer6.0.7
MaxNumberOfItemsNULL Die Anzahl VERSCHIEDENER Artikel-Elemente, die den Artikel-Bedingungs-Teil „ItemConditionPartID“ 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 den Artikel-Bedingungs-Teil „ItemConditionPartID“ 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 den Artikel-Bedingungs-Teil „ItemConditionPartID“ 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 den Artikel-Bedingungs-Teil „ItemConditionPartID“ 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 den Artikel-Bedingungs-Teil „ItemConditionPartID“ erfüllt, liefert, muß zwischen „ToItemBasicPrice“ 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 den Bedingungs-Teil „ItemConditionPartID“ erfüllen, muß zw. 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 den Bedingungs-Teil „ItemConditionPartID“ erfüllen, muß zw. „FromBasicPriceSum“ und diesem Wert liegen
money6.0.7
DeleteConditionExtension0 „1“ angeben, um eine bereits vorhandene (innerhalb der Verkaufs-Aktions-Bedingung „ConditionID“ geltende) Erweiterung des Artikel-Bedingungs-Teils „ItemConditionPartID“ zu löschen
bit6.0.7

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 4)
-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]
7.0.4 2014-03-19„set forceplan off“-Anweisung fehlte an einer Stelle
7.0.0 2013-06-04Fehler bei der Prüfung, ob „ItemConditionPartID“ auch ein Bedingungsteil der von „ConditionID“ referenzierten
Arikel-Bedingung ist [es konnte fälschlicherweise zu „-500“ kommen]
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_ModifyCampItemCondParts_Ad?ConditionID=<value>&ItemConditionPartID=<value>&ConditionPartDescription=<value>'

Mit xmllint 5) formatierte Ausgabe:

curl -X POST  'http://<partner>-<project>.dstore.de/default/engine/om_ModifyCampItemCondParts_Ad?ConditionID=<value>&ItemConditionPartID=<value>&ConditionPartDescription=<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_ModifyCampItemCondParts_Ad',
		array(
			'ConditionID' => <value>,
			'ItemConditionPartID' => <value>,
			'ConditionPartDescription' => '<value>',
			// 'MinNumberOfItems' => NULL,
			// 'MaxNumberOfItems' => NULL,
			// 'FromQuantity' => NULL,
			// 'ToQuantity' => NULL,
			// 'FromItemBasicPrice' => NULL,
			// 'ToItemBasicPrice' => NULL,
			// 'FromBasicPriceSum' => NULL,
			// 'ToBasicPriceSum' => NULL,
			// 'DeleteConditionExtension' => 0
		)
);
 
$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_ModifyCampItemCondParts_Ad">
			<Parameters>
				<Parameter Name="ConditionID"><!-- integer value --></Parameter>
				<Parameter Name="ItemConditionPartID"><!-- integer value --></Parameter>
				<Parameter Name="ConditionPartDescription"><!-- 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="DeleteConditionExtension">0</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
4)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
5)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/om_modifycampitemcondparts_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)