Erstellt, ändert oder löscht eine Personen-Gruppe.
Hinweise :
1. Die „Default“-Gruppe („GroupID = 0“) darf NICHT gelöscht oder geändert werden
2. Es können keine Gruppen entfernt werden, die zu einer Community gehören (in „CommunitySettings“ ist für jede Community durch den Eintrag „CommunityGroupID“ festgelegt, in welcher Gruppe alle Mitglieder automatisch sind).
3. „PersonTypeID = NULL“ wird wie „PersonTypeID = 0“ („Personentyp unabhängig“) behandelt.
4. Seit Version 4.0.2 wird durch die Aktualisierung der „ConditionID“ (→ gleichnamiger Parameter) entsprechend die Personen-Gruppen-Zuordnung aktualisiert. Dies kann leider nicht in einer Transaktion geschehen, daher gibt die Prozedur evtl. Fehlermeldungen via „print“ an die Standardausgabe. Diesen Meldungen kann man dann entnehmen, was u.U. zu tun ist, um einen Fehler in „PersonsInGroups“ zu beheben.
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | configurations |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
GroupID | NULL | ID einer Gruppe. „NULL“ angeben, um eine neue Gruppe anzulegen. | smallint | 3.5.0 |
GroupDescription | Bezeichnung der Gruppe „GroupID“ bzw. der neu anzulegenden Gruppe | varchar(100) | 3.5.0 | |
SortNo | 1 | Bestimmt die Reihenfolge von „GroupID“ innerhalb aller Gruppen | smallint | 3.5.0 |
PersonTypeID | 0 | ID eines Personen-Typs. Ein Wert ungleich „0“ besagt, daß nur Personen dieses Typs der Gruppe „GroupID“ zugeordnet werden können. „0“ steht für „Personentyp unabhängig“, d.h. eine Person egal welchen Typs kann der Gruppe angehören. | tinyint | 3.5.6 |
ConditionID | NULL | ID einer Gruppen-Bedingung. Falls angegeben, werden Personen (bei Datenänderungen) automatisch der Gruppe „GroupID“ zugeordnet, wenn der Personen-Typ übereinstimmt und die Eigenschaften den zu „ConditionID“ hinterlegten Bedingungen genügen. | smallint | 3.5.6 |
DeleteGroup | 0 | Falls eine „GroupID“ angegeben ist, wird diese… „0“ : geändert „1“ : gelöscht Achtung : Der Personen-Typ kann nicht mehr geändert werden, wenn die Gruppe für eine Community verwendet wird oder bereits Personen anderen Typs der Gruppe angehören ! | bit | 3.5.0 |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 4) |
---|---|---|
-697 | Aktion kann nicht durchgeführt werden, da für ein Merkmal eine Zugriffsbeschränkung besteht | nur indirekt |
-691 | Der Personentyp der Gruppe kann nicht geändert werden, da eine Person anderen Typs in der Gruppe ist | nur direkt |
-690 | Die Gruppe kann nicht gelöscht werden, da sie zu einer bestehenden Community gehört | 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 |
-503 | Fehlerhafte Daten in einer Tabelle - genauere Fehlermeldung auf der Standardausgabe | 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 |
4.0.15 | 2004-07-30 | 1. Aufruf der Prozeduren „_mi_StartProcedure“, „_mi_FinishProcedure“ und „_mi_ChooseParamValueSeperator“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur 3. Konsequente Fehlerbehandlung |
4.0.2 | 2003-06-11 | Ab jetzt wird die Personen-Gruppen-Zuordnung der Gruppe „GroupID“ anhand der zugehörigen Bedingungen der Gruppen-Bedingung „ConditionID“ aktualisiert |
3.5.6 | 2001-04-17 | |
3.5.0 | 2000-11-23 | 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/pm_ModifyGroups_Ad?GroupDescription=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/pm_ModifyGroups_Ad?GroupDescription=<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'), 'pm_ModifyGroups_Ad', array( 'GroupDescription' => '<value>', // 'GroupID' => NULL, // 'SortNo' => 1, // 'PersonTypeID' => 0, // 'ConditionID' => NULL, // 'DeleteGroup' => 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_ModifyGroups_Ad"> <Parameters> <Parameter Name="GroupDescription"><!-- varchar value --></Parameter> <!-- <Parameter Name="GroupID">NULL</Parameter> --> <!-- <Parameter Name="SortNo">1</Parameter> --> <!-- <Parameter Name="PersonTypeID">0</Parameter> --> <!-- <Parameter Name="ConditionID">NULL</Parameter> --> <!-- <Parameter Name="DeleteGroup">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>