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

JCL - SORT Discussion :

Liaison programme cobol et jcl


Sujet :

JCL - SORT

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur Java
    Inscrit en
    décembre 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2019
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Liaison programme cobol et jcl
    Bonsoir,

    Je découvre l'univers mainframe depuis quelques jours.

    J'essaye d'exécuter un programme cobol qui effectue un traitement sur un fichier KSDS.

    Au début de programme, la section d'identification spécifie l'ID du programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IDENTIFICATION DIVISION.     
    PROGRAM-ID. IDDUPROGRAMME.
    Le JCL est écrit comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    //IDJOB JOB COMPIL,MSGLEVEL=(1,1),MSGCLASS=E,CLASS=E,NOTIFY=&SYSUID,  
    // RESTART=*                                                            
    //*                                                                     
    //********************************************************************* 
    //*               COMPILATION IDDUPROGRAMME                                                   * 
    //********************************************************************* 
    //*                                                                     
    //COBBTCH  EXEC ECOBBTCH,PGMB=IDDUPROGRAMME
    //SYSYSLIB DD DSN=FORE99.LIB.COPY,DISP=SHR                              
    //LKED.SYSIN DD  *                                                      
        ENTRY    IDDUPROGRAMME                                                   
        NAME       IDDUPROGRAMME(R)
                                                    
    
    //*                                                                    
    //*********************************************************************
    //*               EXECUTION IDDUPROGRAMME *
    //*********************************************************************
    /*                                                                     
    //STEP1  EXEC PGM=IDDUPROGRAMME
    //STEPLIB  DD DSN=FORE99.LIB.LOAD,DISP=SHR                             
    
    //DSS  DD DSN=chemin1.fichier1,DISP=SH
    //DSSS   DD DSN=chemin2.fichier2.KSDS,DISP=SHR
    //DSSSS DD DSN=chemin3.fichier3,
    //         DISP=(NEW,CATLG,DELETE),               
    //         LRECL=133,RECFM=FB,SPACE=(TRK,(1,1))   
    //SYSPRINT DD SYSOUT=*                            
    //SYSOUT DD SYSOUT=*
    Mais après sub, l'erreur suivante se produit : d'après ce que je comprends il ne semble pas trouver le programme cobol que je veux exécuter.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    JOB37490  -JOBNAME  STEPNAME PROCSTEP    RC   EXCP    CPU    SRB  CLOCK
    JOB37490  -FORE13E  COBBTCH  COBOL       12   2712    .00    .00    .03
    JOB37490  -FORE13E  COBBTCH  LKED     FLUSH      0    .00    .00    .00
    JOB37490  CSV003I REQUESTED MODULE IDDUPROGRAMME NOT FOUND                  
    JOB37490  CSV028I ABEND806-04  JOBNAME=IDJOB   STEPNAME=STEP1        
    JOB37490  +IDI0001I Fault Analyzer V13R1M0 (UI17255 2014/04/21) invoked
    JOB37490  +JOBABEND IDJOB ABEND S806 IN STEPNAME STEP1 IN PROGRAM    
    JOB37490  +IDI0034I Fault analysis skipped due to: IDICNFxx config memb
    JOB37490  IEA995I SYMPTOM DUMP OUTPUT  708                             
              SYSTEM COMPLETION CODE=806  REASON CODE=00000004
    Pourriez-vous m'aider à comprendre plus précisément le problème et trouver comment le résoudre ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    avril 2002
    Messages
    2 462
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : avril 2002
    Messages : 2 462
    Points : 4 298
    Points
    4 298
    Par défaut
    Hello, le step COBOL de la proc COBBTCH a retourné le code d’erreur 12, ce qui semble vouloir indiquer que ton programme n’a pas été compilé dû à des erreurs. Tu peux regarder la sysprint de ce step pour comprendre l’erreur de compilation.
    Bon courage !
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  3. #3
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    octobre 2005
    Messages
    1 473
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : octobre 2005
    Messages : 1 473
    Points : 3 275
    Points
    3 275
    Par défaut
    Citation Envoyé par M.Dlb Voir le message
    Hello, le step COBOL de la proc COBBTCH a retourné le code d’erreur 12, ce qui semble vouloir indiquer que ton programme n’a pas été compilé dû à des erreurs. Tu peux regarder la sysprint de ce step pour comprendre l’erreur de compilation.
    Bon courage !
    Même réflexion que M.Dlb ...

    Par ailleurs, le Mainframe z/OS adore les noms sur 8 caractères au plus, donc pour le nom de ton programme choisit un nom de longueur 8 ...

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    9 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 9 371
    Points : 35 495
    Points
    35 495
    Billets dans le blog
    3
    Par défaut
    +1 aux remarques qui précèdent et j'ajoute que :
    • dans la plupart des entreprises, les noms des objets sont normés : vous ne pourrez donc pas choisir librement le nom de votre programme
    • vous indiquez que vous essayez d'exécuter un programme COBOL, or le job que vous présentez est un job de compilation.
      Il ne faut pas confondre compilation et exécution ce sont deux étapes différentes :

    - la compilation crée un objet à partir de votre source cobol, puis un exécutable à partir de cet objet (phase de link edit). C'est une étape indispensable, préalable à l'exécution.
    - l'exécution, s'il s'agit d'un programme batch, nécessite un job spécifique qui permettra de décrire l'environnement d'exécution (les loadlib, proclib, les allocations des fichiers...) et lancera l'exécution de votre programme créé lors du link édit à l'étape précédente
    - l'exécution, s'il s'agit d'un programme CICS, nécessite des déclarations dans le sous-système CICS, ces opérations sont en général réalisées par des équipes techniques dédiées

  5. #5
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    novembre 2006
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : novembre 2006
    Messages : 1
    Points : 4
    Points
    4
    Par défaut Il manque des bibliothèques
    Je suppose que le problème est réglé à ce jour (post à fermer)

    Pour info pour les futurs lecteurs de ce post, j'invite à lire ceci : http://coquilleau-formation.com/comp...-jcl-sur-z-os/
    Il rappelle les bases.

    Dans le JCL tout doit être écrit, il n'y a pas réellement de chemin "par défaut".
    Il faut ajouter le bibliothèque du load où il sera stocké.

Discussions similaires

  1. [PRO*COBOL] Appel SQL dans un programme COBOL
    Par JauB dans le forum Interfaces de programmation
    Réponses: 9
    Dernier message: 19/05/2010, 14h33
  2. [z/OS] Nom du JCL dans un programme COBOL
    Par ben_lille dans le forum Cobol
    Réponses: 6
    Dernier message: 17/09/2009, 14h13
  3. [z/OS] Donnée d'un programme Cobol vers JCL
    Par fatsam dans le forum Cobol
    Réponses: 4
    Dernier message: 15/05/2008, 12h58
  4. [PC] Commande Dos dans un programme Cobol
    Par Magoo dans le forum Cobol
    Réponses: 2
    Dernier message: 24/01/2008, 09h37
  5. SQL Dynamique dans un programme cobol
    Par genio dans le forum DB2
    Réponses: 14
    Dernier message: 04/12/2006, 12h23

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