Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:pm_getpersoncharacteristics_pu

pm_GetPersonCharacteristics_Pu

Ermittelt definierte (und i.d.R. einem Personen-Typ bereits zugeordnete) Merkmale, zu denen Personen Eigenschaften/Details besitzen können. Äquivalent zu pm_GetPerson_Characteristics_Ad - mit dem Unterschied, daß nur die Merkmale zurückgegeben werden, die für den Benutzer, der diese Prozedur aufruft (bzw. für den „publicuser“, wenn „PCharacsBackwardCompatible“ in „PersonTypeSettings“ auf „1“ gesetzt ist), sichtbar oder zumindest eingeschränkt sichtbar sind (s. Doku zur Rückgabespalte „Visible“ u. „ReadAccessRestrictionPattern“).

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
Tags
Engine-Kategorieperson management
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
LanguageIDNULL ID einer Sprache, in der die Bezeichnungen der Merkmale (Rückgabespalte „Description“) ausgegeben werden sollen. Wenn keine Übersetzung vorhanden ist, wird immer die Bezeichnung in der Standardsprache („DefaultLanguageID“ aus „Settings“) gewählt.
tinyint3.5.0
PersonTypeID1 ID des Personen-Typs, zu dem die Merkmale ausgegeben werden sollen
tinyint3.5.0
PersonCharacCategoryID1 ID einer Kategorie von Personen-Merkmalen. Falls angegeben (Angabe von „NULL“ erst seit Version 3.5.5 mögl.), werden nur die Merkmale dieser Kategorie berücksichtigt. Gehört die Kategorie nicht zum Personen-Typ „PersonTypeID“ ist die Rückgabemenge leer !
tinyint3.5.0

Rückgabe

wenn PersonCharacCategoryID is NOT NULL

Spaltenname Beschreibung SQL-Datentyp4) ab Version
IDID eines Personen-Merkmals. Besteht für ein Merkmal eine komplett lesende Zugriffsbeschränkung für den Aufrufer bzw. „publicuser“ (s. „PersonTypeSettings“-Schlüssel „PCharacsBackwardCompatible“), FEHLT der entsprechende Datensatz im Ergebnis !
smallint3.5.0
DescriptionBezeichnung des Personen-Merkmals „ID“ in der durch „LanguageID“ angegebenen Sprache
varchar(100)3.5.0
BasicFieldTypeIDID des Basis-Feld-Typs, von dem alle Eigenschaften des Merkmals „ID“ sein müssen, wie z.B. „Text“ (siehe auch 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
RequiredFalls „1“, so MUSS eine Person, die eine Angabe zu wenigstens einem Merkmal der Kategorie „PersonCharacCategoryID“ macht, auf JEDEN FALL auch eine Angabe zum Merkmal „ID“ machen
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
LanguageIDID der Sprache, in der „Description“ angegeben ist. Falls keine „LanguageID“ angegeben wurde, ist dies IMMER die „DefaultLanguageID“ aus „Settings“.
tinyint3.5.0
SortNoBestimmt die Reihenfolge des Merkmals „ID“ innerhalb aller Merkmale
smallint3.5.0
RequiredForCreateWird hier eine „1“ ausgegeben, bedeutet das folgendes : Jede Person eines Personen-Typs, der das Merkmal „ID“ zugewiesen hat, MUSS eine Eigenschaft zum Merkmal „ID“ angeben, ansonsten kann die Person nicht angelegt werden.
bit3.5.5
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • SortNo (absteigend)

wenn PersonCharacCategoryID is NULL

Spaltenname Beschreibung SQL-Datentyp5) ab Version
IDID eines Personen-Merkmals. Besteht für ein Merkmal eine komplett lesende Zugriffsbeschränkung für den Aufrufer bzw. „publicuser“ (s. „PersonTypeSettings“-Schlüssel „PCharacsBackwardCompatible“), FEHLT der entsprechende Datensatz im Ergebnis !
smallint3.5.5
DescriptionBezeichnung des Personen-Merkmals „ID“ in der durch „LanguageID“ angegebenen Sprache
varchar(100)3.5.5
BasicFieldTypeIDID des Basis-Feld-Typs, von dem alle Eigenschaften des Merkmals „ID“ sein müssen, wie z.B. „Text“ (siehe auch mi_GetFieldTypes_Ad)
tinyint3.5.5
BasicFieldTypeBezeichnung des Basis-Feld-Typs „BasicFieldTypeID“
varchar(20)3.5.5
MaxLengthMaximale Anzahl Zeichen, die Eigenschaften/Werte zum Merkmal „ID“ haben dürfen
tinyint3.5.5
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.5
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.5
RequiredFalls „1“, so MUSS eine Person, die eine Angabe zu wenigstens einem Merkmal der Kategorie „PersonCharacCategoryID“ macht, auf JEDEN FALL auch eine Angabe zum Merkmal „ID“ machen
bit3.5.5
PredefinedValuesHat das Merkmal „ID“ nur vordefinierte Werte („0“ : Nein, „1“ : Ja) ?
bit3.5.5
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.5
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.5
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
LanguageIDID der Sprache, in der „Description“ angegeben ist. Falls keine „LanguageID“ angegeben wurde, ist dies IMMER die „DefaultLanguageID“ aus „Settings“.
tinyint3.5.5
SortNoBestimmt die Reihenfolge des Merkmals „ID“ innerhalb aller Merkmale
smallint3.5.5
RequiredForCreateWird hier eine „1“ ausgegeben, bedeutet das folgendes : Jede Person eines Personen-Typs, der das Merkmal „ID“ zugewiesen hat, MUSS eine Eigenschaft zum Merkmal „ID“ angeben, ansonsten kann die Person nicht angelegt werden.
bit3.5.5
PersonCharacCategoryIDID einer Kategorie von Personen-Merkmalen, der das Merkmal „ID“ zugeordnet ist
tinyint3.5.5
CategoryDescriptionBezeichnung der Kategorie „PersonCharacCategoryID“
varchar(100)3.5.5
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • PersonCharacCategoryID (aufsteigend)
  • SortNo (absteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 6)
-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 abgebrochendirekt und 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-29„Start-/Finish-Procedure“-Logik eingebaut, s. Ticket #3670
6.5.4 2013-04-29Doku zu den Rückgabespalten „Modify“, „Visible“ und „ReadAccessRestrictionPattern“ war falsch
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“
4.0.3 2003-07-10Fehler in der Doku, Rückgabespalte „Modify“ ist vom Typ „tinyint“
3.5.20 2002-07-22
3.5.19 2002-06-17
3.5.5 2001-03-30
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_GetPersonCharacteristics_Pu'

Mit xmllint 7) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/pm_GetPersonCharacteristics_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_GetPersonCharacteristics_Pu',
		array(
			// 'LanguageID' => NULL,
			// 'PersonTypeID' => 1,
			// 'PersonCharacCategoryID' => 1
		)
);
 
$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_GetPersonCharacteristics_Pu">
			<Parameters>
				<!-- <Parameter Name="LanguageID">NULL</Parameter> -->
				<!-- <Parameter Name="PersonTypeID">1</Parameter> -->
				<!-- <Parameter Name="PersonCharacCategoryID">1</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
6)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
7)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/pm_getpersoncharacteristics_pu.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)