Gibt die Personen zurück, die in irgendeiner „Beziehung“ zueinander stehen.
Im „dStore“ ist unter einer „Beziehung“ lediglich die Zuordnung einer Person zu einer anderen Person zu verstehen, wobei immer angegeben ist, welcher Art die Beziehung ist, in welchem Zeitraum sie gültig ist und welche Zugriffsrechte die jeweilige Person auf Daten der in Beziehung stehenden Person besitzt.
Anmerkungen zu den Parametern „PersonID“, „RelatedPersonID“ und „RelatedPersonTypeID“ :
1. Es muß mindestens einer dieser Parameter angegeben sein, sonst gibt es einen Fehler („-500“).
2. Ist „PersonID = NULL“, so werden alle Datensätze zur „RelatedPersonID“ aus „PersonRelationships“ zurückgegeben - hat man hierfür auch „NULL“ übergeben, bekommt man zwar keinen Fehler, aber garantiert eine leere Ergebnismenge ! Ist zusätzlich „RelatedPersonTypeID“ angegeben, werden nur Personen diese Typs berücksichtigt, die in Beziehung zu „RelatedPersonID“ stehen.
3. Ist eine „PersonID“ übergeben, so werden nur Datensätze berücksichtigt, durch die Beziehungen dieser Person zu anderen Personen ausgedrückt werden. Ist zusätzlich eine „RelatedPersonID“ angegeben, werden nur Beziehungen zwischen diesen beiden Personen ermittelt - „RelatedPersonTypeID“ wird in diesem Fall ignoriert. Wird „NULL“ für „RelatedPersonID“ übergeben, und enthält „RelatedPersonTypeID“ einen „echten“ Wert, werden nur Beziehungen von „PersonID“ zu Personen dieses Typs ermittelt.
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 | NULL | ID einer Person. Falls angegeben, berücksichtigt die Prozedur nur Beziehungen dieser Person. Siehe auch Anmerkungen in der Prozedur-Beschreibung ! | integer | 3.5.10 |
RelatedPersonID | NULL | ID einer Person. Falls angegeben, berücksichtigt die Prozedur nur Beziehungen ZU dieser Person. Siehe auch Anmerkungen in der Prozedur-Beschreibung ! | integer | 3.5.10 |
RelationshipID | NULL | ID einer Art von Beziehungen zwischen Personen. Falls angegeben, werden nur Beziehungen dieser Art berücksichtigt. | tinyint | 3.5.10 |
FromDate | NULL | Falls angegeben, werden nur Beziehungen ermittelt, deren Beginn NACH diesem Datum liegt | datetime | 3.5.10 |
ToDate | NULL | Falls angegeben, werden nur Beziehungen ermittelt, deren Ende VOR diesem Datum liegt | datetime | 3.5.10 |
OnlyRelationsCurrentlyValid | 0 | „0“ : Alle Beziehungen berücksichtigen, die die Bedingungen „FromDate“ und „ToDate“ erfüllen „1“ : „FromDate“ und „ToDate“ ignorieren und nur alle momentan gültigen Beziehungen berücksichtigen | bit | 3.5.21 |
RelatedPersonTypeID | NULL | Falls angegeben, werden nur Beziehungen von „PersonID“ zu Personen dieses Typs berücksichtigt bzw. nur Beziehungen von Personen dieses Typs zu „RelatedPersonID“. Sind „PersonID“ und „RelatedPersonID“ angegeben, wird der Parameter ignoriert ! | tinyint | 4.0.1 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
PersonID | ID einer Person, zu der es in Beziehung stehende Personen (→ „RelatedPersonID“) gibt | integer | 3.5.10 |
RelatedPersonID | ID einer Person, die zu „PersonID“ in Beziehung steht | integer | 3.5.10 |
PersonTypeIDOfRelatedPerson | ID des Personen-Typs von „RelatedPersonID“ | tinyint | 3.5.10 |
RelationshipID | ID der Art in der „PersonID“ und „RelatedPersonID“ in Beziehung stehen | integer | 3.5.10 |
SortNo | An welcher „Stelle“ steht „RelatedPersonID“ in der Liste aller Personen, die zu „PersonID“ in der durch „RelationshipID“ angegebenen Beziehung stehen (gemeint ist letztlich eine „Priorität“ der Beziehung) | integer | 3.5.10 |
AccessLevel | Summe von Zugriffsrechten, die „PersonID“ auf Daten von „RelatedPersonID“ hat. Mögliche Einzel-Zugriffsrechte : s. pm_GetRelationAccessLevels. | smallint | 5.1.10 |
ValidFrom | Beginn der Beziehung | datetime | 3.5.10 |
ValidFrom_char | „ValidFrom“ als „String“ im Format „01.04.2001 15:20:55:115“ | varchar(23) | 3.5.10 |
ValidTo | Ende der Beziehung - „NULL“ bedeutet, daß die Beziehung bis auf unbestimmte Zeit besteht | datetime | 3.5.10 |
ValidTo_char | „ValidTo“ als „String“ im Format „01.04.2001 15:20:55:115“ (hier wird „NULL“ zurückgegeben, falls „ValidTo“ „NULL“ ist) | varchar(23) | 3.5.10 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-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 |
-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 | 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] |
5.1.10 | 2007-03-12 | 1. „RelationshipID“ ist jetzt ein „tinyint“ 2. Neue Rückgabespalte „AccessLevel“ 3. Fehlerhaftes Verhalten (entgegen der Doku), falls „NULL“ für „PersonID“ angegeben wurde, aber Werte für „RelatedPersonID“ UND „RelatedPersonTypeID“ angegeben sind ! |
4.0.15 | 2004-07-30 | 1. „_mi_StartProcedure“ und „_mi_FinishProcedure“ 2. „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn 3. Fehler bzgl. „ValidTo_char“ (falls „ValidTo“ „NULL“ war) 4. „ValidFrom_char“, „ValidTo_char“ jetzt vom Typ „varchar(30)„ |
4.0.2 | 2003-06-11 | Mißverständliche Doku bzgl. des in Version 4.0.1 eingeführten Parameters „RelatedPersonTypeID“ |
4.0.1 | 2003-05-16 | Neuer Parameter „RelatedPersonTypeID“ |
3.5.21 | 2002-08-06 | |
3.5.10 | 2001-07-14 | 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_GetPersonRelationships_Ad'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/pm_GetPersonRelationships_Ad' | 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_GetPersonRelationships_Ad', array( // 'PersonID' => NULL, // 'RelatedPersonID' => NULL, // 'RelationshipID' => NULL, // 'FromDate' => NULL, // 'ToDate' => NULL, // 'OnlyRelationsCurrentlyValid' => 0, // 'RelatedPersonTypeID' => 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_GetPersonRelationships_Ad"> <Parameters> <!-- <Parameter Name="PersonID">NULL</Parameter> --> <!-- <Parameter Name="RelatedPersonID">NULL</Parameter> --> <!-- <Parameter Name="RelationshipID">NULL</Parameter> --> <!-- <Parameter Name="FromDate">NULL</Parameter> --> <!-- <Parameter Name="ToDate">NULL</Parameter> --> <!-- <Parameter Name="OnlyRelationsCurrentlyValid">0</Parameter> --> <!-- <Parameter Name="RelatedPersonTypeID">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>