Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: source

engine:procedures:pm_getpersonaccesscharacs_pu

pm_GetPersonAccessCharacs_Pu

Gibt die Merkmal-IDs (mit einigen zusätzlichen Informationen) aus „PersonTypeSettings“ zurück, die zur „PersonTypeID = 0“ zum Schlüssel „PersonGrantAccessIDs“ konfiguriert sind.

Hintergrund : siehe pm_CheckPersonIdentity_Pu.

Hinweis :

Besteht für ein Merkmal eine komplett lesende Zugriffsbeschränkung (s. pm_GetPChAccRestrForUsers_Ad, „komplett lesende Beschränkung“ zeigt sich dadurch, daß „ReadAccessRestrictionPattern“ „NULL“ ist) für den Benutzer, der diese Prozedur aufruft, FEHLEN normalerweise entsprechende Datensätze in der Rückgabe von Prozeduren, die Daten zu Merkmalen bzw. Eigenschaften zu Merkmalen zurückgeben.
Bei DIESER Prozedur hier werden solche Zugriffsbeschränkungen BEWUSST NICHT beachtet, weil es keinen SINN macht, dies an dieser Stelle zu tun (man würde dann ja nur einen Teil der „PersonGrantAccessIDs“ zurückbekommen OHNE das man es bemerkt).
Einzige Alternative wäre noch, einen Fehler zurückzugeben und gar keine Ergebnismenge (wie z.B. bei pm_GetPersonOutputCharacs_Ad), aber die Variante, evtl. Beschränkungen hier zu ignorieren, erschien für die Implementierung sinnvoller.

Anmerkung zur Rückgabespalte „Modify“ :

Gibt an, ob der spezielle Benutzer „publicuser“ („UserID = 0“, s. mi_GetUserInfo_Ad) Eigenschaften/Details zum Merkmal „ID“ ÄNDERN darf bzw. eingeschränkt ändern darf. Falls der „PersonTypeSettings“-Eintrag (zur „PersonTypeID = 0“) zum Schlüssel „PCharacsBackwardCompatible“ auf „1“ gesetzt ist, hat dieser Wert die Bedeutung, ob Änderungen mit z.B. pm_InsertNewPerson_Pu oder pm_ModifyPersonData_Pu (egal welcher Benutzer sie ausführt) möglich bzw. eingeschränkt erlaubt sind. Mögliche Werte :

  • „0“ : Keinerlei Änderung erlaubt (anlagen, ändern und löschen sind verboten)
  • „1“ : Alle Arten von Änderungen erlaubt (d.h. anlegen, ändern, löschen)
  • „2“ : Nur die Neu-Anlage ist erlaubt, (ändern und löschen sind verboten)
  • „3“ : Nur Ändern ist erlaubt (anlegen und löschen sind verboten)
  • „4“ : Nur Neu-Anlage und Ändern sind erlaubt (löschen ist verboten)
  • „5“ : Nur Löschen ist erlaubt (anlegen und ändern sind verboten)
  • „6“ : Nur Neu-Anlage und Löschen sind erlaubt (ändern ist verboten)
  • „7“ : Nur Ändern und Löschen sind erlaubt (anlegen ist verboten)

Anmerkung zur Rückgabespalte „Visible“ :

Wird hier eine „0“ ausgegeben, werden in Prozeduren, die vom Benutzer „publicuser“ („UserID = 0“, s. mi_GetUserInfo_Ad) ausgeführt werden, KEINE Eigenschaften/Details bzw. nur „Teile von Eigenschaften“ (s. Rückgabespalte „ReadAccessRestrictionPattern“) zum Merkmal „ID“ ausgegeben. Falls der „PersonTypeSettings“-Eintrag (zur „PersonTypeID = 0“) zum Schlüssel „PCharacsBackwardCompatible“ auf „1“ gesetzt ist, hat dieser Wert die Bedeutung, daß in „public“-Prozeduren KEINE Eigenschaften/Details bzw. nur „Teile von Eigenschaften“ zum Merkmal „ID“ ausgegeben werden.

Anmerkung zur Rückgabespalte „ReadAccessRestrictionPattern“ :

Immer „NULL“ wenn „Visible = 1“ ist. Falls hier ein Wert zurückkommt, bedeutet dies, daß der „publicuser“ („UserID = 0“, s. mi_GetUserInfo_Ad) den Teil von Eigenschaften zum Merkmal „ID“ einsehen darf, der diesem „pattern“ entspricht (für Details bedeutungslos). Derzeit mögliche Werte :

  • „#left(<n>)#“ : die ERSTEN n Zeichen („n = 0“ mögl.) werden ausgegeben
  • „#right(<n>)#“ : die LETZTEN n Zeichen („n = 0“ mögl.) werden ausgegeben

Beispielsweise bedeutet „#left(4)#“, daß nur (maximal) die ERSTEN 4 Zeichen der Eigenschaft zurückgeliefert werden.

HTTP-MethodGET
HTTP-AuthOptional
Aliaspm_GetPersonAccessCharacteristics_Pu
Tags
Engine-Kategorieperson management
Engine-TypDaten-Ermittlung
Letzte Aktualisierung6.5.2 (2013-02-26)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
LanguageIDNULL ID einer Sprache. Falls angegeben, versucht die Prozedur die Bezeichnungen der Merkmale (→ Rückgabespalte „Description“) in dieser Sprache zu übersetzen - sonst wird die Standardsprache gewählt.
tinyint3.5.0

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
IDID eines Personen-Merkmals, das in „PersonTypeSettings“ zur „PersonTypeID = 0“ zum Schlüssel „PersonGrantAccessIDs“ konfiguriert ist
smallint3.5.0
DescriptionBezeichnung des Personen-Merkmals „ID“ in der durch „LanguageID“ angegeben Sprache. Falls keine „LanguageID“ angegeben wurde oder keine Übersetzung existiert, wird die Bezeichnung in der Standardsprache ausgegeben.
varchar(100)3.5.0
BasicFieldTypeIDID eines Basis-Feld-Typs. Dieser Typ gibt an, von welchem (Daten-)Typ alle Eigenschaften zum Merkmal „ID“ sein müssen (s.a. mi_GetFieldTypes_Ad)
tinyint3.5.0
BasicFieldTypeBezeichnung des Basis-Feld-Typs „BasicFieldTypeID“
varchar(20)3.5.0
MaxLengthMaximale Anzahl Zeichen, die Eigenschaften/Werte zum Merkmal „ID“ haben dürfen
tinyint3.5.0
PrecisionValueGilt nur für Datentypen mit Basis-Daten-Typ „Zahl“ und gibt die Anzahl erlaubter Nachkommastellen an, die in Eigenschaften zum Merkmal „ID“ vorkommen dürfen.
tinyint3.5.0
FormatVon welchem „Format“ (so etwas wie ein regulären Ausdruck) müssen die Eigenschaften zum Merkmal „ID“ sein. Derzeit nicht implementiert und verwendet !
varchar(255)3.5.0
RequiredWird hier eine „1“ ausgegeben, bedeutet das folgendes : Jede Person eines Personen-Typs, dem das Merkmal „ID“ zugewiesen ist, MUSS eine Eigenschaft zum Merkmal „ID“ angeben, ansonsten kann die Person nicht angelegt werden.
bit3.5.0
PredefinedValuesHat das Merkmal „ID“ nur vordefinierte Werte („0“ : Nein, „1“ : Ja) ?
bit3.5.0
ModifyDürfen „publicuser“/„Pu“-Prozed. Eigensch.-Änderung. vornehmen ?
- „0“ : Nein
- „1“ : Ja
- „2“ : Nur Neu-Anlage
- „3“ : Nur Ändern
- „4“ : Nur Neu-Anlage u. Ändern
- „5“ : Nur Löschen
- „6“ : Nur Neu-Anlage u. Löschen
- „7“ : Nur Ändern u. Löschen
tinyint3.5.0
VisibleWenn „0“, werden durch vom „publicuser“ ausgeführte Prozeduren bzw. durch „Pu“-Prozeduren (z.B. pm_GetPersonProperties_Pu) KEINE Eigenschaften/Details bzw. nur Teile von Eigenschaften (s. „ReadAccessRestrictionPattern“) zur „ID“ ausgegeben
bit3.5.0
ReadAccessRestrictionPattern„NULL“ wenn „Visible = 1“. Welch. Teil v. Eigensch. zu „ID“ für den „publicuser“ ausgegeben werden :
- „#left(<n>)#“ : die ERSTEN n Zeichen („n = 0“ mögl.)
- „#right(<n>)#“ : die LETZTEN n Zeichen („n = 0“ mögl.)
- NULL : Datensätze zu „ID“ fehlen ganz
varchar(100)6.5.2
LanguageIDEntweder „LanguageID“ oder „0“ - um erkennen zu können, in welcher Sprache die „Description“ angegeben ist
tinyint3.5.0
SortNoBestimmt die Reihenfolge des Merkmals „ID“ innerhalb aller Merkmale
smallint3.5.0
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • SortNo (absteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-621Fehlender oder falscher Eintrag in PersonTypeSettingsnur indirekt
-550Fehlender oder falscher Eintrag in Settingsnur indirekt
-500Falsche Parameternur indirekt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

6.5.2 2013-02-261. Interne Anpassungen (Spalten „Visible“ und „ModificationAllowedByUser“ von „PersonCharacteristics“ sind weggefallen)
2. Neue mögliche Werte für Rückgabespalte „Modify“
3. Neue Rückgabespalte „ReadAccessRestrictionPattern“
5.5.0 2008-01-071. Bearbeitung des Quellcodes hinsichtlich neuer Konventionen
2. Performance-Optimierung
4.0.5 2003-10-04Verlagerung diverser „Settings“-Einträge auf entsprechende „PersonTypeSettings“-Einträge
3.5.19 2002-06-17
3.5.0 2000-11-23Erstmalig 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_GetPersonAccessCharacs_Pu'

Mit xmllint 6) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/pm_GetPersonAccessCharacs_Pu' | 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_GetPersonAccessCharacs_Pu',
		array(
			// 'LanguageID' => 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="pm_GetPersonAccessCharacs_Pu">
			<Parameters>
				<!-- <Parameter Name="LanguageID">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/pm_getpersonaccesscharacs_pu.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)