Ermittelt Einstellungen zu Elementen im „Anwendungs-Baum“.
Allgemeine Hinweise bzgl. Einstellungen :
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-Method | GET |
HTTP-Auth | Optional |
Alias | mi_GetApplicationPartsTreeSettings_Ad |
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“. 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. | integer | 4.0.8 | |
UserID | NULL | ID eines „dStore“-Benutzers, der in „UserInfo“ registriert ist (siehe mi_GetUserInfo_Ad). Falls angegeben, werden nur die Einstellungen dieses Benutzers ausgegeben, sonst die des Benutzers, der die Prozedur aufruft. | smallint | 4.0.8 |
KeyVariable | NULL | Name eines Schlüssels, zu dem der für den Benutzer „UserID“ (bzw. für den die Prozedur aufrufenden Benutzer) hinterlegte Wert zurückgegeben werden soll. „NULL“ angeben, um die Werte zu ALLEN hinterlegten Schlüsseln zu bekommen. | varchar(100) | 4.0.8 |
SearchForKeyVariableWithLike | 0 | Wird nur beachtet, wenn „KeyVariable“ nicht „NULL“ ist. Auf „1“ setzen, um die Werte zu allen Schlüsseln ermitteln zu lassen, die WIE „KeyVariable“ aussehen (gesucht wird mit „LIKE“, daher sind die T-SQL üblichen „wildcards“ „%“ und „_“ erlaubt). | bit | 4.0.8 |
IncludeValuesForGlobalUser | 1 | Ist zu einem Schlüssel kein Wert für den Benutzer angegeben, wird automatisch eine evtl. vorhandene Einstellung zur „UserID = -1“ (für „globale“ Einstellungen) ausgegeben, es sei denn, man übergibt hier „0“ | bit | 4.0.8 |
GetValuesForCorrespondingPart | 1 | 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 !) | bit | 4.0.8 |
IDsInTwoIDs | 0 | 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 !) | bit | 4.0.8 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
ApplicationPartTreeID | ID eines Elementes im „Anwendungs-Baum“, für das die Einstellung „Value“ zum Schlüssel „KeyVariable“ gilt | integer | 4.0.8 |
KeyVariable | Ein Schlüssel, zu dem der Wert „Value“ für den Benutzer „UserID“ (bzw. für den Benutzer, der Prozedur aufruft) hinterlegt ist | varchar(100) | 4.0.8 |
Value | Der Wert, der für „ApplicationPartTreeID“ zum Schlüssel „KeyVariable“ für den Benutzer „UserID“ (bzw. für den Benutzer, der die Prozedur aufruft) hinterlegt ist | varchar(3500) | 4.0.8 |
ValueDerivedFromGlobalUser | „1“, falls die Einstellung nicht direkt zur „UserID“ (bzw. zum Benutzer, der die Prozedur aufruft) gespeichert ist, sondern zur „UserID = -1“ (also „global“ festgelegt ist). Immer „0“, wenn „IncludeValuesForGlobalUser = 0“ ist ! | bit | 4.0.8 |
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 ! | bit | 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 |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | 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] |
7.0.5 | 2014-05-26 | Doku 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-18 | Interne Anpassungen wg. UTF8-Unterstützung |
6.0.7 | 2012-05-08 | 1. Fehler : Es wurde nicht beachtet, daß in „ApplicationPartSettings“ als „Value“ auch „NULL“ erlaubt ist 2. Anpassungen an den aktuellen Quellcode-Standard |
5.5.1 | 2008-07-29 | Da es hin und wieder zu Problemen mit dem automatischen „drop“en von temporären Tabellen durch den ASE kam, wurde ein explizites „DROP TABLE“ eingefügt |
5.5.0 | 2008-01-07 | Fehler im Fall „IDsInTwoIDs = 1“ : Falsche „ApplicationPartTreeID“-Angabe in der Rückgabemenge, falls über die zugehörige „ApplicationPartID“ eine Einstellung ermittelt wurde |
4.0.9 | 2004-03-03 | 1. Verwendung von „_mi_ChooseParamValueSeperator“ als Vorbereitung von „_mi_StartProcedure“ 2. 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_GetAppPartsTreeSettings_Ad?ApplicationPartTreeID=<value>'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetAppPartsTreeSettings_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_GetAppPartsTreeSettings_Ad', array( 'ApplicationPartTreeID' => <value>, // 'UserID' => NULL, // 'KeyVariable' => NULL, // 'SearchForKeyVariableWithLike' => 0, // 'IncludeValuesForGlobalUser' => 1, // 'GetValuesForCorrespondingPart' => 1, // 'IDsInTwoIDs' => 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_GetAppPartsTreeSettings_Ad"> <Parameters> <Parameter Name="ApplicationPartTreeID"><!-- integer value --></Parameter> <!-- <Parameter Name="UserID">NULL</Parameter> --> <!-- <Parameter Name="KeyVariable">NULL</Parameter> --> <!-- <Parameter Name="SearchForKeyVariableWithLike">0</Parameter> --> <!-- <Parameter Name="IncludeValuesForGlobalUser">1</Parameter> --> <!-- <Parameter Name="GetValuesForCorrespondingPart">1</Parameter> --> <!-- <Parameter Name="IDsInTwoIDs">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>