Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:pm_getgroupconditions_ad

pm_GetGroupConditions_Ad

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-MethodGET
HTTP-AuthOptional
Tags
Engine-Kategorieperson management
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
ConditionIDNULL ID einer Gruppen-Bedingung. Falls angegeben, werden nur Informationen zu dieser Bedingung ausgegeben.
smallint3.5.15
IncludeConditions0 Möchte man in der Rückgabemenge auch die konkreten Bedingungs-Blöcke ausgegeben bekommen, setzt man den Parameter auf „1“
bit3.5.15

Rückgabe

wenn IncludeConditions = 0

Spaltenname Beschreibung SQL-Datentyp4) ab Version
ConditionIDID einer (Gruppen-)Bedingung
smallint3.5.15
ConditionDescriptionBeschreibung 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

wenn IncludeConditions = 1

Spaltenname Beschreibung SQL-Datentyp5) ab Version
ConditionIDID einer (Gruppen-)Bedingung
smallint3.5.15
ConditionDescriptionBeschreibung 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
ConditionPositionIDNummer 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.
tinyint3.5.15
PersonCharacteristicIDID 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.
smallint3.5.15
CharacteristicDescriptionBezeichnung des Personen-Merkmals „PersonCharacteristicID“ (in der Standardsprache)
varchar(100)3.5.15
ConditionDie konkrete Bedingung, die die Eigenschaft einer Person zum Merkmal „PersonCharacteristicID“ erfüllen muß. Zum Format der Bedingungen siehe Beschreibung.
varchar(255)3.5.15
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • ConditionID (aufsteigend)
  • ConditionPositionID (aufsteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 6)
-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 abgebrochendirekt und 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.2 2013-02-261. Beachtung der neuen Zugriffs-Beschränkungen für Merkmale [⇒ Doku-Anpassung]
2. Anpassung des Quellcodes an den aktuellen Standard
5.1.5 2006-08-29Explizites „ORDER BY“ eingefügt, um die Sortierung der Rückgabemenge zu garantieren
4.0.15 2004-07-301. 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-26Keine Änderung der Prozedur, nur der Dokumentation
4.0.2 2003-06-11Keine Änderung der Prozedur, nur der Dokumentation
3.5.15 2002-03-12Erstmalig 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 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 -
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'),
	'pm_GetGroupConditions_Ad',
		array(
			// 'ConditionID' => NULL,
			// 'IncludeConditions' => 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="pm_GetGroupConditions_Ad">
			<Parameters>
				<!-- <Parameter Name="ConditionID">NULL</Parameter> -->
				<!-- <Parameter Name="IncludeConditions">0</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
6)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
7)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/pm_getgroupconditions_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)