Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:mi_getprocexecrestrforgroup_ad

mi_GetProcExecRestrForGroup_Ad

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

Parameter

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
smallint5.0.0
RestrictionForUserGroupIDNULL 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.
smallint5.0.0

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
RestrictionForUserGroupIDID einer User-Gruppe, für die die Beschränkung bzgl. Wertes zum Parameter „ParameterName“ der Prozedur „ProcedureID“ gilt
smallint5.0.0
FromNestingLevelDie 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.)
tinyint5.0.0
ConditionIDNummer 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“.
tinyint5.0.0
ParameterNameParameter, 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
ConditionNumberUm 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…)
tinyint5.0.0
OperatorGibt an, wie der Wert zum Parameter „ParameterName“ beim Aufruf mit „Condition“ verglichen wird
varchar(20)5.0.0
ConditionDie 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“)
bit5.0.0
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • RestrictionForUserGroupID (aufsteigend)
  • FromNestingLevel (aufsteigend)
  • ConditionID (aufsteigend)
  • ParameterName (aufsteigend)
  • ConditionNumber (aufsteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-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 abgebrochennur indirekt
-500Falsche Parameternur 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]
5.1.5 2006-08-29Explizites „ORDER BY“ eingefügt, um die Sortierung der Rückgabemenge zu garantieren
5.0.0 2004-12-21Erstmalig 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/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 -
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'),
	'mi_GetProcExecRestrForGroup_Ad',
		array(
			'ProcedureID' => <value>,
			// 'RestrictionForUserGroupID' => NULL
		)
);
 
$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="mi_GetProcExecRestrForGroup_Ad">
			<Parameters>
				<Parameter Name="ProcedureID"><!-- smallint value --></Parameter>
				<!-- <Parameter Name="RestrictionForUserGroupID">NULL</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
5)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
6)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/mi_getprocexecrestrforgroup_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)