Hallo,

sooo kompliziert ist das Debuggen von Batch-Programmen auch wieder nicht.

Folgende Schritte sind notwendig:

1. Start Service Job für den Batch-Job:
STRSRVJOB JOB(123456/BATCHUSER/BATCHJOB)

2. STRDBG PGM(MYPGM)
Ein Break Point kann erst gesetzt werden, wenn der Job aktiv ist.

3. Ist der Job aktiv erscheint folgende Meldung:
Der bediente Job wurde aus der Jobwarteschlange freigegeben.
Eingabetaste drücken, um den Job zu starten oder F10 drücken, um die
Debug-Befehle für den Job einzugeben.

Nach dem Drücken der F10-Taste erhält man eine Befehlszeile.

4. DSPMODSRC eingeben und den 1. Break Point setzen
Mit F12 / F12 verlassen, bis die oben genannte Meldung erscheint.
Datenfreigabe und das Programm kann gedebugged werden.

5. Nach Programm-Ende
ENDDBG
ENDSRVJOB

Voraussetzung:
RPGIV-Programme/Module sollten mit DBGVIEW *SOURCE
gewandelt werden
Bei RGPIII sollten mit OPTION *SRCDBG gewandelt werden.
Bei OPM-Programmen muss beim Start Debug OPMSRC auf *YES gesetzt werden.

Das CL-Programm so ändern, dass es interaktiv läuft macht nicht immer Sinn. Wir hatten schon öfter das Problem, dass interaktiv keine Probleme auftraten, wohl aber im Batch (Bibliotheksliste, *LDA o.ä.)

Wir reden auch tatsächlich von Programmen?
Könnte es sein, dass kein Programm, sondern ein Service-Programm aufgerufen wird?
In diesem Fall muss der Start Debugg wie folgt aussehen:
STRDBG SRVPGM(MYSRVPGM)

Wenn der Debugger bereits aktiv ist, kann auch auf dem CALL-Statement F22 gedrückt werden und in das aufgerufene Programm oder Prozedur wird verzweigt.

Birgitta