Gibt die Definition eines „TRI-Trigger“ in Form von Pseudo-Code via „print“ aus.
Hintergrund : „TRI-Trigger“ sind Objekte, die innerhalb der Engine bei bestimmten Datenänderungen ausgelöst werden (z.B. dem Status-Wechsel von Auftragspositionen). Die Definition eines solchen Triggers besteht aus Arbeitsschritten, zu denen optional eine Bedingung hinterlegt sein kann und zu denen immer eine bestimmte Reihe von Anweisungen (derzeit Prozedur-Aufrufen) konfiguriert ist. Außerdem kann für jeden einzelnen Arbeitsschritt und jede einzelne Anweisung ein „Iterator“ definiert werden.
Hinweis : Sofern der Trigger durch Angabe von Pseudo-Code auch erstellt wurde (s. Parameter „TriggerDefinition“ von mi_ModifyTRITrigger_Ad), wird genau dieser Code ausgegeben (da dieser bei Anlage gespeichert wird).
| HTTP-Method | GET |
| HTTP-Auth | Optional |
| Tags | |
| Engine-Kategorie | system administration |
| Engine-Typ | Daten-Ermittlung |
| Letzte Aktualisierung | 7.0.8 (2015-08-21) |
| Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
|---|---|---|---|---|
| TriggerID | ID eines „TRI-Trigger“ dessen Definition ausgegeben werden soll | smallint | 7.0.4 | |
| MaxCharsPerCodeLine | 150 | Damit der ausgegebene Code gut lesbar ist, werden pro Zeile maximal soviele Zeichen ausgegeben, wie hier angegeben (nur Werte „>= 100“ erlaubt) | tinyint | 7.0.4 |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
| Code | Beschreibung | Quelle 4) |
|---|---|---|
| -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.8 | 2015-08-21 | Interne Änderung : Beachtung der neuen Spalte „TriggerCode“, die - wenn gefüllt - nun ausgegeben wird |
| 7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
| 7.0.4 | 2014-03-19 | 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_GetTRITriggerCode_Ad?TriggerID=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetTRITriggerCode_Ad?TriggerID=<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_GetTRITriggerCode_Ad', array( 'TriggerID' => <value>, // 'MaxCharsPerCodeLine' => 150 ) ); $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_GetTRITriggerCode_Ad"> <Parameters> <Parameter Name="TriggerID"><!-- smallint value --></Parameter> <!-- <Parameter Name="MaxCharsPerCodeLine">150</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>