Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: source

engine:procedures:mi_getapplicationpartstree_ad

mi_GetApplicationPartsTree_Ad

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

Parameter

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.
integer4.0.8
GetRootApplicationParts0 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)
bit4.0.8
IDsInOneID0 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
tinyint4.0.8
UserIDNULL 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
smallint4.0.8
GetTreeForUserIDNULL 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.
smallint4.0.8
ReturnResultSet1 „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)
tinyint4.0.8
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.8
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.8
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
GetRootPartsForApplicationIDNULL Wird nur beachtet, wenn „GetRootApplicationParts“ angegeben ist ! Falls angegeben, werden nur die „Wurzel“-Elementen dieser Anwendung ermittelt.
smallint5.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 im Fall „GetRootApplicationParts = 1“ und evtl. falls „IDsInOneID = 2“ ist)
integer4.0.8
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.8
UserNameName des Benutzers „UserID“. Immer „NULL“, falls „ReturnResultSet = 1“ ist !
varchar(50)4.0.8
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.8
HasSuccessorsGibt an, ob „SuccessorApplicPartTreeID“ wiederum Nachfolger-Elemente besitzt („1“) oder nicht („0“). Immer „0“, falls „ReturnResultSet = 1“ ist !
tinyint4.0.8
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.8
SuccessorApplicationPartBezeichnung des Anwendungs-Teils „SuccessorApplicationPartID“
varchar(250)4.0.8
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. Neue Parameter „MaxTreeLevel“ und „GetRootPartsForApplicationID“
4. Neue Rückgabespalte „TreeLevel“
4.0.10 2004-03-15Fehlende Fehlerbehandlung in einem Fall
4.0.9 2004-03-03Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur
4.0.8 2004-02-20Erstmalig 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_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 -
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_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();
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_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>
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_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)