Beschreibung
Mit dem Befehl CRTTRGPGM können Trigger-Programme erstellt und registriert werden.
Das Trigger-Programm wird zunächst mit dem Befehl CRTILEOBJ erstellt.
Trigger-Programme, die über diesen Befehl erstellt werden, werden grundsätzlich mit Aktivierungsgruppe *CALLER generiert. Durch die Erstellung und Ausführung der Trigger-Programme in der Aktivierungsgruppe *CALLER wird sichergestellt, dass COMMIT und ROLLBACK innerhalb der Aktivierungsgruppe (Unterlassungswert beim Befehl STRCMTCTL = Start Commitment Control) sauber ausgeführt werden.
Das Trigger-Programm wird anschließend über den Befehl ADDPFTRG mit den angegebenen Parametern registriert.
Abbildung 4: Befehl CRTTRGPGM - Erstellen Trigger-Programm
Parameter für Befehl CRTTRGPGM – Create Trigger Program
Trigger-Programm: Qualifiziertes Programm, das erstellt werden soll.
*LIBLBibliotheksliste
Quellendatei:Qualifizierte Quellen-Datei, in der die Teildatei hinterlegt ist
*LIBLQuellen Datei wird in der Bibliotheksliste gesucht
*SRCLIBQuellen-Bibliothek
Quellenteildatei:Teildatei, die umgewandelt werden soll.
*PGMTeildatei-Name entspricht dem Namen des zu erstellenden Programms.
Pyhsische Datei (oder SQL-Tabelle) für die das Trigger-Programm registriert werden soll.
Auslöser-ZeitAktivierungszeitpunkt des Trigger-Programms
*BEFOREAusführung des Trigger-Programms vor dem Schreiben, Ändern oder Löschen des Datensatzes
*AFTERAusführung des Trigger-Programms nach dem Schreiben, Ändern oder Löschen des Datensatzes
Auslöser-EreignisEreignis, durch das das Trigger-Programm aktiviert wird
*INSERTDas Trigger-Programm wird durch das Schreiben eines Datensatzes in die angegebene Datei/Tabelle aktiviert
*UPDATEDas Trigger-Programm wird durch die Änderung eines Datensatzes in die angegebene Datei/Tabelle aktiviert
*DELETEDas Trigger-Programm wird durch das Löschen eines Datensatzes aus der angegebenen Datei/Tabelle aktiviert
*READDas Trigger-Programm wird durch das Lesen eines Datensatzes aus der angegebenen Datei/Tabelle aktiviert.
Trigger-NameName des Triggers
*PGMDer Trigger erhält den gleichen Namen wie das Programm
Aktualisierungsbedingung: Gibt an, ob das Trigger-Programm immer aufgerufen wird oder nur dann, wenn sich ein Wert in dem Datensatz ändert
*ALWAYSDas Trigger-Programm wird immer aufgerufen
*CHANGEDas Trigger-Programm wird nur aufgerufen wenn sich ein Wert in dem Datensatz ändert.
Wiederholte Änderung zulassen: Erforderlich bei Before-Insert oder Before-Update-Trigger, wenn in dem bereits geänderten Datensatz weitere Änderungen vorgenommen werden sollen (z.B. Aktualisierungsdatum/-Zeit soll gesetzt werden.)
*YESWiederholte Änderungen sind zulässig
*NO Wiederholge Änderungen sind nicht zulässig
ZielreleaseGibt das Release für das das Modul, Programm oder Service-Programm erstellt werden soll.
*CURRENTAktuelles Release
*PRVVorhergehendes Release
VxRxMxAngabe des Releases z.B. V7R1M0
Umwandlung im Stapelbetrieb
J/NJ=Ja Umwandlung erfolgt im Stapelbetrieb (QBATCH)
N=Nein Interaktive Umwandlung
Beispiel: Erstellen Before Update Trigger
Abbildung 5: Beispiel - Erstellen Before Update Trigger mit CRTTRGPGM