Ermittelt untergeordnete Elemente von Elementen im „Anwendungs-Baum“. Damit ist die hierarchische Struktur von Teilen einer registrierten „dStore-Anwendung“ (s. mi_GetApplications_Ad bzw. mi_GetApplicationParts_Pu) gemeint.
Der „Anwendungs-Baum“ ist immer Benutzer-abhängig, d.h. die Elemente sind immer für eine bestimmte „UserID“ definiert. Per Default ermittelt die Prozedur nur die Elemente, die für den Benutzer definiert sind, der diese Prozedur aufruft. Es können aber zusätzlich oder auch nur die sogenannten „globalen“ Elemente ermittelt werden, s. Parameter „GetPartsTreeForGlobalUser“.
Hinweis : Hat/Haben die übergebene(n) „ApplicationPartTreeID(s)“ keine untergeordneten Elemente, ist/sind sie
auch nicht in der Ergebnismenge ! Analog kann im Fall „IDsInOneID = 2“ eine übergebene
„ApplicationPartID“ nicht in der Ergebnismenge sein.
HTTP-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | miscellaneous |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
ApplicationPartTreeID | D eines Elementes im „Anwendungs-Baum“. Wird nur beachtet, wenn „GetRootPartsForApplicationID“ und „IDsInOneID“ „0“ sind (dann muß aber ein Wert angegeben sein) ! Es werden alle direkt untergeordneten Anwendungs-Teile („Nachfolger-Elemente“) ermittelt. | integer | 4.0.12 | |
GetRootPartsForApplicationID | NULL | ID eines Anwendungs-Teils. Falls angegeben werden alle „Wurzel“-Elemente (Elemente, die keinen bzw. sich selbst als Vorgänger besitzen) mit diesem zugehörigen Anwendungs-Teil ermittelt. („ApplicationPartTreeID“ und „IDsInOneID“ werden dann ignoriert.) | smallint | 4.0.12 |
IDsInOneID | 0 | Wird nur im Fall „GetRootPartsForApplicationID = NULL“ beachtet ! In „tempdb.dbo.OneID“ werden… „1“ : „ApplicationPartTreeID“s erwartet „2“ : „ApplicationPartID“s erwartet, zu denen die Positionen im Anwendungs-Baum ermittelt werden sollen | tinyint | 4.0.12 |
ReturnResultSet | 1 | „0“ : Es wird keine Ergebnismenge ausgegeben (siehe „OutputInto…“-Parameter) „1“, „2“ : Es wird eine Ergebnismenge ausgegeben, wobei bei „2“ einige zusätzliche Informationen geliefert werden (s. Doku der Rückgabemenge) | tinyint | 4.0.12 |
GetPartsTreeForGlobalUser | 0 | „0“ : Nur Elemente des Benutzers, der diese Prozedur aufruft, beachten „1“ : Auch „global“ definierte Elemente berücksichtigen „2“ : NUR „global“ definierte Elemente beachten (s. a. Beschreibung !) | tinyint | 4.0.12 |
OutputIntoOneID | 0 | „1“ : Die Nachfolger-Elemente („SuccessorApplicPartTreeID“) werden in „tempdb.dbo.OneID“ eingefügt „2“ : Die zugehörigen Anwendungs-Teile der Nachfolger-Elemente („SuccessorApplicationPartID“s) werden in „tempdb.dbo.OneID“ eingetragen | tinyint | 4.0.12 |
OutputIntoTwoIDs | 0 | Setzt man diesen Parameter auf „1“ werden die Nachfolger-Elemente mit ihren jeweils zugehörigen Anwendungs-Teilen in „tempdb.dbo.TwoID“s eingefügt („SuccessorApplicPartTreeID“s in „ID1“, „SuccessorApplicationPartID“s in „ID2“) | bit | 4.0.12 |
MaxTreeLevel | 0 | Steuert, wie „tief“ der ermittelte Baum sein soll : * „0“ : Nur direkte Nachfolger * „1“ : Direkte Nachfolger und ihre direkten Nachfolger usw. Hinweis : „NULL“ und „255“ führen dazu, daß die maximale Tiefe „255“ ist (mehr wird nicht unterstützt) ! | tinyint | 5.5.2 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
TreeLevel | Auf welcher Ebene/Tiefe des „Baums“ (der sich aus der gesamten Ergebnismenge ergibt) sich das Element „ApplicationPartTreeID“ befindet (mit „0“ angefangen) | tinyint | 5.5.2 |
ApplicationPartTreeID | ID eines Elementes im „Anwendungs-Baum“ - „NULL“, falls „SuccessorApplicationPartTreeID“ ein „Wurzel“-Element ist (also immer wenn „GetRootPartsForApplicationID“ angegeben wurde oder evtl. falls „IDsInOneID = 2“ ist) | integer | 4.0.12 |
UserID | ID eines „dStore“-Benutzers, der in „UserInfo“ registriert ist und zu dem „SuccessorApplicPartTreeID“ gehört („-1“ bedeutet, daß es sich um ein „globales“ Nachfolger-Element handelt) | smallint | 4.0.12 |
SuccessorApplicPartTreeID | ID eines Elementes im „Anwendungs-Baum“ (zur „UserID“ gehörend), das auf den Anwendungs-Teil „SuccessorApplicationPartID“ verweist und Nachfolger des Elementes „ApplicationPartTreeID“ ist | integer | 4.0.12 |
HasSuccessors | Gibt an, ob „SuccessorApplicPartTreeID“ wiederum Nachfolger-Elemente besitzt („1“) oder nicht („0“). Immer „0“, falls „ReturnResultSet = 1“ ist ! | tinyint | 4.0.12 |
SuccessorApplicationPartID | ID des zu „SuccessorApplicPartTreeID“ zugehörigen Anwendungs-Teils. Im Fall „IDsInOneID = 2“ handelt es sich hier um eine der in „tempdb.dbo.OneID“ übergebenen „ApplicationPartID“s. | integer | 4.0.12 |
SuccessorApplicationPart | Bezeichnung des Anwendungs-Teils „SuccessorApplicationPartID“ | varchar(250) | 4.0.12 |
(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.5.2 | 2008-10-21 | 1. Auslagerung des Codes in diverse Unter-Prozeduren 2. Anpassung des Quell-Codes an den aktuellen Standard 3. Neuer Parameter „MaxTreeLevel“ 4. Neue Rückgabespalten „TreeLevel“ und „UserName“ |
4.0.12 | 2004-04-30 | 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/mi_GetApplicationPartsTree_Pu?ApplicationPartTreeID=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetApplicationPartsTree_Pu?ApplicationPartTreeID=<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'), 'mi_GetApplicationPartsTree_Pu', array( 'ApplicationPartTreeID' => <value>, // 'GetRootPartsForApplicationID' => NULL, // 'IDsInOneID' => 0, // 'ReturnResultSet' => 1, // 'GetPartsTreeForGlobalUser' => 0, // 'OutputIntoOneID' => 0, // 'OutputIntoTwoIDs' => 0, // 'MaxTreeLevel' => 0 ) ); $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="mi_GetApplicationPartsTree_Pu"> <Parameters> <Parameter Name="ApplicationPartTreeID"><!-- integer value --></Parameter> <!-- <Parameter Name="GetRootPartsForApplicationID">NULL</Parameter> --> <!-- <Parameter Name="IDsInOneID">0</Parameter> --> <!-- <Parameter Name="ReturnResultSet">1</Parameter> --> <!-- <Parameter Name="GetPartsTreeForGlobalUser">0</Parameter> --> <!-- <Parameter Name="OutputIntoOneID">0</Parameter> --> <!-- <Parameter Name="OutputIntoTwoIDs">0</Parameter> --> <!-- <Parameter Name="MaxTreeLevel">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>