
Zitat von
kuempi von stein
...
Und ansonsten könnte man ja im CL immer erst mit STRISDB versuchen, Fehlermeldung abfangen und wenn Fehler dann eben STRDBG?
kuempi
das war eine gute Idee!
Sorum habe ich es nicht hinbekommen, da ich nach Möglichkeit STRDBG verwenden möchte und nicht den ISDB.
Aber einfach STRDBG aufrufen und dann schauen, wie der Debugger reagiert, das geht.
Wen es interessiert hier das Ergebnis:
Code:
CMD PROMPT('Starten Debugger abh. vom Typ')
PARM KWD(PGM) TYPE(OBJ1) MIN(1) +
PROMPT('Programmname')
PARM KWD(SRCM) TYPE(*CHAR) LEN(10) CHOICE('Name') +
PROMPT('Quelle Teildatei')
PARM KWD(SRCF) TYPE(OBJ2) MIN(1) PROMPT('Quelle +
Datei')
OBJ1: QUAL TYPE(*NAME) LEN(10) CHOICE('Programmname')
QUAL TYPE(*NAME) LEN(10) CHOICE('Bibliothek')
OBJ2: QUAL TYPE(*NAME) LEN(10) CHOICE('Dateiname')
QUAL TYPE(*NAME) LEN(10) CHOICE('Bibliothek')
Code:
PGM PARM(&PGMOLB &SRCMBR &SRCFLB)
DCL VAR(&PGMOLB) TYPE(*CHAR) LEN(20)
DCL VAR(&SRCMBR) TYPE(*CHAR) LEN(10)
DCL VAR(&SRCFLB) TYPE(*CHAR) LEN(20)
DCL VAR(&PGMLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&PGM ) TYPE(*CHAR) LEN(10)
DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&SRCFIL) TYPE(*CHAR) LEN(10)
DCL VAR(&MHKTOOL) TYPE(*CHAR) LEN(10)
/* Standardwerte + Initialisierungen */
CHGVAR VAR(&PGM ) VALUE(%SST(&PGMOLB 1 10))
CHGVAR VAR(&PGMLIB) VALUE(%SST(&PGMOLB 11 10))
CHGVAR VAR(&SRCFIL) VALUE(%SST(&SRCFLB 1 10))
CHGVAR VAR(&SRCLIB) VALUE(%SST(&SRCFLB 11 10))
IF COND(&SRCMBR = ' ') THEN(CHGVAR VAR(&SRCMBR) +
VALUE('*N'))
IF COND(&SRCFIL = ' ') THEN(CHGVAR VAR(&SRCFIL) +
VALUE('*N'))
IF COND(&SRCLIB = ' ') THEN(CHGVAR VAR(&SRCLIB) +
VALUE('*N'))
/* Debugger prüfen */
STRDBG PGM(&PGMLIB/&PGM)
DSPBKP OUTPUT(*PRINT) PGM(*ALL)
MONMSG MSGID(CPF1906 CPF1999) EXEC(GOTO +
CMDLBL(L_STRDBG))
ENDDBG
DLTSPLF FILE(QPDBGDSP) SPLNBR(*LAST)
MONMSG MSGID(CPF0000)
L_ISDB:
STRISDB PGM(&PGMLIB/&PGM) SRCMBR(&SRCMBR) +
SRCF(&SRCLIB/&SRCFIL)
MONMSG MSGID(CPF0000) EXEC(DO)
?STRISDB PGM(&PGMLIB/&PGM) SRCMBR(&SRCMBR) +
SRCF(&SRCLIB/&SRCFIL)
ENDDO
GOTO CMDLBL(ENDE)
L_STRDBG:
GOTO CMDLBL(ENDE)
ENDE: ENDPGM
Kann man bestimmt noch verschönern, ist auch nicht auf Herz+Nieren getestet, aber es funktioniert schon mal für RPGLE, RPT mit+ohne *LSTDBG.
Vieren Dank Euch beiden!
Christian
Bookmarks