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.
*LIBL Bibliotheksliste
Quellendatei: Qualifizierte Quellen-Datei, in der die Teildatei hinterlegt ist
*LIBL Quellen Datei wird in der Bibliotheksliste gesucht
*SRCLIB Quellen-Bibliothek
Quellenteildatei:Teildatei, die umgewandelt werden soll.
*PGM Teildatei-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
*BEFORE Ausführung des Trigger-Programms vor dem Schreiben, Ändern oder Löschen des Datensatzes
*AFTER Ausführung des Trigger-Programms nach dem Schreiben, Ändern oder Löschen des Datensatzes
Auslöser-Ereignis Ereignis, durch das das Trigger-Programm aktiviert wird
*INSERT Das Trigger-Programm wird durch das Schreiben eines Datensatzes in die angegebene Datei/Tabelle aktiviert
*UPDATE Das Trigger-Programm wird durch die Änderung eines Datensatzes in die angegebene Datei/Tabelle aktiviert
*DELETE Das Trigger-Programm wird durch das Löschen eines Datensatzes aus der angegebenen Datei/Tabelle aktiviert
*READ Das Trigger-Programm wird durch das Lesen eines Datensatzes aus der angegebenen Datei/Tabelle aktiviert.
Trigger-Name Name des Triggers
*PGM Der 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
*ALWAYS Das Trigger-Programm wird immer aufgerufen
*CHANGE Das 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.)
*YES Wiederholte Änderungen sind zulässig
*NO Wiederholge Änderungen sind nicht zulässig
Zielrelease Gibt das Release für das das Modul, Programm oder Service-Programm erstellt werden soll.
*CURRENT Aktuelles Release
*PRV Vorhergehendes Release
VxRxMx Angabe 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