Erstellt, ändert oder löscht eine „Personengruppen-Bedingung“. Solche Bedingungen werden zu Verkaufsaktionen („Campaigns“) hinterlegt. Mehr Informationen dazu gibt es in der Prozedurdokumentation zu om_GetCampPersonGroupConds_Ad.
Anmerkungen zu den Parametern „AnyIDInFilter“ und „NegateFilter“ :
Mit „AnyIDInFilter“ und „NegateFilter“ steuert man, wie die Liste der Gruppen („FilterByPersonGroupIDs“) als Bedingung zu interpretieren ist. „AnyIDInFilter = 1“ bedeutet, daß der Auftraggeber MINDESTENS einer der Gruppen zugeordnet sein muß bzw. (wenn „NegateFilter = 1“) KEINER der Gruppen zugeordnet sein darf. Andernfalls („AnyIDInFilter = 0“) muß der Auftraggeber
ALLEN Gruppen angehören bzw. (wenn „NegateFilter = 1“) DARF NICHT ALLEN Gruppen angehören.
Ergänzung zum Verständnis der Bedingung „Darf nicht allen Gruppen angehören“ („AnyIDInFilter = 0“ und „NegateFilter = 1“) :
Dies schließt zwar den Fall „Darf keiner der Gruppen angehören“ (was „AnyIDInFilter = 1“ und „NegateFilter = 1“ entspricht) mit ein, heißt aber, daß die Bedingung z.B. auch dann erfüllt ist, wenn der Auftraggeber allen Gruppen bis auf einer angehört.
HTTP-Method | POST |
HTTP-Auth | Optional |
Alias | om_ModifyCampaignPersonGroupConditions_Ad |
Tags | |
Engine-Kategorie | order management |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
FilterByPersonGroupIDs | Liste von (existierenden) „GroupID“s (mögliche Werte : s. pm_GetGroups_Ad), die durch „,“ getrennt sind | varchar(255) | 7.0.2 | |
AnyIDInFilter | 1 | Gibt an, ob der Auftraggeber MINDESTENS („1“) einer der Gruppen zugeordnet sein muß oder ALLEN („0“) | bit | 7.0.2 |
NegateFilter | 0 | „1“ bedeutet eine Negierung der Bedingung, d.h. der Auftraggeber darf entweder KEINER der Gruppen („AnyIDInFilter = 1“) oder er darf NICHT ALLEN Gruppen („AnyIDInFilter = 0“) zugeordnet sein | bit | 7.0.2 |
DeletePersonGroupCondition | 0 | Wird nur beachtet, wenn „ConditionID“ angegeben ist ! Entscheidet, ob die bestehende „ConditionID“ geändert („0“) oder gelöscht wird. | bit | 7.0.2 |
Die Prozedur hat keine Rückgaben.
ConditionID | ID einer „Personengruppen-Bedingung“, die je nach „DeletePersonGroupCondition“ 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) |
---|---|---|
-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 | 1. „_mi_FinishProcedure“-Aufruf am Schluß fehlte 2. Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
7.0.2 | 2013-08-29 | 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_ModifyCampPersGroupCond_Ad?FilterByPersonGroupIDs=<value>'
Mit xmllint 2) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/om_ModifyCampPersGroupCond_Ad?FilterByPersonGroupIDs=<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_ModifyCampPersGroupCond_Ad', array( 'FilterByPersonGroupIDs' => '<value>', // 'AnyIDInFilter' => 1, // 'NegateFilter' => 0, // 'DeletePersonGroupCondition' => 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_ModifyCampPersGroupCond_Ad"> <Parameters> <Parameter Name="FilterByPersonGroupIDs"><!-- varchar value --></Parameter> <!-- <Parameter Name="AnyIDInFilter">1</Parameter> --> <!-- <Parameter Name="NegateFilter">0</Parameter> --> <!-- <Parameter Name="DeletePersonGroupCondition">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>