Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:mi_getprocexecrestrforusers_ad

mi_GetProcExecRestrForUsers_Ad

Gibt die definierten Ausführungsbeschränkungen einer Prozedur für registrierte „dStore“-Benutzer 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_ModifyProcExRestForUser_Ad und mi_ModifyProcExRestForGroup_Ad konfiguriert werden.

Zur Funktionsweise des Algorithmus für die Überprüfung : siehe Beschreibung von mi_ModifyProcExRestForUser_Ad !

HTTP-MethodGET
HTTP-AuthOptional
Aliasmi_GetProcedureExecutionRestrictionsForUsers_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 registrierte „dStore“-Benuter) ermittelt werden sollen
smallint5.0.0
RestrictionForUserIDNULL ID eines „dStore“-Benutzers, der in „UserInfo“ registriert ist (siehe mi_GetUserInfo_Ad). Falls angegeben, werden nur konfigurierte Ausführungsbeschränkungen für diesen Benutzer ausgegeben.
smallint5.0.0

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
RestrictionForUserIDID eines „dStore“-Benutzers, der in „UserInfo“ registriert ist (siehe mi_GetUserInfo_Ad), für den die Einschränkung gilt. „-1“ bedeutet, daß die Einschränkung für alle Benutzer (für die nicht explizit andere Einschränkungen konfiguriert sind) 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)

  • RestrictionForUserID (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_GetProcExecRestrForUsers_Ad?ProcedureID=<value>'

Mit xmllint 6) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/mi_GetProcExecRestrForUsers_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_GetProcExecRestrForUsers_Ad',
		array(
			'ProcedureID' => <value>,
			// 'RestrictionForUserID' => 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_GetProcExecRestrForUsers_Ad">
			<Parameters>
				<Parameter Name="ProcedureID"><!-- smallint value --></Parameter>
				<!-- <Parameter Name="RestrictionForUserID">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_getprocexecrestrforusers_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)