PDA

View Full Version : Meldung beim Insert in eine PF



Jenne
30-01-09, 08:38
Hallo Kollegen,

wir haben eine Log-Datei, in die bei bestimmten Fehlern etwas eingetragen wird.

Gibt es eine Möglichkeit immer dann eine MSG oder eine Mail gesendet wird. an bestimmte User zu schicken wenn ein neuer Datensatz geschrieben wird.

Gruß
Jenne

Fuerchau
30-01-09, 08:41
Das geht am Besten per Insert-Trigger.
Allerdings sollte die performance nicht vernachlässgt werden, da das Senden der Mail ggf. zu lange dauert.
Hier könnte der Trigger am Besten in eine DTAQ schreiben, die von einem Batchprogramm überwacht wird.

BenderD
30-01-09, 08:52
für die asynchrone Variante bietet sich Journal und RCVJRNE an.
D*B


Das geht am Besten per Insert-Trigger.
Allerdings sollte die performance nicht vernachlässgt werden, da das Senden der Mail ggf. zu lange dauert.
Hier könnte der Trigger am Besten in eine DTAQ schreiben, die von einem Batchprogramm überwacht wird.

Jenne
30-01-09, 09:06
Hallo Fürchau,

mit einem Trigger habe ich ein CL-Programm aufgerufen, das nur eine MSG ausgibt. Bekomme die Fehlermeldung das mein CL Programm keine SQl Anweisung erhält.

CL_xxx der Art *PGM in xxxx enthält keine SQL-Anweisungen.

Trigger :

Physische Datei . . . . . . . . > xxxERR
Bibliothek . . . . . . . . . . > xxxx
Auslöserzeit . . . . . . . . . . > *AFTER
Auslöserereignis . . . . . . . . > *INSERT
Programm . . . . . . . . . . . . > CL_xxx
Bibliothek . . . . . . . . . . > xxxx
Auslöser ersetzen . . . . . . . *NO
Auslöser . . . . . . . . . . . . > EINTRAG
Auslöserbibliothek . . . . . . . *FILE
Wiederholte Änderung zulassen . > *NO
Sicher für Threads . . . . . . . > *UNKNOWN
Job mit mehreren Threads (Akt) > *SYSVAL


CL-Programm:

PGM
SNDMSG MSG(Neuer Eintrag) TOUSR(XXXX)
ENDPGM

pwrdwnsys
30-01-09, 09:35
Wo kommt denn die Meldung ? Ein Trigger muss ja keine SQL Anweisungen enthalten, es sei denn es ist eine Stored Procedure. Enthät das Programm auch die Übergabeparameter für ein Trigger Programm (Puffer + Länge)? Ist aus dem PGM nicht ersichtlich.

Jenne
30-01-09, 09:49
Trigger Programm (Puffer + Länge)?

Was muss ich übergeben?

Fuerchau
30-01-09, 10:29
Ein Trigger bekommt 2 Parameter übergeben. Den Triggerpuffer und die Länge. Wenn du den Inhalt nicht analysieren musst, reicht auch:

pgm (&p1, &P2)
dcl &p1 *char 1
dcl &p2 *char 1

Jenne
30-01-09, 11:04
Danke an alle,

jetzt hat es geklappt.

Gruß

Jenne