Benutzer-Werkzeuge

Webseiten-Werkzeuge


engine:procedures:mi_getapplicationpartstree_pu

mi_GetApplicationPartsTree_Pu

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-MethodGET
HTTP-AuthOptional
Tags
Engine-Kategoriemiscellaneous
Engine-TypDaten-Ermittlung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

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.
integer4.0.12
GetRootPartsForApplicationIDNULL 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.)
smallint4.0.12
IDsInOneID0 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
tinyint4.0.12
ReturnResultSet1 „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)
tinyint4.0.12
GetPartsTreeForGlobalUser0 „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 !)
tinyint4.0.12
OutputIntoOneID0 „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
tinyint4.0.12
OutputIntoTwoIDs0 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“)
bit4.0.12
MaxTreeLevel0 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) !
tinyint5.5.2

Rückgabe

wenn ReturnResultSet > 0

Spaltenname Beschreibung SQL-Datentyp4) ab Version
TreeLevelAuf welcher Ebene/Tiefe des „Baums“ (der sich aus der gesamten Ergebnismenge ergibt) sich das Element „ApplicationPartTreeID“ befindet (mit „0“ angefangen)
tinyint5.5.2
ApplicationPartTreeIDID eines Elementes im „Anwendungs-Baum“ - „NULL“, falls „SuccessorApplicationPartTreeID“ ein „Wurzel“-Element ist (also immer wenn „GetRootPartsForApplicationID“ angegeben wurde oder evtl. falls „IDsInOneID = 2“ ist)
integer4.0.12
UserIDID 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)
smallint4.0.12
SuccessorApplicPartTreeIDID eines Elementes im „Anwendungs-Baum“ (zur „UserID“ gehörend), das auf den Anwendungs-Teil „SuccessorApplicationPartID“ verweist und Nachfolger des Elementes „ApplicationPartTreeID“ ist
integer4.0.12
HasSuccessorsGibt an, ob „SuccessorApplicPartTreeID“ wiederum Nachfolger-Elemente besitzt („1“) oder nicht („0“). Immer „0“, falls „ReturnResultSet = 1“ ist !
tinyint4.0.12
SuccessorApplicationPartIDID 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.
integer4.0.12
SuccessorApplicationPartBezeichnung des Anwendungs-Teils „SuccessorApplicationPartID“
varchar(250)4.0.12
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • TreeLevel (aufsteigend)
  • ApplicationPartTreeID (aufsteigend)
  • UserID (aufsteigend)
  • SuccessorApplicationPart (aufsteigend)

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 5)
-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 abgebrochennur 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]
5.5.2 2008-10-211. 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-30Erstmalig 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/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 -
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'),
	'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();
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="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>
1)
Pflichtparameter sind unterstrichen
5)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
6)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/mi_getapplicationpartstree_pu.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)