Chercher les programmes en erreur de niveau

Permet de repérer les programmes RPG qui vont planter en erreur de niveau suite à une évolution de la base de données. 1) Lister les références des programmes dans un fichier temporaire :DSPPGMREF PGM(BIBPGM/*ALL) OUTPUT(OUTFILE) OBJTYPE(*PGM) OUTFILE(QTEMP/LISTEPGM) 2) Croiser les « format level ID » entre la liste des références des programmes et la liste des fichiersSELECT … Lire la suite

Trouver le programme appelant dans un RPG

Permet dans un RPG d’identifier son programme appelant. Cela peut servir par exemple pour conditionner certaines actions ou laisser une trace dans un fichier log. en SQLRPGLE :dcl-ds N PSDS; nom_du_pgm CHAR(10) POS(1);end-ds; dcl-s appelant char(10); EXEC SQL SELECT program_name INTO :appelant FROM TABLE(stack_info(‘*’)) WHERE program_name not in (‘ ‘ , :nom_du_pgm) AND ordinal_position < … Lire la suite

Trouver le numéro du jour de la semaine sans calendrier

Permet d’affecter à la variable jour le numéro du jour de la semaine du jour comme suit :1:Lundi 2:Mardi 3:Mercredi 4:Jeudi 5:Vendredi 6:Samedi 7:Dimanche(et sans s’appuyer sur un calendrier!) en SQLRPGLE :EXEC SQL SET :jour= (CASE WHEN DAYOFWEEK(CURRENT_DATE) = 1 THEN 7 ELSE DAYOFWEEK(CURRENT_DATE)-1 END); Explications : la fonction SQL DAYOFWEEK permet de récupérer le … Lire la suite