jc_denton
30-04-09, 09:14
Ist es möglich die Nachrichten eines beendeten Programms zu löschen?
Bsp.:
- Programm A ruft Programm B.
- Pgm B schreibt einige Meldungen ins Joblog.
- Nach Beendigung von Pgm B, soll Pgm A die Nachrichten des Pgm B löschen.
Mein Ansatz war es mit RCVMSG zu arbeiten:
CALL PGM(PGM_B)
LOOP:
RCVMSG MSGTYPE(*LAST) RMV(*NO) MSGID(&MSGID)
monmsg cpf0000 exec(goto ENDE)
if (&msgid = ' ') then(goto ENDE)
if (&msgid = 'CPF5813' *or &msgid = 'CPF7302') then(do)
RCVMSG MSGTYPE(*LAST) RMV(*yes) MSGID(&MSGID)
enddo
goto LOOP
Das Programm B kann nicht geändert werden, d.h. eine Fehlerbehandlung kann dort nicht erfolgen. Es muss von außen operiert werden.
Kennt da jemand die Lösung?
Bsp.:
- Programm A ruft Programm B.
- Pgm B schreibt einige Meldungen ins Joblog.
- Nach Beendigung von Pgm B, soll Pgm A die Nachrichten des Pgm B löschen.
Mein Ansatz war es mit RCVMSG zu arbeiten:
CALL PGM(PGM_B)
LOOP:
RCVMSG MSGTYPE(*LAST) RMV(*NO) MSGID(&MSGID)
monmsg cpf0000 exec(goto ENDE)
if (&msgid = ' ') then(goto ENDE)
if (&msgid = 'CPF5813' *or &msgid = 'CPF7302') then(do)
RCVMSG MSGTYPE(*LAST) RMV(*yes) MSGID(&MSGID)
enddo
goto LOOP
Das Programm B kann nicht geändert werden, d.h. eine Fehlerbehandlung kann dort nicht erfolgen. Es muss von außen operiert werden.
Kennt da jemand die Lösung?