Comment monitorer une erreur en RPG ?

Méthode en free rpg

En free rpg :

 Utiliser un groupe monitor pour tester les erreurs sur les opérations entre le monitor et les premières opérations on-error.

 Pour intercepter l’erreur qui nous intéresse, on utilise
les mots réservés *Program et *File sur l’opération On-
Error :

 Utilisez la data structure du programme (position 40 à  46 , EXCP_TYPE et EXCP_NUM) pour monitorer finement des messages particuliers.

 Utilisez les datas structures fichiers pour monitorer les erreurs sur les fichiers.

D Err_Status s 5I 0

* ----------------------------------------------------
* Exécution de commande CLP
* ----------------------------------------------------
D Commande S 250
D CLPCMD PR EXTPGM('QCMDEXC')
D cmd 250
D cmdlen 15P 5 CONST

DMYPSDS SDS noopt qualified
D PROC_NAME *PROC
D PGM_STATUS *STATUS
D PRV_STATUS 16 20S 0
D LINE_NUM 21 28
D ROUTINE *ROUTINE
D PARMS *PARMS
D EXCP_TYPE 40 42
D EXCP_NUM 43 46
D PGM_LIB 81 90
D EXCP_DATA 91 170
D EXCP_ID 171 174
D DATE 191 198
D YEAR 199 200S 0
D LAST_FILE 201 208
D FILE_INFO 209 243
D JOB_NAME 244 253
D USER 254 263
D JOB_NUM 264 269S 0
D JOB_DATE 270 275S 0
D RUN_DATE 276 281S 0
D RUN_TIME 282 287S 0
D CRT_DATE 288 293
D CRT_TIME 294 299
D DATE 191 198
D YEAR 199 200S 0
D LAST_FILE 201 208
D FILE_INFO 209 243
D JOB_NAME 244 253
D USER 254 263
D JOB_NUM 264 269S 0
D JOB_DATE 270 275S 0
D RUN_DATE 276 281S 0
D RUN_TIME 282 287S 0
D CRT_DATE 288 293
D CRT_TIME 294 299
D CPL_LEVEL 300 303
D SRC_FILE 304 313
D SRC_LIB 314 323
D SRC_MBR 324 333
D PROC_PGM 334 343
D PROC_MOD 344 353

/free
// ------------------------------------------
// Création du fichier de travail dans QTEMP.
// ------------------------------------------
Monitor;
Commande = 'CRTPF FILE(QTEMP/TMPSPLF2PF) ' +
' RCDLEN(210)'
CLPCMD(Commande:%size(Commande));
On-error *program;
Err_Status = MYPSDS.PGM_STATUS;
// Faire quelque chose. Sinon autant
// laisser planter le programme
// Monitorer les erreurs sans action
// est dangereux.
Endmon;
/end-free

Liens connexes

 Data structure programme

 Data structure fichier

Print Friendly, PDF & Email