Ich habe einen Trigger in ILE RPG geschrieben und den Trigger via ADDPFTRG der physischen Datei hinzugefügt.
Der Trigger wird vom DB-System aktiviert. Laut IBM-Doku, muß via API QMHSNDPM eine *ESCAPE-Nachricht gesendet werden; habe ich. Trotzdem erhalte ich keinen Hinweis, wenn ich mit DFU einen Datensatz lösche, der lt. Trigger nicht gelöscht werden darf.
Mit Hilfe des Debuggers habe ich kontrolliert, dass das API zum Senden der Nachticht aufgerufen wird. Ergebnis: positiv.
Hier der entsprechende Sourcecode:

EVAL SNDMSGD = 'Fehler Trigger: C1UNFTRG!'
EVAL SNDMSGD = 'QCPFMSG QSYS '
EVAL SNDMSGERR1=66
EVAL SNDMSGERR2 =0
EVAL SNDMSGERR3 = *BLANKS
EVAL SNDMSGERR4 = *BLANKS
EVAL SNDMSGERR5 = *BLANKS
C*
CALL 'QMHSNDPM'
PARM 'CPF9898' SNDMSGID
PARM SNDMSGF
PARM SNDMSGD
PARM 25 SNDLEN
PARM '*ESCAPE' SNDMSGTYP
PARM '*' SNDPGMQ
PARM 1 SNDSTCNT
PARM *BLANKS SNDMSGKEY
PARM SNDMSGERR

Die Parameter sind in einer DS definiert.

Mit welchen Werte muss ich die API-Parameter versorgen, um die Nachricht an das DB-System weiterzuleiten ?