Gibt im „dStore“ konfigurierte Gruppen-Bedingungen aus.
Das Konzept der Gruppen-Bedingungen bietet die Möglichkeit, Personen AUTOMATISCH nach bestimmten Kriterien in Gruppen einzuordnen. „Automatisch“ bedeutet, daß (transaktionssicher) bei jeder Änderung von Personen-Daten evtl. vorhandene Bedingungen für Gruppen, die zum jeweiligen Personen-Typ passen (siehe Rückgabespalte „PersonTypeID“ von pm_GetGroups_Ad), geprüft werden und die Person dann evtl. einer Gruppe zugeordnet oder aus einer Gruppe entfernt wird.
Hinweise :
1.) Um Bedingungen anzulegen und Gruppen zuzuweisen, sind die Prozeduren pm_ModifyConditions_Ad bzw. pm_ModifyGroupConditions_Ad zu verwenden.
2.) Ist für den Benutzer, der diese Prozedur aufruft, ein Merkmal, das Bestandteil einer Gruppen-Bedingung ist, KOMPLETT lesend gesperrt (s. Rückgabespalten „AccessRestriction“ und „ReadAccessRestrictionPattern“ von pm_GetPChAccRestrForUsers_Ad), wird die Gruppen-Bedingung NICHT zurückgegeben (es gibt aber keinen Fehler) !
Anmerkungen zur Rückgabespalte „Condition“ :
1. Das Format der Bedingungen entspricht genau dem erlaubten Format für die Bedingungen bei der Personen-Suche (Parameter „ConditionList“ von pm_GetPersons_Conditions_Ad). Folgende Formate sind möglich :
Wert → „Like“ Wert
~Wert → „Like“ Wert, aber case-INsensitiv
^Wert → „soundex(Wert)„
{Wert → “<>“ Wert
(Wert → „>=“ Wert
Wert) → „⇐“ Wert
[Wert → „>“ Wert
Wert] → „<“ Wert
(Wert1|Wert2) → „>=“ Wert1 und „⇐“ Wert2
(Wert1|Wert2] → „>=“ Wert1 und „<“ Wert2
[Wert1|Wert2) → „>“ Wert1 und „⇐“ Wert2
[Wert1|Wert2] → „>“ Wert1 und „<“ Wert2
—
{} oder {) oder {] oder (} oder () oder (] oder [} oder [) oder [] bedeutet : Alle Personen, die das Merkmal NICHT haben
2. Handelt es sich um „LIKE“-Bedingungen, können folgende „Platzhalter“ vorhanden sein :
'_' : Platzhalter für EIN Zeichen
'%' : Platzhalter für eine ZeichenKETTE
Tauchen Zeichenfolgen „[_]“ oder „[%]“ auf, bedeutet dies, daß das Platzhalter-Zeichen selbst in der Eigenschaft vorkommen muß.
HTTP-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | person management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
ConditionID | NULL | ID einer Gruppen-Bedingung. Falls angegeben, werden nur Informationen zu dieser Bedingung ausgegeben. | smallint | 3.5.15 |
IncludeConditions | 0 | Möchte man in der Rückgabemenge auch die konkreten Bedingungs-Blöcke ausgegeben bekommen, setzt man den Parameter auf „1“ | bit | 3.5.15 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
ConditionID | ID einer (Gruppen-)Bedingung | smallint | 3.5.15 |
ConditionDescription | Beschreibung der Bedingung. Diese dient letztendlich dazu, die Bedingungen - also die Kriterien, wann eine Person dieser Gruppe angehört - zu umschreiben. | varchar(255) | 3.5.15 |
Spaltenname | Beschreibung | SQL-Datentyp5) | ab Version |
---|---|---|---|
ConditionID | ID einer (Gruppen-)Bedingung | smallint | 3.5.15 |
ConditionDescription | Beschreibung der Bedingung. Diese dient letztendlich dazu, die Bedingungen - also die Kriterien, wann eine Person dieser Gruppe angehört - zu umschreiben. | varchar(255) | 3.5.15 |
ConditionPositionID | Nummer eines „Bedingungs-Blocks“. Pro Bedingungs-Block kann ein Merkmal („PersonCharacteristicID“) nur einmal verwendet werden, da innerhalb des gleichen Blocks die Bedingungen mit UND verknüpft werden. Mehrere Bedingungs-Blöcke werden mit ODER verknüpft. | tinyint | 3.5.15 |
PersonCharacteristicID | ID eines Personen-Merkmals. Eine Person gehört nur dann in die Gruppe (der die Bedingung „ConditionID“ zugewiesen ist), wenn ihre Eigenschaft zu diesem Merkmal der „Condition“ entspricht oder alle Bedingungen einer anderen „ConditionPositionID“ zutreffen. | smallint | 3.5.15 |
CharacteristicDescription | Bezeichnung des Personen-Merkmals „PersonCharacteristicID“ (in der Standardsprache) | varchar(100) | 3.5.15 |
Condition | Die konkrete Bedingung, die die Eigenschaft einer Person zum Merkmal „PersonCharacteristicID“ erfüllen muß. Zum Format der Bedingungen siehe Beschreibung. | varchar(255) | 3.5.15 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 6) |
---|---|---|
-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 | direkt und 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.2 | 2013-02-26 | 1. Beachtung der neuen Zugriffs-Beschränkungen für Merkmale [⇒ Doku-Anpassung] 2. Anpassung des Quellcodes an den aktuellen Standard |
5.1.5 | 2006-08-29 | Explizites „ORDER BY“ eingefügt, um die Sortierung der Rückgabemenge zu garantieren |
4.0.15 | 2004-07-30 | 1. Aufruf der Prozeduren „_mi_StartProcedure“ und „_mi_FinishProcedure“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur 3. Konsequente Fehlerbehandlung |
4.0.4 | 2003-08-26 | Keine Änderung der Prozedur, nur der Dokumentation |
4.0.2 | 2003-06-11 | Keine Änderung der Prozedur, nur der Dokumentation |
3.5.15 | 2002-03-12 | 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 GET 'http://<partner>-<project>.dstore.de/default/engine/pm_GetGroupConditions_Ad'
Mit xmllint 7) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/pm_GetGroupConditions_Ad' | 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'), 'pm_GetGroupConditions_Ad', array( // 'ConditionID' => NULL, // 'IncludeConditions' => 0 ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
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="pm_GetGroupConditions_Ad"> <Parameters> <!-- <Parameter Name="ConditionID">NULL</Parameter> --> <!-- <Parameter Name="IncludeConditions">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>