Anmelden

View Full Version : MONITOR / ENDMON



Bratmaxxe
03-04-06, 09:56
Moin zusammen !

Ich möchte gerne innerhalb einer Monitor-Gruppe


C MONITOR
C READ FILE1
C IF NOT %EOF
C EVAL Line = %SUBST(Line(i) :
C %SCAN('***': Line(i)) + 1)
C ENDIF

C ON-ERROR *FILE
C ... mache etwas

C ON-ERROR *PGM
C ... mache etwas

C ENDMON




Den aufgetretenen Programmfehler (EXCEPTION) auslesen,

(bsp. Datei gesperrt, Division durch 0, ...)

steht dieser in einem Datenbereich ?


Über Antworten wäre ich dankbar...

Gruß
Maxxe

Frank Hildebrandt
03-04-06, 18:47
Mit der Build-In Funktion %status kannst Du den Fehlercode ermitteln. Das funktioniert ebenfalls über eine Programmstatusdatenstruktur bzw. über eine Dateiinformationsdatenstruktur. Weitere Informationen entnimmst Du dann den RPG Handbüchern.

B.Hauser
03-04-06, 19:44
Hi,

du brauchst lediglich eine Programm-Status-Datenstruktur in Deine Quelle einzubinden.

Der Fehlertext, zumindest die ersten 80 Stellen, steht auf der Position 91-170.

Beispiel:

D PGMSTS SDS
D SDSMsgId 40 46
D SDSMsgTextK 91 140
D SDSMsgText 91 170
/Free
Monitor;
Read MyFileF;
//was auch immer
On-Error *File;
//Datei-Fehler
Dsply SDSMsgTextK;
On-Error *PGM;
//Programm-Fehler
Dsply SDSMsgTextK;
On-Error;
Dsply SDSMsgTextK;
EndMon;
/End-Free
Birgitta

Bratmaxxe
04-04-06, 10:40
vielen dank Birgitta !