Bonjour,
j'ai une problématique concernant l'utilisation de SBMJOB dans des CL.
Contexte :
J'utilise un cl pour réaliser un certain nombre de traitement lancé par la commande SBMJOB, ces ordres de traitements doivent être réalisés dans un ordre hiérarchique qui doit être respecté.
Pour planifier ce traitement je valorise le paramètre SCDTIME par l'intermédiaire d'une variable, qui est renseigner lors du lancement de ce CL (car les traitements sont réalisés en dehors des heures de travail).
En utilisant cette méthode j'ai des problèmes de respects de la hiérarchie séquentielle normalement imposée par l'ordre de lancement des traitements dans mon CL.
Info AS400 concernant le paramètre SCDTIME : "des postes travaux dont les valeurs SCDDATE et SCDTIME sont identiques peut différer de leur ordre d'arrivée.
De la même manière, l'ordre de départ de ces travaux de la file d'attente en vue de leur traitement peut différer de leur ordre d'arrivée. Il faut donc garder en mémoire que les travaux ne sont pas entrés ni traités de manière séquentielle lorsqu'il est prévu qu'ils démarrent simultanément. "
Exemple concernant mon code :
Pour info j'ai quinzaine de traitement successif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SBMJOB CMD(CALL PGM(Monprogramme) PARM(Mesparametres')) JOB(VACPRD) JOBD(&JOBD) + USER(*CURRENT) INQMSGRPY(*SYSRPYL) + SCDTIME(&HEURE) SBMJOB CMD(CALL PGM(Monprogramme2) PARM(Mesparametres2')) JOB(VACPRD) JOBD(&JOBD) + USER(*CURRENT) INQMSGRPY(*SYSRPYL) + SCDTIME(&HEURE) SBMJOB CMD(CALL PGM(Monprogramme3) PARM(Mesparametres3')) JOB(VACPRD) JOBD(&JOBD) + USER(*CURRENT) INQMSGRPY(*SYSRPYL) + SCDTIME(&HEURE)
Pour info également j'ai essayé de faire une modification de la variable HEURE pour mettre en place un écart de traitement et mettre en place une hiérarchie qui semble fonctionner:
Cependant je trouve que m'a méthode n'est pas très optimisée et alourdi considérablement le code vu le nombre de répétions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CHGVAR VAR(&HEUREN) VALUE(&HEURE) CHGVAR VAR(&HEUREN) VALUE(&HEUREN + 1) CHGVAR VAR(&HEURE) VALUE(&HEUREN)
Merci de votre aide
Partager