Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
— |
engine:procedures:mi_getapppartstreesettings_ad [11.01.2016 ] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ===== mi_GetAppPartsTreeSettings_Ad ===== | ||
+ | |||
+ | Ermittelt Einstellungen zu Elementen im "Anwendungs-Baum".\\ | ||
+ | |||
+ | |||
+ | |||
+ | 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-Method|GET | | ||
+ | |HTTP-Auth|Optional | | ||
+ | |Alias|mi_GetApplicationPartsTreeSettings_Ad | | ||
+ | |Tags|{{tag>[mi Get Application Parts Tree Settings Ad]}}| | ||
+ | |Engine-Kategorie|basics | | ||
+ | |Engine-Typ|Daten-Ermittlung | | ||
+ | |Letzte Aktualisierung|7.0.7 (2015-01-29)| | ||
+ | |||
+ | ==== Parameter ==== | ||
+ | |||
+ | ^Name ((Pflichtparameter sind unterstrichen)) ^Standard-Wert ^Beschreibung ((siehe [[webservice:engine_parameterconventions|Parameter-Konventionen engine/<Prozedur-Name>]])) ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^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 [[dstoreproc>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| | ||
+ | ==== Rückgabe ==== | ||
+ | |||
+ | === (parameterunabhängig) === | ||
+ | |||
+ | ^Spaltenname ^Beschreibung ^SQL-Datentyp((siehe [[:webservice:engine_datatypes|Datentypen im Bereich "engine"]])) ^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 | | ||
+ | |||
+ | == 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 ((direkt meint "von der Prozedur selber" und indirekt meint "von intern aufgerufenen Unterprozeduren")) ^ | ||
+ | |-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| | ||
+ | ==== XML-Schema ==== | ||
+ | |||
+ | Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema [[http://resources.dstore.de/xsd/webservice_SmartGate/Response/EngineProcedure_v1_0.xsd|Response/EngineProcedure_v1_0.xsd]] validiert. | ||
+ | ==== Historie ==== | ||
+ | |||
+ | |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\\ | | ||
+ | |||
+ | ==== Code-Snippets ==== | ||
+ | |||
+ | == Engine Playground == | ||
+ | Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist: | ||
+ | * [[http://playground.dstore.de/index.php?proc=mi_GetAppPartsTreeSettings_Ad|mi_GetAppPartsTreeSettings_Ad im Engine Playground öffnen]] | ||
+ | == cURL == | ||
+ | Unformatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetAppPartsTreeSettings_Ad?ApplicationPartTreeID=<value>'</code>Mit xmllint ((I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org)) formatierte Ausgabe: | ||
+ | <code bash> | ||
+ | curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetAppPartsTreeSettings_Ad?ApplicationPartTreeID=<value>' | xmllint --format -</code>== dStore_php == | ||
+ | <code 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_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(); | ||
+ | |||
+ | </code> | ||
+ | == engine/execute == | ||
+ | XML zur Ausführung mit der Methode [[:webservice:engine:execute|engine/execute]], z.B. per | ||
+ | curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>' | ||
+ | |||
+ | <code xml> | ||
+ | <?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></code> | ||