IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AS/400 Discussion :

Utilisation SBMJOB dans un CL Traitements multiples et hiérarchisés


Sujet :

AS/400

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Utilisation SBMJOB dans un CL Traitements multiples et hiérarchisés
    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 :

    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 j'ai quinzaine de traitement successif

    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:

    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)
    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.

    Merci de votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    Tu peux peut-être créer une jobq que tu rattaches à ton sous-système, en indiquant un seul travail à la fois.
    Il suffit alors de holder la jobq, de soumettre les travaux dans la jobq (sans paramètre scdtime) et à l'heure prévue de libérer la jobq.

  3. #3
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Bonjour.

    Pour éviter tout problème suite à un changement quelconque dans la description du s/système ou de la jobq par les petits malins de la production, je soumets, dans ce ce genre de cas, un seul programme CL qui va contenir tous les appels aux programmes à exécuter avec éventuellement le contrôle de la bonne exécution de chaque programme avant d'enchainer par le suivant.

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je vous remercie pour vos réponses.
    Les deux approches proposés sont intéressantes, notamment celle de Hédhili Jaïdane, cependant je ne suis pas une star en CL et les CL que nous avons n’ont pas été développé par moi-même et il est utilisé, un en certains nombres de variables issues d'une interface utilisateur qui permet de les lancer.

    Je vais cependant essayer de traiter le problème de cette manière, même si j'avais plutôt envisagé de seulement apporter des modifications dans le code des CL.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Mars 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    La solution de la jobq avec lancement d'un JOB un apres l'autre est la meilleur solution pour hierarchisé _ Pour lancer un JOB a une heure precise il existe un planning que l'on gere avec la Commande WRKJOBSCDE

Discussions similaires

  1. Utiliser php dans javascript pour traitement sur value d'une combobox
    Par filiplarlibe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/03/2010, 12h43
  2. utiliser la même connexion dans le même traitement
    Par jeandadaf dans le forum VB.NET
    Réponses: 4
    Dernier message: 13/05/2009, 11h05
  3. Réponses: 3
    Dernier message: 14/05/2008, 11h58
  4. Réponses: 1
    Dernier message: 28/04/2004, 19h18
  5. [CR][VB6] comment utiliser CR dans VB ?
    Par kouassi_denis dans le forum SDK
    Réponses: 2
    Dernier message: 26/01/2004, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo