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 :
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 :
Beispielsweise bedeutet „#left(4)#“, daß nur (maximal) die ERSTEN 4 Zeichen der Eigenschaft zurückgeliefert werden.
HTTP-Method | GET |
HTTP-Auth | Optional |
Alias | pm_GetPersonAccessCharacteristics_Pu |
Tags | |
Engine-Kategorie | person management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 6.5.2 (2013-02-26) |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
ID | ID eines Personen-Merkmals, das in „PersonTypeSettings“ zur „PersonTypeID = 0“ zum Schlüssel „PersonGrantAccessIDs“ konfiguriert ist | smallint | 3.5.0 |
Description | Bezeichnung 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 |
BasicFieldTypeID | ID 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) | tinyint | 3.5.0 |
BasicFieldType | Bezeichnung des Basis-Feld-Typs „BasicFieldTypeID“ | varchar(20) | 3.5.0 |
MaxLength | Maximale Anzahl Zeichen, die Eigenschaften/Werte zum Merkmal „ID“ haben dürfen | tinyint | 3.5.0 |
PrecisionValue | Gilt 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. | tinyint | 3.5.0 |
Format | Von 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 |
Required | Wird 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. | bit | 3.5.0 |
PredefinedValues | Hat das Merkmal „ID“ nur vordefinierte Werte („0“ : Nein, „1“ : Ja) ? | bit | 3.5.0 |
Modify | Dü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 | tinyint | 3.5.0 |
Visible | Wenn „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 | bit | 3.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 |
LanguageID | Entweder „LanguageID“ oder „0“ - um erkennen zu können, in welcher Sprache die „Description“ angegeben ist | tinyint | 3.5.0 |
SortNo | Bestimmt die Reihenfolge des Merkmals „ID“ innerhalb aller Merkmale | smallint | 3.5.0 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-550 | Fehlender oder falscher Eintrag in Settings | nur indirekt |
-500 | Falsche Parameter | nur indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
6.5.2 | 2013-02-26 | 1. 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-07 | 1. Bearbeitung des Quellcodes hinsichtlich neuer Konventionen 2. Performance-Optimierung |
4.0.5 | 2003-10-04 | Verlagerung diverser „Settings“-Einträge auf entsprechende „PersonTypeSettings“-Einträge |
3.5.19 | 2002-06-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 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 -
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();
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>