Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:pm_getpersonrelationships_ad

pm_GetPersonRelationships_Ad

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-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
PersonIDNULL ID einer Person. Falls angegeben, berücksichtigt die Prozedur nur Beziehungen dieser Person. Siehe auch Anmerkungen in der Prozedur-Beschreibung !
integer3.5.10
RelatedPersonIDNULL ID einer Person. Falls angegeben, berücksichtigt die Prozedur nur Beziehungen ZU dieser Person. Siehe auch Anmerkungen in der Prozedur-Beschreibung !
integer3.5.10
RelationshipIDNULL ID einer Art von Beziehungen zwischen Personen. Falls angegeben, werden nur Beziehungen dieser Art berücksichtigt.
tinyint3.5.10
FromDateNULL Falls angegeben, werden nur Beziehungen ermittelt, deren Beginn NACH diesem Datum liegt
datetime3.5.10
ToDateNULL Falls angegeben, werden nur Beziehungen ermittelt, deren Ende VOR diesem Datum liegt
datetime3.5.10
OnlyRelationsCurrentlyValid0 „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
bit3.5.21
RelatedPersonTypeIDNULL 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 !
tinyint4.0.1

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
PersonIDID einer Person, zu der es in Beziehung stehende Personen (→ „RelatedPersonID“) gibt
integer3.5.10
RelatedPersonIDID einer Person, die zu „PersonID“ in Beziehung steht
integer3.5.10
PersonTypeIDOfRelatedPersonID des Personen-Typs von „RelatedPersonID“
tinyint3.5.10
RelationshipIDID der Art in der „PersonID“ und „RelatedPersonID“ in Beziehung stehen
integer3.5.10
SortNoAn 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)
integer3.5.10
AccessLevelSumme von Zugriffsrechten, die „PersonID“ auf Daten von „RelatedPersonID“ hat. Mögliche Einzel-Zugriffsrechte : s. pm_GetRelationAccessLevels.
smallint5.1.10
ValidFromBeginn der Beziehung
datetime3.5.10
ValidFrom_char„ValidFrom“ als „String“ im Format „01.04.2001 15:20:55:115“
varchar(23)3.5.10
ValidToEnde der Beziehung - „NULL“ bedeutet, daß die Beziehung bis auf unbestimmte Zeit besteht
datetime3.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
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • RelationshipID (aufsteigend)
  • PersonID (aufsteigend)
  • SortNo (aufsteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-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 abgebrochennur indirekt
-500Falsche Parameterdirekt und 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-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
5.1.10 2007-03-121. „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-301. „_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-11Mißverständliche Doku bzgl. des in Version 4.0.1 eingeführten Parameters „RelatedPersonTypeID“
4.0.1 2003-05-16Neuer Parameter „RelatedPersonTypeID“
3.5.21 2002-08-06
3.5.10 2001-07-14Erstmalig 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_GetPersonRelationships_Ad'

Mit xmllint 6) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/pm_GetPersonRelationships_Ad' | 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_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();
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_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>
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_getpersonrelationships_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)