Inhaltsverzeichnis

pm_GetPersonDetails_Ad

Zu einer Person werden „Detail-Eigenschaften“ (aus „PersonDetails“) zurückgegeben. Unter „Detail-Eigenschaften sind Eigenschaften zu verstehen, die mehr als 100 Byte enthalten (können).

Anmerkung zum Parameter „CharacteristicIDList“ :

Es gibt keinen Fehler, wenn Merkmale übergeben werden, die nicht zum Personentyp passen oder für den kein lesender Zugriff besteht (s. pm_GetPChAccRestrForUsers_Ad), sondern diese werden einfach ignoriert.

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
PersonID ID einer Person
integer3.5.6
CharacteristicIDListNULL Liste von Merkmal-IDs (durch '¶' getrennt), zu denen die „Detail-Eigenschaften“ ermittelt werden sollen. Bei Angabe von „NULL“ / '' werden alle zum Personen-Typ (von „PersonID“) gehörenden Merkmalen berücksichtigt.
varchar(255)3.5.6
SortedResult0 Bestimmt die Sortierung der Rückgabemenge. Diese ist nach den in „CharacteristicIDList“ angegebenen Merkmal-IDs geordnet, und zwar entweder
* nach ihrer Reihenfolge im Parameter („0“) oder
* nach ihrer „SortNo“ aus „PersonCharacteristics“ („1“).
bit3.5.6
IncludeCharacsWithNoDetails0 „0“ : Es sind nur die Merkmale in der Rückgabemenge, zu denen „PersonID“ „Detail-Eigenschaften“ besitzt
„1“ : Im Ergebnis sind ALLE Merkmale, die via „CharacteristicIDList“ angegeben wurden bzw. die zum Personen-Typ (von „PersonID“) gehören
bit3.5.6

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
PositionOfCharacteristicIDInCharacteristicIDList5)Wird nicht ausgegeben, bestimmt aber die Sortierung der Rückgabemenge, falls „CharacteristicIDList NOT IN (NULL, '')“. Das Ergebnis ist dann nach der Reihenfolge der IDs im Parameter „CharacteristicIDList“ geordnet.
tinyint3.5.6
SortNo6)Wird nicht ausgegeben, sondern nur zur Sortierung der Rückgabemenge benötigt. Bestimmt die Reihenfolge des Merkmals „CharacteristicID“ innerhalb aller Merkmale
smallint3.5.6
CharacteristicDescriptionBezeichnung des Personen-Merkmals „CharacteristicID“
varchar(100)3.5.6
DetailsDie „Detail-Eigenschaft“ der Person „PersonID“ zum Merkmal „CharacteristicID“
text3.5.6
CharacteristicIDID eines Personen-Merkmals. Besteht für ein Merkmal eine komplett lesende Zugriffsbeschränkung (s. pm_GetPChAccRestrForUsers_Ad) für den Aufrufer, FEHLT der entsprechende Datensatz im Ergebnis !
smallint3.5.6
Sortierungen der Rückgabe

wenn CharacteristicIDList IN (NULL, '')

wenn SortedResult = 0 und CharacteristicIDList NOT IN (NULL, '')

wenn SortedResult = 1 und CharacteristicIDList NOT IN (NULL, '')

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 7)
-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
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur 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]
7.0.0 2013-06-04Kleiner Doku-Fehler [verwendete Prozeduren]
6.5.2 2013-02-261. Beachtung der neuen Zugriffs-Beschränkungen für Merkmale [⇒ Doku-Anpassung]
2. Anpassung des Quellcodes an den aktuellen Standard
3. Interne Anpassungen wg. UTF8-Unterstützung
4.0.15 2004-07-301. 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.0 2003-04-03Fehler bei der Sortierung der Rückgabemenge in einem Fall und Fehler in der Doku bzgl. der Sortierung
3.5.6 2001-04-17Erstmalig 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_GetPersonDetails_Ad?PersonID=<value>'

Mit xmllint 8) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/pm_GetPersonDetails_Ad?PersonID=<value>' | 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_GetPersonDetails_Ad',
		array(
			'PersonID' => <value>,
			// 'CharacteristicIDList' => NULL,
			// 'SortedResult' => 0,
			// 'IncludeCharacsWithNoDetails' => 0
		)
);
 
$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_GetPersonDetails_Ad">
			<Parameters>
				<Parameter Name="PersonID"><!-- integer value --></Parameter>
				<!-- <Parameter Name="CharacteristicIDList">NULL</Parameter> -->
				<!-- <Parameter Name="SortedResult">0</Parameter> -->
				<!-- <Parameter Name="IncludeCharacsWithNoDetails">0</Parameter> -->
			</Parameters>
		</Procedure>
	</Batch>
</ListOfBatches>
1)
Pflichtparameter sind unterstrichen
5) , 6)
Spalte wird nicht zurückgegeben und ist hier nur aus Dokumentationsgründen aufgeführt.
7)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
8)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org