Gibt die für sogenannte User-Gruppen, in die registrierte „dStore“-Benutzer (s. mi_GetUserInfo_Ad) eingeordnet werden können, definierten Ausführungsbeschränkungen einer Prozedur zurück.
Hintergrund :
Sofern für eine registrierte Prozedur die Überprüfung von sogenannten Ausführungsbeschränkungen aktiviert ist (s. mi_GetRegisteredProcedures_Ad, Rückgabespalte „CheckForExecutionRestrictions“ muß den Wert „2“ enthalten), wird bei jedem Aufruf dieser Prozedur überprüft, ob es Einschränkungen hinsichtlich der Parameter-Werte für den Benutzer, der die Prozedur ausführen möchte, gibt. Diese Einschränkungen können mit Hilfe der Prozeduren mi_ModifyProcExRestForGroup_Ad und mi_ModifyProcExRestForUser_Ad konfiguriert werden.
Zur Funktionsweise des Algorithmus für die Überprüfung : siehe Beschreibung von mi_ModifyProcExRestForGroup_Ad !
HTTP-Method | GET |
HTTP-Auth | Optional |
Alias | mi_GetProcedureExecutionRestrictionsForGroups_Ad |
Tags | |
Engine-Kategorie | basics |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
ProcedureID | ID einer registrierten Prozedur (mögliche Werte : siehe mi_GetRegisteredProcedures_Ad) für die die konfigurierten Einschränkungen (für User-Gruppen) ermittelt werden sollen | smallint | 5.0.0 | |
RestrictionForUserGroupID | NULL | ID einer User-Gruppe (mögliche Werte : siehe mi_GetUserGroups_Ad). Falls angegeben, werden nur die Einschränkungen, die für diese Gruppe konfiguriert sind, ausgegeben. | smallint | 5.0.0 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
RestrictionForUserGroupID | ID einer User-Gruppe, für die die Beschränkung bzgl. Wertes zum Parameter „ParameterName“ der Prozedur „ProcedureID“ gilt | smallint | 5.0.0 |
FromNestingLevel | Die Einschränkung gilt für Aufrufe der Prozedur auf diesem oder einem höheren „NestingLevel“ („NestingLevel = 1“ : direkter Aufruf der Prozedur, „NestingLevel = 2“ : Aufruf innerhalb einer anderen Prozedur, usw.) | tinyint | 5.0.0 |
ConditionID | Nummer des „Bedingungs-Blocks“, zu dem die Einschränkung gehört. Ist die Überprüfung von Ausführungsbeschränkungen konfiguriert und aktiv, müssen ALLE Bedingungen mindestens EINES Bedingungs-Blocks erfüllt sein, damit der Aufruf „durchgeht“. | tinyint | 5.0.0 |
ParameterName | Parameter, für den die Einschränkung gilt. Der Wert zu diesem Parameter beim Aufruf der Prozedur wird anhand des Operators „Operator“ mit „Condition“ verglichen. | varchar(50) | 5.0.0 |
ConditionNumber | Um die wievielte Bedingung (sprich Einschränkung) innerhalb des Bedingungs-Blocks „ConditionID“ handelt es sich ? (Im Prinzip eine willkürliche Zahl, die eigentlich nur dazu dient, den Datensatz in der Tabelle, also die Bedingung, EINDEUTIG zu machen…) | tinyint | 5.0.0 |
Operator | Gibt an, wie der Wert zum Parameter „ParameterName“ beim Aufruf mit „Condition“ verglichen wird | varchar(20) | 5.0.0 |
Condition | Die eigentlich Einschränkung/Bedingung selbst : der Wert beim Aufruf der Prozedur zum Parameter „ParameterName“ wird anhand des Operators „Operator“ mit diesem Wert verglichen | varchar(255) | 5.0.0 |
RestrictionIsActive | „0“ : Die Einschränkung wird bei der Überprüfung nicht beachtet „1“ : Die Einschränkung ist aktiv, d.h. diese Bedingung und alle anderen Bedingungen der gleichen „ConditionID“ müssen erfüllt sein (oder alle Bedingungen einer anderen „ConditionID“) | bit | 5.0.0 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-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 |
-500 | Falsche Parameter | nur 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] |
5.1.5 | 2006-08-29 | Explizites „ORDER BY“ eingefügt, um die Sortierung der Rückgabemenge zu garantieren |
5.0.0 | 2004-12-21 | 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/mi_GetProcExecRestrForGroup_Ad?ProcedureID=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetProcExecRestrForGroup_Ad?ProcedureID=<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'), 'mi_GetProcExecRestrForGroup_Ad', array( 'ProcedureID' => <value>, // 'RestrictionForUserGroupID' => NULL ) ); $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="mi_GetProcExecRestrForGroup_Ad"> <Parameters> <Parameter Name="ProcedureID"><!-- smallint value --></Parameter> <!-- <Parameter Name="RestrictionForUserGroupID">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>