Ermittelt Eigenschaften zu einer oder mehreren Person(en).
Anmerkung zum Parameter „IncludeCreationDateAndTime“ :
Falls hierfür „1“ angegeben wird, enthält die Rückgabemenge einen zusätzlichen Datensatz (nur im Fall „GetPersonTypeIDOnly = 0“), der wie folgt belegt ist :
Anmerkung zum Parameter „IgnoreBadPersonIDsInOneID“ :
Sind GAR KEINE oder NUR „falsche“ IDs in „tempdb.dbo.OneID“, gibt es in jedem Fall „-500“ (auch wenn für diesen Parameter „1“ übergeben wurde) !
Anmerkung zum Parameter „CharacteristicIDList“ :
Merkmale, für die ein lesender Zugriff (für den Benutzer, der diese Prozedur aufruft) komplett verboten ist, werden IGNORIERT, d.h. es gibt auch keinen Fehler, wenn eine solche ID in „CharacteristicIDList“ angegeben ist (es gibt aber eben auch KEINEN entsprechenden Datensatz mit dieser ID) !
Anmerkung zur Rückgabespalte „Modify“ :
Gibt an, ob der spezielle Benutzer „publicuser“ („UserID = 0“, s. mi_GetUserInfo_Ad) Eigenschaften/Details zum Merkmal „CharacteristicID“ Ä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 „CharacteristicID“ 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 „CharacteristicID“ 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 „CharacteristicID“ 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 |
Tags | |
Engine-Kategorie | person management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
PersonID | ID einer Person, zu der Eigenschaften ermittelt werden sollen. Bei Angabe von „NULL“ (seit Version 3.5.13) erwartet die Prozedur „PersonID“s in „tempdb.dbo.OneID“. | integer | 3.5.0 | |
LanguageID | 0 | ID einer Sprache. Wenn angegeben, versucht die Prozedur Übersetzungen zur Merkmal-Bezeichnung („CharacteristicDescription“) und zur Eigenschaft („Value“ bzw. „ActualValue“) zu finden - ist keine Übersetzung vorhanden, wird die Standardsprache gewählt. | tinyint | 3.5.0 |
CharacteristicIDList | NULL | Liste von Merkmal-IDs (durch '¶' getrennt), zu denen die Eigenschaften ermittelt werden sollen. Bei Angabe von „NULL“ / '' werden alle vorhandenen Eigenschaften bzw. nur die zu Merkmalen der Kategorie „PersonCharacCategoryID“ ermittelt. | varchar(255) | 3.5.0 |
DateFormat | 'german' | Bestimmt das Format der Ausgabe von Datums-Eigenschaften. Dabei wird Groß- und Kleinschreibung NICHT beachtet) : * 'german' o. 'germany' : Tag-Monat-Jahr (Standardwert) * 'english' o. 'england' : Monat-Tag-Jahr | varchar(10) | 3.5.0 |
PersonCharacCategoryID | NULL | Wird nur beachtet, falls für „CharacteristicIDList“ „NULL“ oder „''“ angegeben wird ! ID einer Kategorie von Personen-Merkmalen. Falls angegeben, werden nur Eigenschaften zu Merkmalen dieser Kategorie berücksichtigt. | tinyint | 3.5.0 |
IncludeCreationDateAndTime | 0 | Es gibt eine besondere „Eigenschaft“, die jede Person (egal welchen Typs) hat : Das Datum, an dem die Person angelegt wurde. Soll diese Eigenschaft mit ausgegeben werden, ist dieser Parameter auf „1“ zu setzen. (siehe auch Beschreibung) | bit | 3.5.9 |
IncludePersonCharacCategoryID | 0 | „1“ angeben, um zusätzliche Rückgabespalten zu erhalten, die angegeben, in welcher Kategorie sich das jeweils ausgegebene Merkmal befindet | bit | 3.5.14 |
DateAndTime | NULL | Zeitpunkt, zu dem die Eigenschaften der Person(en) ermittelt werden sollen. Bei Angabe von „NULL“ werden die aktuellen Eigenschaften zurückgegeben. | datetime | 4.0.0 |
GetActualProperties | 0 | „1“ angeben, damit die Rückgabespalte „ActualValue“ nicht mit „NULL“ belegt wird, sondern mit der aktuell gültigen Eigenschaft der jeweiligen Person zum jeweiligen Merkmal | bit | 4.0.0 |
GetPersonTypeIDOnly | 0 | Möchte man lediglich den Personen-Typ der Person „PersonID“ bzw. der in „tempdb.dbo.OneID“ übergebenen „PersonID“s herausbekommen, setzt man diesen Parameter auf „1“ | bit | 4.0.3 |
IgnoreBadPersonIDsInOneID | 0 | Es gibt einen Fehler („-500“), wenn die in „tempdb.dbo.OneID“ übergebenen Personen nicht vom gleichen Typ sind oder eine nicht vorhandene ID übergeben wurde. Möchte man diese fehlerhaften IDs aber einfach ignorieren lassen, übergibt man hier „1“. | bit | 5.1.2 |
OnlyRowsForExistingProperties | 0 | Es wird in allen Fällen für jede Person und für jedes (gewünschte) Merkmal ein Datensatz zurückgeliefert (u.U. mit „NULL“- Werten in anderen Spalten, wenn keine Eigenschaft vorhanden ist). Möchte man dies nicht, übergibt man hier den Wert „1“. | bit | 5.1.10 |
GetDetailsInfo | 0 | „1“ angeben, damit die Rückgabespalte „DetailsExist“ richtig belegt wird | bit | 5.1.10 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
PersonID | ID einer Person, die via „tempdb.dbo.OneID“ übergeben wurde | integer | 3.5.13 |
CharacteristicDescription | Bezeichnung des Personen-Merkmals „CharacteristicID“ | varchar(100) | 3.5.0 |
Value | Eigenschaft der Person „PersonID“ zum Merkmal „CharacteristicID“. Kann aufgrund von Zugriffsbeschränkungen „NULL“ oder unvollständig sein, was dann durch „ValueRestrictedByPattern“ gekennzeichnet ist. | varchar(100) | 3.5.0 |
ValueRestrictedByPattern | Was enthält „(Actual)Value“ (möglicherw. wg. Zugr.beschr. nur einen Teil) ? - NULL : den vollst. Wert - „#left(<n>)#“ : nur die ERSTEN n Zeichen - „#right(<n>)#“ : nur die LETZTEN n Zeichen Anmerkung : „n = 0“ möglich, „(Actual)Value“ ist dann „NULL“ | varchar(100) | 6.5.2 |
CharacteristicID | ID eines Personen-Merkmals, auf das sich die Eigenschaft „Value“ bezieht | smallint | 3.5.0 |
DetailsExist | Immer „0“ wenn „GetDetailsInfo = 0“ ist. Sonst steht hier, ob „PersonID“ zum Merkmal „CharacteristicID“ sogenannte „Details“ besitzt („1“) oder nicht („0“) - s.a. pm_GetPersonDetails_Ad | bit | 5.1.10 |
SortNo | Bestimmt die Reihenfolge des Merkmals „CharacteristicID“ innerhalb aller Merkmale | smallint | 5.1.10 |
ValueID | ID der Eigenschaft „Value“. Hinweis : KANN „NULL“ sein (selbst wenn „Value“ NICHT „NULL“ ist), falls nicht die aktuellen Eigenschaften ermittelt wurden (wenn also „DateAndTime“ angegeben wurde), weil in der Historie KEINE ID gespeichert wird ! | integer | 3.5.0 |
Required | Wird hier eine „1“ ausgegeben, bedeutet das folgendes : Jede Person eines Personen-Typs, dem das Merkmal „CharacteristicID“ zugewiesen ist, MUSS eine Eigenschaft zum Merkmal „CharacteristicID“ angeben, ansonsten kann die Person nicht angelegt werden. | bit | 3.5.0 |
Required_CharacCategory | Gibt an, ob das Merkmal „CharacteristicID“ Pflicht innerhalb der Kategorie „PersonCharacCategoryID“ ist („1“) oder nicht („0“). Hinweis : Ist unabhängig von „IncludePersonCharacCategoryID“ gefüllt ! | bit | 5.1.10 |
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 „CharacteristicID“ ausgegeben | 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 |
ReadAccessRestrictionPattern | „NULL“ w. „Visible = 1“. Welch. Teil v. Eigensch. zu „CharacteristicID“ für d. „publicuser“ ausgeg. werd. : - „#left(<n>)#“ : d. ERSTEN n Zeich. („n = 0“ mögl.) - „#right(<n>)#“ : d. LETZTEN n Zeich. („n = 0“ mögl.) - NULL : Datens. zum Merkmal fehlt | varchar(100) | 6.5.2 |
PredefinedValues | Hat das Merkmal „CharacteristicID“ nur vordefinierte Werte („0“ : Nein, „1“ : Ja) ? | bit | 3.5.0 |
FieldTypeID | ID eines „Feld-Typs“, von dem alle Eigenschaften des Merkmals „CharacteristicID“ sein müssen (z.B. „Text mit maximal 20 Zeichen“) | tinyint | 3.5.0 |
MaxLength | Maximale Anzahl Zeichen, die Eigenschaften/Werte zum Merkmal „CharacteristicID“ haben dürfen | tinyint | 3.5.0 |
PersonCharacCategoryID | ID der Merkmal-Kategorie, der das Merkmal „CharacteristicID“ zugeordnet ist. Nur gefüllt bei „IncludePersonCharacCategoryID = 1“, sonst „NULL“ ! | tinyint | 3.5.14 |
CategoryDescription | Bezeichnung der Kategorie „PersonCharacCategoryID“. Nur gefüllt bei „IncludePersonCharacCategoryID = 1“, sonst „NULL“ ! | varchar(100) | 3.5.14 |
ActualValue | „NULL“ wenn „GetActualProperties = 0“. Sonst die AKTUELLE Eigenschaft von „PersonID“ zu „CharacteristicID“. Kann aufgrund von Zugriffsbeschränkungen „NULL“ oder unvollständig sein, was dann durch „ValueRestrictedByPattern“ gekennzeichnet ist. | varchar(100) | 4.0.0 |
LastEdited | Immer „NULL“, falls „GetActualProperties = 0“ übergeben wurde. Ansonsten steht hier der Zeitpunkt, an dem die Eigenschaft zum Merkmal „CharacteristicID“ zuletzt geändert (d.h. auf den Wert „Value“ gesetzt) wurde. | datetime | 4.0.4 |
ActualValueID | Immer „NULL“, falls „GetActualProperties = 0“ übergeben wurde. Ansonsten die ID des Wertes „ActualValue“ (bzw. so wie tatsächlich intern gespeichert, falls aufgrund von „ValueRestrictedByPattern“ nur ein Teil des Wertes zurückgegeben wird). | integer | 6.5.2 |
(parameterunabängige Sortierung)
Spaltenname | Beschreibung | SQL-Datentyp5) | ab Version |
---|---|---|---|
PersonID | ID einer Person, die via „tempdb.dbo.OneID“ übergeben wurde bzw. „PersonID“ | integer | 4.0.3 |
PersonTypeID | ID des Typs der Person „PersonID“ | tinyint | 4.0.3 |
PersonTypeDescription | Bezeichnung des Personen-Typs „PersonTypeID“ | varchar(100) | 4.0.3 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 6) |
---|---|---|
-673 | Die Personendaten können nicht ausgegeben werden, da der entsprechende Personen-Typ gesperrt ist | nur direkt |
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
-567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
-566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
-550 | Fehlender oder falscher Eintrag in Settings | nur indirekt |
-535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
-530 | Der Wert ist nicht konvertierbar | nur indirekt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | direkt und indirekt |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
7.0.0 | 2013-06-04 | Kleiner Doku-Fehler [verwendete Prozeduren] |
6.5.2 | 2013-02-26 | 1. Interne Anpassungen (einige Spalten von „PersonCharacteristics“ sind weggefallen) 2. Neue mögliche Werte für Rückgabespalte „Modify“ 3. Neue Rückgabespalten „ValueRestrictedByPattern“, „ReadAccessRestrictionPattern“ und „ActualValueID“ |
5.5.1 | 2008-07-29 | Berücksichtigung des neuen „Settings“-Eintrags „AssignmentMethodForListVariables“ |
5.1.10 | 2007-03-12 | 1. „print“-Ausgabe im Fehler-Fall „-500“ 2. „CharacteristicIDList“ darf ab jetzt maximal 253 Zeichen enthalten 3. Neuer Parameter „OnlyRowsForExistingProperties“ 4. Neue Rückgabespalten „DetailsExist“, „SortNo“ und „Required_CharacCategory“ |
5.1.5 | 2006-08-29 | Explizites „ORDER BY“ eingefügt, um die Sortierung der Rückgabemenge zu garantieren |
5.1.2 | 2006-06-26 | Neuer Parameter „IgnoreBadPersonIDsInOneID“ |
5.0.0 | 2004-12-21 | Fehler bei der Überprüfung des Parameters „DateFormat“ falls „NULL“ angegeben wurde |
4.0.15 | 2004-07-30 | 1. Aufruf der Prozeduren „_mi_StartProcedure“, „_mi_FinishProcedure“ und „_mi_ChooseParamValueSeperator“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur 3. Konsequente Fehlerbehandlung |
4.0.4 | 2003-08-26 | Neue Rückgabespalte „LastEdited“ |
4.0.3 | 2003-07-10 | 1. „CreationDateAndTime“ steht jetzt in „PersonMetaInformation“ und nicht mehr in „Persons“ 2. Neuer Parameter „GetPersonTypeIDOnly“ |
4.0.1 | 2003-05-16 | Interne Dokumentations-Fehler |
4.0.0 | 2003-04-03 | 1. Neue Parameter „DateAndTime“, „GetActualProperties“ 2. Ab jetzt wird „LockedPersonTypes“ auch überprüft… |
3.5.19 | 2002-06-17 | |
3.5.14 | 2002-01-23 | |
3.5.13 | 2001-12-06 | |
3.5.10 | 2001-07-14 | |
3.5.9 | 2001-06-16 | |
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_GetPersonProperties_Ad?PersonID=<value>'
Mit xmllint 7) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/pm_GetPersonProperties_Ad?PersonID=<value>' | 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_GetPersonProperties_Ad', array( 'PersonID' => <value>, // 'LanguageID' => 0, // 'CharacteristicIDList' => NULL, // 'DateFormat' => 'german', // 'PersonCharacCategoryID' => NULL, // 'IncludeCreationDateAndTime' => 0, // 'IncludePersonCharacCategoryID' => 0, // 'DateAndTime' => NULL, // 'GetActualProperties' => 0, // 'GetPersonTypeIDOnly' => 0, // 'IgnoreBadPersonIDsInOneID' => 0, // 'OnlyRowsForExistingProperties' => 0, // 'GetDetailsInfo' => 0 ) ); $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_GetPersonProperties_Ad"> <Parameters> <Parameter Name="PersonID"><!-- integer value --></Parameter> <!-- <Parameter Name="LanguageID">0</Parameter> --> <!-- <Parameter Name="CharacteristicIDList">NULL</Parameter> --> <!-- <Parameter Name="DateFormat">'german'</Parameter> --> <!-- <Parameter Name="PersonCharacCategoryID">NULL</Parameter> --> <!-- <Parameter Name="IncludeCreationDateAndTime">0</Parameter> --> <!-- <Parameter Name="IncludePersonCharacCategoryID">0</Parameter> --> <!-- <Parameter Name="DateAndTime">NULL</Parameter> --> <!-- <Parameter Name="GetActualProperties">0</Parameter> --> <!-- <Parameter Name="GetPersonTypeIDOnly">0</Parameter> --> <!-- <Parameter Name="IgnoreBadPersonIDsInOneID">0</Parameter> --> <!-- <Parameter Name="OnlyRowsForExistingProperties">0</Parameter> --> <!-- <Parameter Name="GetDetailsInfo">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>