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-Method | POST |
HTTP-Auth | Optional |
Alias | om_ModifyCampaignItemConditions_Ad |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
ItemConditionID | ID einer Artikel-Bedingung, die (evtl. erweitert und) „ConditionID“ (bzw. der neuen Verkaufs-Aktions-Bedingung) zugeordnet werden soll | integer | 6.0.7 | |
ConditionDescription | Beschreibung/Bezeichnung der Verkaufs-Aktions-Bedingung „ConditionID“ (bzw. der neu anzulegenden Bedingung) | varchar(255) | 6.0.7 | |
MinNumberOfItems | NULL | Die Anzahl VERSCHIEDENER Artikel-Elemente, die die Artikel-Bedingung „ItemConditionID“ erfüllen, muß zwischen diesem Wert und „MaxNumberOfItems“ (sofern nicht „NULL“) liegen | integer | 6.0.7 |
MaxNumberOfItems | NULL | Die Anzahl VERSCHIEDENER Artikel-Elemente, die die Artikel-Bedingung „ItemConditionID“ erfüllen, muß zwischen „MinNumberOfItems“ und diesem Wert (sofern nicht „NULL“) liegen | integer | 6.0.7 |
FromQuantity | NULL | 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 | integer | 6.0.7 |
ToQuantity | NULL | 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 | integer | 6.0.7 |
FromItemBasicPrice | NULL | 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 | money | 6.0.7 |
ToItemBasicPrice | NULL | 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 | money | 6.0.7 |
FromBasicPriceSum | NULL | 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 | money | 6.0.7 |
ToBasicPriceSum | NULL | 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 | money | 6.0.7 |
DeleteCondition | 0 | Wird nur beachtet, wenn „ConditionID“ angegeben ist ! Entscheidet, ob die bestehende „ConditionID“ geändert („0“) oder gelöscht („1“ bzw. „2“) wird (s. Beschreibung !) | tinyint | 6.0.7 |
Die Prozedur hat keine Rückgaben.
ConditionID | ID 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). |
Code | Beschreibung | Quelle 1) |
---|---|---|
-1203 | Die Bedingung kann nicht gelöscht werden, da sie einer inaktiven Campaign zugeordnet ist | nur direkt |
-1201 | Die Bedingung kann nicht geändert/gelöscht werden, da sie in einer aktiven Campaign verwendet wird | nur direkt |
-569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
-567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
-566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
-535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
-530 | Der Wert ist nicht konvertierbar | nur indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | nur indirekt |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
6.5.4 | 2013-04-29 | Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung |
6.5.1 | 2012-11-02 | Pflege von Informationen zum „MetaInformationType“ „CanCertainlyBeFulfilledBySingleTreeNodeID“ ergänzt |
6.0.7 | 2012-05-08 | 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_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 -
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();
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>