Gibt zu einem „dStore“-Benutzer und einem bestimmten Personen-Typ die Merkmale zurück, zu denen in einer Ausgabe-Liste von Personen die jeweiligen Eigenschaften ermittelt werden sollen (siehe z.B. pm_GetPersons_Conditions_Ad).
Hintergrund :
Im Regelfall wird eine Menge von Personen in der Frontend-Applikation so ausgegeben, daß in einem Bereich die (gefundenen) Personen in Listenform aufgeführt sind. Nun ist es wenig hilfreich, wenn in der Liste etwa nur eine „PersonID“ steht; besser ist es, z.B. zumindest den „Namen“ und den „Vornamen“ anzuzeigen (oder Eigenschaften zu anderen Merkmalen, die aber aussagekräftiger sind als die „PersonID“), und natürlich nach diesen Eigenschaften die Datensätze zu sortieren.
Hinweis :
Falls eines der Merkmale für den Benutzer, der diese Prozedur aufruft, komplett lesend gesperrt ist (s. Rückgabespalten „AccessRestriction“ und „ReadAccessRestrictionPattern“ von pm_GetPChAccRestrForUsers_Ad), gibt es einen Fehler !
Anmerkung zum Parameter „UserID“ :
Die Konfiguration, welche Merkmale pro Personen-Typ bei der Anzeige von Personen-Listen herangezogen werden sollen, ist ausschließlich global in „PersonTypeSettings“ pro „PersonTypeID“ zum Schlüssel „PersonOutputCharacteristics“ hinterlegt.
Daher wird der Parameter IGNORIERT !
Anmerkung zum Ausgabeparameter „OutputCharacteristicIDs“ :
Der Wert, der über den Ausgabeparameter „OutputCharacteristicIDs“ zurückgegeben wird, enthält ein oder mehrere Element(e) (durch „¶“ getrennt), wobei jedes Element so aufgebaut ist :
Das erste Zeichen bestimmt die Sortierreihenfolge : „0“ bedeutet absteigende Sortierung, „1“ aufsteigende Sortierung. Danach
folgt die „ID“ eines Personen-Merkmals. D.h. der Wert im Ausgabeparameter hat diese Form :
„<SortOrder><CharacteristicID>¶<SortOrder><CharacteristicID>…„
Möchte man NUR eine Liste der Merkmal-IDs bekommen, setzt man „SortOrderInfoInOutputParam“ auf „0“.
HTTP-Method | GET |
HTTP-Auth | Optional |
Alias | pm_GetPersonOutputCharacteristics_Ad |
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 |
---|---|---|---|---|
UserID | -1 | Parameter wird IGNORIERT ! (s. Beschreibung) | smallint | 3.5.0 |
PersonTypeID | 1 | ID eines Personen-Typs | tinyint | 3.5.0 |
SelectResult | 1 | Das Ergebnis wird immer im Ausgabeparameter „OutputCharacteristicIDs“ gespeichert. Möchte man ZUSÄTZLICH eine Ergebnismenge, ist hier „1“ anzugeben. | bit | 5.1.10 |
SortOrderInfoInOutputParam | 1 | Möchte man im Ausgabeparameter „OutputCharacteristicIDs“ NUR eine Liste der Merkmal-IDs bekommen (also OHNE die Sortierungs-Information, s.a. Beschreibung), ist hier „0“ anzugeben. | bit | 5.1.10 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
Position5) | Wird nicht ausgegeben, sondern nur zur Sortierung verwendet. Gibt an, an wievielter Stelle „CharacteristicID“ in der Liste zum Schlüssel „PersonOutputCharacteristics_Type_Type<PersonTypeID>“ in „Settings“ (für „UserID“ bzw. „UserID = -1“) angegeben ist. | tinyint | 3.5.0 |
CharacteristicID | ID eines Personen-Merkmals, das im „PersonTypeSettings“- bzw. „Settings“-Eintrag (je nach „UserID“, s. Beschreibung) zum Schlüssel „PersonOutputCharacteristics“ für „PersonTypeID“ bzw. „PersonOutputCharacteristics_Type<PersonTypeID>“ eingetragen ist | smallint | 3.5.0 |
CharacteristicDescription | Bezeichnung des Personen-Merkmals „CharacteristicID“ | varchar(100) | 3.5.0 |
SortOrder | Gibt an, wie nach den Eigenschaften zu „CharacteristicID“ sortiert werden soll : - „0“ : Absteigend - „1“ : Aufsteigend Anmerkung : Diese Information wird im „dStore“ selbst nirgends verwendet | bit | 3.5.0 |
ColumnWidth | Breite der Spalte (für die Darstellung in der Frontend-Applikation) für die Eigenschaften zum Merkmal „CharacteristicID“ der Personen, die dargestellt werden | tinyint | 3.5.0 |
(parameterunabängige Sortierung)
OutputCharacteristicIDs | Ausgabeparameter, der nach dem Aufruf die in „PersonTypeSettings“ konfigurierten Merkmal-IDs für den durch „PersonTypeID“ angegebenen Personen-Typ enthält. Wie diese Information enthalten (im Sinne von „formatiert“) ist : s. Beschreibung ! |
Code | Beschreibung | Quelle 6) |
---|---|---|
-697 | Aktion kann nicht durchgeführt werden, da für ein Merkmal eine Zugriffsbeschränkung besteht | nur direkt |
-621 | Fehlender oder falscher Eintrag in PersonTypeSettings | nur indirekt |
-620 | Es konnten keine Ausgabemerkmale ermittelt werden | nur direkt |
-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 | direkt und indirekt |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | nur 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.2 | 2013-02-26 | 1. 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 |
5.1.10 | 2007-03-12 | 1. Neue Parameter „SelectResult“ und „SortOrderInfoInOutputParam“ 2. Ab jetzt wird der Parameter „UserID“ ignoriert 3. Interne Umstellung von „_mi_ExtractValueFromList“ auf „_mi_ExtractFirstValueFromList“ 4. Überarbeitung der Doku |
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.5 | 2003-10-04 | 1. Verlagerung diverser „Settings“-Einträge auf entsprechende „PersonTypeSettings“-Einträge 2. Überarbeitung der Doku |
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_GetPersonOutputCharacs_Ad'
Mit xmllint 7) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/pm_GetPersonOutputCharacs_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_GetPersonOutputCharacs_Ad', array( // 'UserID' => -1, // 'PersonTypeID' => 1, // 'SelectResult' => 1, // 'SortOrderInfoInOutputParam' => 1 ) ); $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_GetPersonOutputCharacs_Ad"> <Parameters> <!-- <Parameter Name="UserID">-1</Parameter> --> <!-- <Parameter Name="PersonTypeID">1</Parameter> --> <!-- <Parameter Name="SelectResult">1</Parameter> --> <!-- <Parameter Name="SortOrderInfoInOutputParam">1</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>