PDA

View Full Version : Abbruch / Joblog



Robi
19-11-08, 10:47
Hi,
in einem Programm findet sich folgender Code

C EVAL MBR = 'MYMBR'
C EVAL CMD = 'CHKOBJ OBJ(' + %TRIM(VONLIB) + '/' +
%TRIM(SRCFILE) +
') OBJTYPE(*FILE) MBR(MYMBR)'


C CALLP(E) QCMD(CMD:%SIZE(CMD))
* ===== ============
C IF NOT %ERROR
C EXSR CHG_MBR
C ENDIF

Ich dachte bisher, das ich mit dem (E) einen Abbruch abfange. Hier ist es möglich, das es MYMBR nicht gibt.
Ich bekomme jedoch einen JOBLOG (Spool) in dem eine 40 er Meldung zu genau dieser Zeile auftaucht.
D.H. das PGM ist an der Stelle abgebrochen und hat nicht weiter gemacht.
Hat sich da etwas geändert oder mach ich was falsch ?
Danke
Robi

RobertMack
19-11-08, 11:40
CALLP(E) QCMDEXC(CMD:%SIZE(CMD))

Robi
19-11-08, 13:02
Nein,


D QCMD PR EXTPGM('QCMDEXC')
D 3000A OPTIONS(*VARSIZE) CONST
D 15P 5 CONST
Das ist im Prototype so definiert.

Robi

Fuerchau
19-11-08, 13:08
Schau mal ins Joblog, was genau die Fehlermeldung ist.
OPTIONS(*VARSIZE) könnte das Problem sein.

Robi
19-11-08, 15:05
CPF9815 Abbruch 40
19.11.08 11:24:04,687536 QLICKOBJ QSYS 01B3 MYPGM MYLIB *STMT
Zielmodul . . . . . . . . . : MYPGM
Zielprozedur . . . . . . . : MYPGM
Anweisung . . . . . . . . . : 2078
Nachricht . . . : Teildatei MYMBR Datei QDDSSRC in Bibliothek MYLIB
nicht gefunden.
Ursache . . . . : Die im Befehl angegebene Teildatei MYMBR in Datei
QDDSSRC in Bibliothek MYLIB wurde nicht gefunden. Lautet der Name der
Teildatei *N, sind keine Teildateien in der Datei vorhanden. Wenn der
Teildateiname *ALL ist, handelt es sich bei der Datei nicht um eine
Partitionsdatei. Fehlerbeseitigung: Die Teildatei hinzufügen (Befehl ADDLFM
oder ADDPFM) und die Anforderung wiederholen.

und dann, Ende im Gelände

Fuerchau
19-11-08, 16:25
Laut Handbuch können nicht alle Fehler mit (E) abgefangen werden, hier empfielt sich Monitor:

monitor;
callp ...
on-error *all;
// Fehler
endmon;