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_Ad) gemeint.
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 | basics |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
ApplicationPartTreeID | ID eines Elementes im „Anwendungs-Baum“. Wird nur beachtet, wenn „GetRootApplicationParts = 0“ und „IDsInOneID = 0“ ist (dann muß aber ein Wert angegeben sein) ! Es werden alle direkt untergeordneten Anwendungs-Teile („Nachfolger-Elemente“) ermittelt. | integer | 4.0.8 | |
GetRootApplicationParts | 0 | Möchte man alle „Wurzel“-Elemente bekommen, also die Teile, die keinen übergeordneten Anwendungs-Teil besitzen, übergibt man hier „1“ („ApplicationPartTreeID“ und „IDsInOneID“ werden dann ignoriert) | bit | 4.0.8 |
IDsInOneID | 0 | Wird nur im Fall „GetRootApplicationParts = 0“ 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.8 |
UserID | NULL | ID eines in „UserInfo“ registrierten „dStore“-Benutzers. Bei „NULL“ werden die „globalen“ Nachfolger-Elemente und die des Benutzers, der die Prozedur aufruft, beachtet, sonst nur die des angegebenen Benutzers. „-2“ : Keine Einschr. bzgl. Benutzer | smallint | 4.0.8 |
GetTreeForUserID | NULL | ID eines in „UserInfo“ registrierten „dStore“-Benutzers. Falls angegeben, wird „UserID“ ignoriert und es werden die Nachfolger-Elemente des hierdurch angegebenen Benutzers sowie die „globalen“ Elemente berücksichtigt. | smallint | 4.0.8 |
ReturnResultSet | 1 | „0“ : Es wird keine Ergebnismenge ausgegeben „1“, „2“ : Es wird eine Ergebnismenge ausgegeben, wobei bei „2“ einige zusätzliche Informationen geliefert werden (s. Doku der Rückgabemenge) | tinyint | 4.0.8 |
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.8 |
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.8 |
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 |
GetRootPartsForApplicationID | NULL | Wird nur beachtet, wenn „GetRootApplicationParts“ angegeben ist ! Falls angegeben, werden nur die „Wurzel“-Elementen dieser Anwendung ermittelt. | smallint | 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 im Fall „GetRootApplicationParts = 1“ und evtl. falls „IDsInOneID = 2“ ist) | integer | 4.0.8 |
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.8 |
UserName | Name des Benutzers „UserID“. Immer „NULL“, falls „ReturnResultSet = 1“ ist ! | varchar(50) | 4.0.8 |
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.8 |
HasSuccessors | Gibt an, ob „SuccessorApplicPartTreeID“ wiederum Nachfolger-Elemente besitzt („1“) oder nicht („0“). Immer „0“, falls „ReturnResultSet = 1“ ist ! | tinyint | 4.0.8 |
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.8 |
SuccessorApplicationPart | Bezeichnung des Anwendungs-Teils „SuccessorApplicationPartID“ | varchar(250) | 4.0.8 |
(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. Neue Parameter „MaxTreeLevel“ und „GetRootPartsForApplicationID“ 4. Neue Rückgabespalte „TreeLevel“ |
4.0.10 | 2004-03-15 | Fehlende Fehlerbehandlung in einem Fall |
4.0.9 | 2004-03-03 | Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur |
4.0.8 | 2004-02-20 | 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_Ad?ApplicationPartTreeID=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetApplicationPartsTree_Ad?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_Ad', array( 'ApplicationPartTreeID' => <value>, // 'GetRootApplicationParts' => 0, // 'IDsInOneID' => 0, // 'UserID' => NULL, // 'GetTreeForUserID' => NULL, // 'ReturnResultSet' => 1, // 'OutputIntoOneID' => 0, // 'OutputIntoTwoIDs' => 0, // 'MaxTreeLevel' => 0, // 'GetRootPartsForApplicationID' => NULL ) ); $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_Ad"> <Parameters> <Parameter Name="ApplicationPartTreeID"><!-- integer value --></Parameter> <!-- <Parameter Name="GetRootApplicationParts">0</Parameter> --> <!-- <Parameter Name="IDsInOneID">0</Parameter> --> <!-- <Parameter Name="UserID">NULL</Parameter> --> <!-- <Parameter Name="GetTreeForUserID">NULL</Parameter> --> <!-- <Parameter Name="ReturnResultSet">1</Parameter> --> <!-- <Parameter Name="OutputIntoOneID">0</Parameter> --> <!-- <Parameter Name="OutputIntoTwoIDs">0</Parameter> --> <!-- <Parameter Name="MaxTreeLevel">0</Parameter> --> <!-- <Parameter Name="GetRootPartsForApplicationID">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>