Gibt Personen eines Personen-Typs zurück.
Einziges (optionales) Filterkriterium ist eine Gruppe (→ „GroupID“). Möchte man nach bestimmten Eigenschaften filtern, ist die Prozedur pm_GetPersons_Conditions_Ad zu verwenden.
Anmerkungen zum Parameter „OutputCharacteristicIDs“ :
1. Bei den hier angegebenen Merkmalen muß es sich immer um Pflicht-Merkmale („Required = 1“, siehe pm_GetPersonCharacteristics_Ad) handeln !
2. Für alle angegebenen Merkmale muß der Aufrufer vollständigen lesenden Zugriff besitzen (s. pm_GetPChAccRestrForUsers_Ad), ansonsten gibt es einen Fehler !
Anmerkung zu den Parametern „LastValues“ und „LastPersonID“ :
Die durch „LastValues“ angegebenen Werte müssen natürlich zu den in „OutputCharacteristicIDs“ angegebenen Ausgabemerkmalen korrespondieren ! Sind keine Ausgabemerkmale angegeben, werden die „PersonID“s ermittelt, die größer bzw. kleiner (je nach „Next“) als „LastPersonID“ sind. Letzter Parameter wird auch benötigt, wenn es MEHRERE Personen gibt, die die in „LastValues“ angegebenen Eigenschaften haben.
Anmerkung zur Sortierung (falls Eigenschaften ausgegeben werden) :
Obwohl alle Eigenschaften als „strings“ gespeichert sind, wird bei der Sortierung auf das zum Merkmal hinterlegte Format geachtet, d.h. handelt es sich bei den Eigenschaften z.B. um Datumsangaben, wird die Datums-Sortierung (und nicht die alphanumerische Sortierung) verwendet.
HTTP-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | person management |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
OutputCharacteristicIDs | Enthält (maximal 3) Elemente (durch '¶' getrennt) der Form „0“ | „1“ + <PersonCharacteristicID> Falls angegeben, werden zu den Personen Eigenschaften zu diesen Merkmalen ermittelt und das Ergebnis nach den Eigenschaften sortiert („0“ abst., „1“ aufst.) | varchar(255) | 3.5.0 | |
LastPersonID | 0 | Um „durch die Personendaten blättern“ zu können (mit „Next“ und „RowNumber“), wird der Datensatz der vorherigen „Seite“, sprich des vorherigen Aufrufs, benötigt. Dieser wird durch „LastPersonID“ und „LastValues“ repräsentiert. (siehe Beschreibung) | integer | 3.5.0 |
LastValues | NULL | Um „durch die Personendaten blättern“ zu können (mit „Next“ und „RowNumber“), wird der Datensatz der vorherigen „Seite“, sprich des vorherigen Aufrufs, benötigt. Dieser wird durch „LastPersonID“ und „LastValues“ repräsentiert. (siehe Beschreibung) | varchar(255) | 3.5.0 |
PersonTypeID | 1 | ID eines Personen-Typs, zu dem die vorhandenen Personen ausgegeben werden sollen | tinyint | 3.5.0 |
Next | 1 | Mit diesem Parameter und „RowNumber“ kann man „durch das Ergebnis blättern“ („0“ : rückwärts, „1“ : vorwärts)„, wobei „LastPersonID“ und „LastValues“ den Datensatz des vorherigen Aufrufs repräsentieren. | bit | 3.5.0 |
GroupID | NULL | ID einer Personen-Gruppe. Wenn angegeben, werden nur die Personen berücksichtigt, die dieser Gruppe angehören. | smallint | 3.5.0 |
RowNumber | 50 | Maximale Anzahl Datensätze, die zurückgegeben werden soll. Mit diesem Parameter und „Next“ kann man „durch das Ergebnis blättern“, wobei „LastPersonID“ und „LastValues“ den Datensatz des vorherigen Aufrufs repräsentieren. | tinyint | 3.5.0 |
SeparatorInLastValues | '¶' | Gibt an, durch welche Zeichenkette die Werte in „LastValues“ (falls angegeben) getrennt sind | varchar(4) | 5.5.0 |
Spaltenname | Beschreibung | SQL-Datentyp1) | ab Version |
---|---|---|---|
PersonID | ID einer Person des Typs „PersonTypeID“ | integer | 3.5.0 |
(parameterunabängige Sortierung)
Spaltenname | Beschreibung | SQL-Datentyp2) | ab Version |
---|---|---|---|
PersonID | ID einer Person des Typs „PersonTypeID“ | integer | 3.5.0 |
Value1 | Eigenschaft der Person „PersonID“ zu dem in „OutputCharacteristicIDs“ angegebenen Merkmal | varchar(100) | 3.5.0 |
wenn SortOrder1 = 1
wenn SortOrder1 = 0
Spaltenname | Beschreibung | SQL-Datentyp3) | ab Version |
---|---|---|---|
PersonID | ID einer Person des Typs „PersonTypeID“ | integer | 3.5.0 |
Value1 | Eigenschaft der Person „PersonID“ zum ERSTEN in „OutputCharacteristicIDs“ angegebenen Merkmal | varchar(100) | 3.5.0 |
Value2 | Eigenschaft der Person „PersonID“ zum ZWEITEN in „OutputCharacteristicIDs“ angegebenen Merkmal | varchar(100) | 3.5.0 |
wenn SortOrder1 = 1 und SortOrder2 = 1
wenn SortOrder1 = 0 und SortOrder2 = 1
wenn SortOrder1 = 0 und SortOrder2 = 0
wenn SortOrder1 = 1 und SortOrder2 = 0
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
PersonID | ID einer Person des Typs „PersonTypeID“ | integer | 3.5.0 |
Value1 | Eigenschaft der Person „PersonID“ zum ERSTEN in „OutputCharacteristicIDs“ angegebenen Merkmal | varchar(100) | 3.5.0 |
Value2 | Eigenschaft der Person „PersonID“ zum ZWEITEN in „OutputCharacteristicIDs“ angegebenen Merkmal | varchar(100) | 3.5.0 |
Value3 | Eigenschaft der Person „PersonID“ zum DRITTEN in „OutputCharacteristicIDs“ angegebenen Merkmal | varchar(100) | 3.5.0 |
wenn SortOrder1 = 1 und SortOrder2 = 1 und SortOrder3 = 1
wenn SortOrder1 = 0 und SortOrder2 = 1 und SortOrder3 = 1
wenn SortOrder1 = 0 und SortOrder2 = 0 und SortOrder3 = 1
wenn SortOrder1 = 0 und SortOrder2 = 1 und SortOrder3 = 0
wenn SortOrder1 = 0 und SortOrder2 = 0 und SortOrder3 = 0
wenn SortOrder1 = 1 und SortOrder2 = 0 und SortOrder3 = 1
wenn SortOrder1 = 1 und SortOrder2 = 1 und SortOrder3 = 0
wenn SortOrder1 = 1 und SortOrder2 = 0 und SortOrder3 = 0
Count | Ausgabeparameter, der die Anzahl ALLER Personen des Typs „PersonTypeID“ (evtl. : die der Gruppe „GroupID“ angehören) enthält |
Code | Beschreibung | Quelle 5) |
---|---|---|
-697 | Aktion kann nicht durchgeführt werden, da für ein Merkmal eine Zugriffsbeschränkung besteht | 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 |
-540 | Falsches Format | 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 |
-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] |
6.5.4 | 2013-04-29 | Anpassungen an aktuellen Code-Standard, u.a. wg. UTF8-Unterstützung |
6.5.2 | 2013-02-26 | Aufruf von „_pm_ParseOutputCharacIDList“ um Parameter „CheckAccessRestrForUserID“ erweitert, Änderungen zwecks UTF-8-Unterstützung, Vorbereitung des _StartProcedure-Calls und Aufruf hinsichtlich „SepArator-Parameter“ aktualisiert |
6.0.2 | 2011-06-08 | Fehler : Falsche (unvollständige) Ergebnismenge auf ASE15. Ursache : Sortierungs-Problem durch ein „deferred-update“ auf temporärer Tabelle [Grund : „NULL“-Spalte, Lösung : „NOT NULL“ und default-Wert] |
5.5.0 | 2008-01-07 | 1. Neuer Parameter „SeparatorInLastValues“ 2. Ausgabe via „print“ im Fehler-Fall “-500„, die nähere Informationen über die Ursache enthält 3. (interne Änderung :) Code-Verlagerung |
4.0.15 | 2004-07-30 | 1. „_mi_StartProcedure“, „_mi_FinishProcedure“ und „_mi_ChooseParamValueSeperator“ 2. „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn 3. Konsequente Fehlerbehandlung 4. Performance-Verbesserung bei der Wert-Ermittlung von „Count“ |
4.0.0 | 2003-04-03 | 1. Es waren doch wahrhaftig noch Testausgaben in einigen Fällen vorhanden ! 2. Performance-Optimierung durch „set forceplan“ (für den „optimizer“) 3. Fehler in der Doku behoben |
3.5.19 | 2002-06-17 | |
3.5.16 | 2002-04-25 | |
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_GetPersons_Ad?OutputCharacteristicIDs=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/pm_GetPersons_Ad?OutputCharacteristicIDs=<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_GetPersons_Ad', array( 'OutputCharacteristicIDs' => '<value>', // 'LastPersonID' => 0, // 'LastValues' => NULL, // 'PersonTypeID' => 1, // 'Next' => 1, // 'GroupID' => NULL, // 'RowNumber' => 50, // 'SeparatorInLastValues' => '¶' ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray(); $OutputParams = $xml_result->getOutputParametersAsArray();
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_GetPersons_Ad"> <Parameters> <Parameter Name="OutputCharacteristicIDs"><!-- varchar value --></Parameter> <!-- <Parameter Name="LastPersonID">0</Parameter> --> <!-- <Parameter Name="LastValues">NULL</Parameter> --> <!-- <Parameter Name="PersonTypeID">1</Parameter> --> <!-- <Parameter Name="Next">1</Parameter> --> <!-- <Parameter Name="GroupID">NULL</Parameter> --> <!-- <Parameter Name="RowNumber">50</Parameter> --> <!-- <Parameter Name="SeparatorInLastValues">'¶'</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>