Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: source

engine:procedures:mi_getapppartstreesettings_pu

mi_GetAppPartsTreeSettings_Pu

Ermittelt Einstellungen zu Elementen im „Anwendungs-Baum“, die zu dem Benutzer, der diese Prozedur aufruft, gespeichert sind.

Allgemeine Hinweise bzgl. Einstellungen :

  • Es gibt globale Einstellungen für Anwendungs-Teile („ApplicationPartID“ zur „UserID = -1“)
  • Eine Benutzer-abhängige Einstellung eines Anwendungs-Teils „überschreibt“ die entsprechende globale Einstellung („ApplicationPartID“ zu einer bestimmten „UserID <> -1“)
  • Es gibt globale Einstellungen für Elemente im Anwendungs-Baum. Eine solche Einstellung überschreibt die entsprechende Einstellung des zugehörigen Anwendungs-Teils - egal ob global oder Benutzer-abhängig („ApplicationPartTreeID“ zur „UserID = -1“)
  • Und schließlich können Benutzer-abhängige Einstellungen zu Elementen im Anwendungs-Baum gespeichert werden, die alle anderen entsprechenden Einstellungen überschreiben („ApplicationPartTreeID“ zu einer bestimmten „UserID <> -1“)

Anmerkung zum Parameter „IDsInTwoIDs“ :
Die Möglichkeit, IDs über „tempdb.dbo.TwoID“s anzugeben, besteht aus Performance-Gründen, d.h. es wird nicht überprüft, ob die jeweiligen „ApplicationPartID“s auch zu den „ApplicationPartTreeID“s passen !
Außerdem wird in diesem Fall „GetValuesForCorrespondingPart“ nicht beachtet, bzw. so behandelt, als ob „1“ angegeben wäre ! (Sonst würde diese Übergabe von IDs ja auch keine Sinn machen…)

HTTP-MethodGET
HTTP-AuthOptional
Aliasmi_GetApplicationPartsTreeSettings_Pu
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 ID eines Elementes im „Anwendungs-Baum“. Bei Angabe von „NULL“ erwartet die Prozedur „ApplicationPartTreeID“s in „tempdb.dbo.OneID“ bzw. (falls „IDsInTwoIDs = 1“) in „tempdb.dbo.TwoIDs“ mit jeweils zugehörigen „ApplicationPartID“s.
integer4.0.12
KeyVariableNULL Name eines Schlüssels, zu dem der für den Benutzer der diese Prozedur aufruft (bzw. für den „globalen“ Benutzer) hinterlegte Wert zurückgegeben werden soll. „NULL“ angeben, um die Werte zu ALLEN hinterlegten Schlüsseln zu bekommen.
varchar(100)4.0.12
SearchForKeyVariableWithLike0 „0“ : Den Datensatz ausgeben, für den „KeyVariable = KeyVariable“ gilt
„1“ : Die Datensätze ausgeben, für die „KeyVariable LIKE KeyVariable“ gilt (s. a. Beschreibung !)
bit4.0.12
GetValuesForGlobalUser1 „0“ : Nur Einstellungen des Benutzers, der diese Prozedur aufruft, beachten
„1“ : Auch „global“ definierte Einstellungen berücksichtigen
„2“ : NUR „global“ definierte Einstellungen beachten
(s. a. Beschreibung !)
tinyint4.0.12
GetValuesForCorrespondingPart1 Es werden automatisch Einstellungen des jeweils zugehörigen Anwendungs-Teils (nur zu bei der jeweiligen „ApplicationPartTreeID“ NICHT vorhanden Schlüsseln) ermittelt, es sei denn, man übergibt hier „0“ (s. a. allgem. Hinweise in der Beschreibung !)
bit4.0.12
IDsInTwoIDs0 Wird nur beachtet, wenn „ApplicationPartTreeID = NULL“ ist. Gibt man „1“ an, werden in „tempdb.dbo.TwoIDs“ „ApplicationPartTreeID“s (in „ID1“) mit jeweils zugehöriger „ApplicationPartID“ (in „ID2“) erwartet. (s.a. Beschreibung !)
bit4.0.12

Rückgabe

(parameterunabhängig)

Spaltenname Beschreibung SQL-Datentyp4) ab Version
ApplicationPartTreeIDID eines Elementes im „Anwendungs-Baum“, für das die Einstellung „Value“ zum Schlüssel „KeyVariable“ gilt
integer4.0.12
KeyVariableEin Schlüssel, zu dem der Wert „Value“ für den Benutzer, der diese Prozedur aufruft (bzw. für den „globalen“ Benutzer) hinterlegt ist
varchar(100)4.0.12
ValueDer Wert, der für „ApplicationPartTreeID“ zum Schlüssel „KeyVariable“ für den Benutzer, der diese Prozedur aufruft (bzw. für den „globalen“ Benutzer) hinterlegt ist
varchar(3500)4.0.12
ValueDerivedFromGlobalUser„1“, falls die Einstellung nicht direkt zum Benutzer, der die Prozedur aufruft gespeichert ist, sondern zur „UserID = -1“ (also „global“ festgelegt ist). Immer „0“, wenn „GetValuesForGlobalUser = 0“ ist !
bit4.0.12
ValueDerivedFromAppPartID„1“, falls die Einstellung nicht direkt zur „ApplicationPartTreeID“ hinterlegt ist, sonder zum zugehörigen Anwendungs-Teil. Immer „0“, wenn „GetValuesForCorrespondingPart = 0“ und „IDsInTwoIDs = 0“ ist !
bit4.0.12
Sortierung der Rückgabe

(parameterunabängige Sortierung)

  • ApplicationPartTreeID (aufsteigend)
  • KeyVariable (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
-502Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen)nur 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]
7.0.5 2014-05-26Doku angepasst. Rückgabespalte „Value“ hat nun als Datentyp „varchar[3500]“ und Datentyp der temporären Tabelle für diese
Spalte entsprechend erweitert
6.5.3 2013-03-18Anpassungen an den aktuellen Quellcode-Standard, u.a. wg. UTF8-Unterstützung
6.0.0 2010-03-26Fehler im Fall „ApplicationPartTreeID is NULL“ und „IDsInTwoIDs = 1“ und „GetValuesForGlobalUser = 1“ : Evtl. vorhandene „ApplicationPartSettings“ wurden (aufgrund eines falschen „joins“) falsch ermittelt
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_GetAppPartsTreeSettings_Pu?ApplicationPartTreeID=<value>'

Mit xmllint 6) formatierte Ausgabe:

curl -X GET  'http://<partner>-<project>.dstore.de/default/engine/mi_GetAppPartsTreeSettings_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_GetAppPartsTreeSettings_Pu',
		array(
			'ApplicationPartTreeID' => <value>,
			// 'KeyVariable' => NULL,
			// 'SearchForKeyVariableWithLike' => 0,
			// 'GetValuesForGlobalUser' => 1,
			// 'GetValuesForCorrespondingPart' => 1,
			// 'IDsInTwoIDs' => 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_GetAppPartsTreeSettings_Pu">
			<Parameters>
				<Parameter Name="ApplicationPartTreeID"><!-- integer value --></Parameter>
				<!-- <Parameter Name="KeyVariable">NULL</Parameter> -->
				<!-- <Parameter Name="SearchForKeyVariableWithLike">0</Parameter> -->
				<!-- <Parameter Name="GetValuesForGlobalUser">1</Parameter> -->
				<!-- <Parameter Name="GetValuesForCorrespondingPart">1</Parameter> -->
				<!-- <Parameter Name="IDsInTwoIDs">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_getapppartstreesettings_pu.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)