Erstellt, verschiebt oder löscht ein Element im „Anwendungs-Baum“. Damit ist die hierarchische Struktur von Teilen einer registrierten „dStore-Anwendung“ (s. mi_GetApplications_Ad bzw. mi_GetApplicationParts_Ad) gemeint.
Anmerkungen :
1.) Soll eine Element verschoben werden, d.h. soll „ApplicationPartTreeID“ als neuen Vorgänger das Element „PredecessorApplicPartTreeID“ bekommen, darf es sich bei dem neuen Vorgänger nicht etwa um ein Nachfolge-Element von „ApplicationPartTreeID“ handeln oder gar um das Element „ApplicationPartTreeID“ selbst (sonst gibt es den Fehler „-500“) !
2.) Außerdem ist es verboten, ein „root“-Element zu verschieben !
HTTP-Method | POST |
HTTP-Auth | Optional |
Alias | mi_ModifyApplicationPartsTree_Ad |
Tags | |
Engine-Kategorie | basics |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
UserID | NULL | ID eines in „UserInfo“ registrierten „dStore“-Benutzers. Bei „NULL“ wird der Benutzer, der die Prozedur aufruft, gewählt. Zu diesem Benutzer wird das neue Element angelegt, bzw. es wird überprüft, ob „PredecessorApplicPartTreeID“ diesem Benutzer gehört. | smallint | 4.0.8 |
ApplicationPartID | NULL | Wird nur im Fall „ApplicationPartTreeID = NULL“ benötigt - dann muß der Parameter aber auch angegeben sein ! ID eines Teils einer „dStore“-Anwendung, zu dem das neue Element im Anwendungs-Baum gehört. | integer | 4.0.8 |
PredecessorApplicPartTreeID | NULL | ID eines Elementes im „Anwendungs-Baum“. Beim Anlegen eines neuen Elementes ist dies der Vorgänger („NULL“ bedeutet, daß ein „Wurzel“-Element angelegt wird), beim Verschieben wird hierdurch der neue Vorgänger angegeben. (s. a. Beschreibung) | integer | 4.0.8 |
Delete | 0 | „ApplicationPartTreeID“ soll… „0“ : unter „PredecessorApplicPartTreeID“ verschoben werden „1“ : inkl. evtl. vorhandener untergeordneter Elemente gelöscht werden „2“ : gelöscht werden, sofern KEINE untergeordnete Elemente existieren | tinyint | 4.0.8 |
Die Prozedur hat keine Rückgaben.
ApplicationPartTreeID | ID eines Elementes im „Anwendungs-Baum“. Falls „NULL“, wird ein neues Element angelegt, ansonsten entscheidet „Delete“ darüber, ob das vorhandene Element gelöscht oder verschoben wird. |
Code | Beschreibung | Quelle 1) |
---|---|---|
-583 | Ein Element kann nicht unter sich selbst oder ein untergeordnetes Element verschoben werden | nur direkt |
-582 | Unterhalb eines Elements kann zum gleichen Benutzer ein Anwendungs-Teil höchstens einmal vorkommen | nur direkt |
-581 | Das Element kann nicht gelöscht werden, da noch untergeordnete Elemente existieren | nur direkt |
-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 |
-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] |
5.5.1 | 2008-07-29 | Fehler : Es konnte vorkommen, daß ein Nachfolge-Element mit NEGATIVER ID angelegt wurde [wodurch ja aber „root“-Elemente gekennzeichnet sind] ! |
5.5.0 | 2008-01-07 | 1. Ab jetzt wird explizit überprüft, ob unterhalb eines Elementes zum gleichen Benutzer ein Anwendungs-Teil höchstens einmal vorkommt 2. Ausgabe via „print“ im Fehler-Fall „-500“ 3. Neuer Fehler-Code für einen Fall („-583“) |
5.0.3 | 2005-06-07 | Ab jetzt ist es verboten, ein „root“-Element zu verschieben ! |
4.0.13 | 2004-05-18 | Ab jetzt wird beim Löschen auch dafür gesorgt, daß untergeordnete Elemente mitgelöscht werden, bzw., dies wird über „Delete“ gesteuert - dieser Parameter ist daher ab jetzt ein „tinyint“ ! |
4.0.11 | 2004-03-31 | Ab jetzt wird geprüft bzw. sichergestellt, daß beim Verschieben eines Elementes der neue Vorgänger nicht etwa ein Nachfolge-Element des Elementes oder gar das Element selbst ist ! |
4.0.9 | 2004-03-03 | 1. Fehler beim Anlegen von „root“-Elementen 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 POST 'http://<partner>-<project>.dstore.de/default/engine/mi_ModifyApplicPartsTree_Ad'
Mit xmllint 2) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/mi_ModifyApplicPartsTree_Ad' | 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_ModifyApplicPartsTree_Ad', array( // 'UserID' => NULL, // 'ApplicationPartID' => NULL, // 'PredecessorApplicPartTreeID' => NULL, // 'Delete' => 0 ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray(); $OutputParams = $xml_result->getOutputParametersAsArray();
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_ModifyApplicPartsTree_Ad"> <Parameters> <!-- <Parameter Name="UserID">NULL</Parameter> --> <!-- <Parameter Name="ApplicationPartID">NULL</Parameter> --> <!-- <Parameter Name="PredecessorApplicPartTreeID">NULL</Parameter> --> <!-- <Parameter Name="Delete">0</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>