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

Cobol Discussion :

Besoin d'aide pour un JCL ERROR


Sujet :

Cobol

  1. #1
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 497
    Par défaut Besoin d'aide pour un JCL ERROR
    Bonjour à tous,

    Je sollicite votre aide pour résoudre un JCL ERROR après un sub.
    Ce JCL fonctionnait à la base, mais j'ai changé de serveur et donc d'environnement, et de ce fait le JCL ne fonctionne plus.
    J'ai modifier l'accés a la bibliotheque des load module, ainsi que l'accès au fichier et programme, pour qu'il corresponde au nouveau serveur.
    J'ai un MAXCC=0000 si j'arrete le JCL avant le STEP2, Si J'execute le STEP2 et 3 j'ai un JCL ERROR.

    Je n'ai rien qui arrive dans le spool, il y a juste le JCL ERROR.

    Message apres le sub :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IKJ56250I JOB MATECOB(JOB03044) SUBMITTED
    13.31.11 JOB03044 $HASP165 MATECOB  ENDED AT MATE - JCL ERROR CN(INTERNAL)
    Et voici le JCL :

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     ****** ***************************** Top of Data ******************************
     000001 //MATECOB JOB 'ESSAI',MSGLEVEL=(1,1),MSGCLASS=H,CLASS=A,                
     000002 //   NOTIFY=&SYSUID,COND=(4,LT),TIME=(,3)                               
     000003 //*                                                                     
     000004 //* BIBLIOTHEQUE DES LOAD MODULES                                       
     000005 //JOBLIB   DD DSN=MATEAT.JOBLIB,DISP=SHR                                
     000006 //         DD DSN=CEE.SCEERUN,DISP=SHR                                  
     000007 //*                                                                     
     000008 //*------------------------------------------------------*              
     000009 //*      MODIFIER XX PAR N¢ DU GROUPE  (XX 01 @ 15)      *              
     000010 //*      CHANGER 'FEXO1' PAR VOTRE NOM DE PROGRAMME      *              
     000011 //*------------------------------------------------------*              
     000012 //*                                                                     
     000013 //********************************************************************* 
     000014 //*  PROCEDURE DE COMPIL/LINK EDIT D'UN PROGRAMME COBOL FEXO1         * 
     000015 //*                                                                   * 
     000016 //*  TAPER LA COMMANDE "C FORMXX PAR FORMXX : (XX N¢ DE VOTRE GROUPE) * 
     000017 //*                                                                   * 
     000018 //*  TAPER LA COMMANDE "SUB" AFIN DE SOUMETTRE VOTRE JOB              * 
     000019 //*                                                                   * 
     000020 //********************************************************************* 
     000021 //*                                                                     
     000022 //APPEL         EXEC IGYWCL,PARM.COBOL=(ADV,OBJECT,LIB,TEST,APOST)       
     000023 //COBOL.SYSIN   DD   DISP=SHR,DSN=MATEAT.SOURCE.COBOL(FEXO1)             
     000024 //COBOL.SYSLIB  DD   DISP=SHR,DSN=CEE.SCEESAMP                           
     000025 //LKED.SYSLMOD  DD   DSN=MATEAT.LOADLIB,DISP=(SHR,KEEP,KEEP)             
     000026 //LKED.SYSIN    DD   *                                                   
     000027  NAME FEXO1(R)                                                          
     000028 //*                                                                     
     000029 //STEP2    EXEC  PGM=SORT                                               
     000030 //SYSOUT   DD    SYSOUT=* /* COMPTE RENDU D'EXECUTION                   
     000031 //SORTIN   DD    DSN=MATEAT.COB.ASSURES,DISP=SHR /* FICHIER A COPIER    
     000032 //SORTOUT  DD    DSN=&&TEMP,DISP=(,PASS),LIKE=MATEAT.COB.ASSURES        
     000033 //SYSIN    DD    *                                                      
     000034  SORT FIELDS=(62,1,CH,D)                                                
     000035 //*                                                                     
     000036 //* EXECUTION DU PROGRAMME                                              
     000037 //STEP3        EXEC PGM=FEXO1                                           
     000038 //SYSOUT       DD   SYSOUT=*                                            
     000039 //ASSURDD      DD   DSN=&&TEMP,DISP=(MOD,PASS)                          
     000040 //SYSIN        DD   *                                                       
     000041 //                                                                      
     ****** **************************** Bottom of Data ****************************
    Auriez vous une idée de ce qui ne va pas ?

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 008
    Par défaut
    Hello,

    J'y connais rien en Cobol, mais avec une simple recherche, on trouve des paragraphes dans SO

    For debugging JCL itself, to the extent you can, you can use TYPRUN=SCAN on your JOB card, or perhaps your site has a JCL-checker product, although these tend to get a lot of false positives as they are updated years behind for where they try to understand the impact of control cards to standard utilities (TYPRUN=SCAN ignores control cards).
    https://stackoverflow.com/a/26910581

    Est-ce que ça aide ?
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 497
    Par défaut
    Merci fred1599,

    Mais non, je n'ai pas plus d'information sur l'erreur en rajoutant TYPRUN=SCAN.

    Par contre si des Cobolistes on jeté un œil sur mon JCL et que je n'ai pas eu de retour, c'est qu' ils n'ont pas détecté spécialement d'erreur dans mon JCL.
    Est ce le cas ?
    Et si il n'y a pas d'erreur dans l'écriture de mon JCL, de quoi pourrait elle provenir cette erreur ?

    Un mauvais accès a un fichier ou un mauvais paramétrage de fichier ne produit pas un JCL ERROR, du moins je ne pense pas ?

  4. #4
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 008
    Par défaut
    Hello,

    Ok je te fais confiance, difficile de reproduire ton cas de figure...


    La doc dit ceci,
    Temporary dataset (&&dsname) attributes can't be copied by using LIKE parameter
    source : https://www.mainframestechhelp.com/t...-parameter.htm

    Ce qui veut dire qu'il existe une limitation importante concernant son utilisation avec les datasets temporaires

    donc ici, dans ton cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    //SORTOUT  DD    DSN=&&TEMP,DISP=(,PASS),LIKE=MATEAT.COB.ASSURES
    Tu utilises LIKE avec un dataset temporaire (&&TEMP), ce qui n'est pas supporté à mon sens, je me trompe ?
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  5. #5
    Membre Expert Avatar de bernard59139
    Profil pro
    Retired
    Inscrit en
    Octobre 2006
    Messages
    961
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 961
    Par défaut
    Bonjour

    Ce n'est qu'un problème de jcl
    la doc officielle dit:
    Note: Do not use the LIKE parameter to copy attributes from a temporary data set (&&dsname), partitioned data set if a member name is included, and relative generation number for a GDG.
    tu n'es concerné que si ton fichier d'origine est un PDS, mais ca planterait du niveau du SORT

    sans le rapport de job complet(a ne pas diffuser ici), difficile de répondre

    a+

  6. #6
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 516
    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 : 10 516
    Billets dans le blog
    10
    Par défaut
    Habituellement, les diagnostics d'erreurs JCL sont assez clairs, ils sont restitués dans le fichier JESYSMSG du compte rendu de job.

    Déjà, pour faire la part des choses, exécutez séparément les steps 2 et 3 pour savoir lequel pose problème.

    Mais comme l'a suggéré Bernard, c'est probablement le fichier référencé par le LIKE qui n'est pas d'un type supporté.

    À noter : les compétences COBOL et JCL sont deux choses bien distinctes, d'une part parce que le COBOL n'est pas exclusivement utilisé sur Z/OS, il existe aussi sur micro et sur system I (AS/400) où le JCL n'existe pas, d'autre part, parce que les techniciens d'exploitation ou les DBA, qui ne sont pas forcément compétents en COBOL, ont besoin de connaître le JCL quand ils travaillent sur Z/OS

  7. #7
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 497
    Par défaut
    Bonjour à tous et merci bernard59139 et escartefigue pour vos infos,

    J'ai actuellement quelque chose dans le spool.

    Maintenant que j'ai quelque chose dans le spool, je suis toujours en JCL ERROR et voici l'erreur que j'ai :

    IEF210I MATEATC STEP2 SORTOUT - UNIT FIELD SPECIFIES INCORRECT DEVICE NAME
    IEF272I MATEATC STEP2 - STEP WAS NOT EXECUTED.


    Le fichier concerné par le LYKE dans le STEP2 et un fichier avec une organisation 'PS' en fix bloqué de 80.
    Je vous remet le STEP2 tel qu'il est actuellement

    000030 //STEP2 EXEC PGM=SORT
    000031 //SYSOUT DD SYSOUT=* /* COMPTE RENDU D'EXECUTION
    000032 //SORTIN DD DSN=MATEAT.COB.ASSURES,DISP=SHR /* FICHIER A COPIER
    000033 //SORTOUT DD DSN=&&TEMP,DISP=(,PASS),LIKE=MATEAT.COB.ASSURES
    000034 //SYSIN DD *
    000035 SORT FIELDS=(62,1,CH,D)
    000036 //

    Si quelqu'un peut m'expliquer le message d'erreur et comment y remédier ça serait sympa.

  8. #8
    Membre Expert Avatar de bernard59139
    Profil pro
    Retired
    Inscrit en
    Octobre 2006
    Messages
    961
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Retired

    Informations forums :
    Inscription : Octobre 2006
    Messages : 961
    Par défaut
    bonjour

    modifie le SORTOUT comme ceci:
    //SORTOUT DD DSN=&&TEMP,DISP=(,PASS),LIKE=MATEAT.COB.ASSURES;
    // UNIT=3390
    ca devrait être ok

    Pour connaitre l'origine du problème, il faut te rapprocher des personnes compétentes du site.
    une configuration SMS peut être...

    a+

  9. #9
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 497
    Par défaut
    Merci bernard59139,

    Mais après différent essais et type d'écriture, ça ne fonctionne pas.

    Sinon j'ai essayé de contacter par mail ou je loue mon serveur, on verra bien si j'ai un retour.

    En attendant si vous avez d'autres idée je suis preneur.

  10. #10
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 497
    Par défaut
    Apparemment il faudrait mettre 'UNIT=SYSALLDA', cependant j'ai toujours un JCL ERROR


    Citation Envoyé par bernard59139 Voir le message

    sans le rapport de job complet(a ne pas diffuser ici), difficile de répondre
    Ou puis je mettre un rapport de JOB

  11. #11
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 516
    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 : 10 516
    Billets dans le blog
    10
    Par défaut
    Sans communiquer tout le CR du job, je pense que vous pouvez communiquer au moins la partie JESYSMSG dans laquelle il ne devrait pas y avoir de données sensibles.

  12. #12
    Membre éclairé
    Homme Profil pro
    En reconversion
    Inscrit en
    Mai 2006
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En reconversion

    Informations forums :
    Inscription : Mai 2006
    Messages : 497
    Par défaut
    Ok merci escartefigue.

    Et j'ai résolu mon problème avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //SORTOUT  DD    DSN=&&TEMP,DISP=(,PASS),UNIT=SYSALLDA,  
    //         SPACE=(TRK,(1,1))

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/12/2021, 20h35
  2. Réponses: 3
    Dernier message: 09/04/2019, 15h26
  3. Besoin d'aide pour tâche CRON "Error incorrect request".
    Par Invité dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 13
    Dernier message: 25/05/2018, 19h35
  4. Besoin d'aide pour contourner une internal compiler error
    Par Laurent Gomila dans le forum C++
    Réponses: 18
    Dernier message: 27/06/2006, 23h09
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 18h05

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