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 :

[COBOL/JCL] pas d'erreur sur OPEN OUTPUT d'un DDNAME inexistant


Sujet :

Cobol

  1. #1
    Nouveau membre du Club
    Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Points : 36
    Points
    36
    Par défaut [COBOL/JCL] pas d'erreur sur OPEN OUTPUT d'un DDNAME inexistant
    Bonjour
    je suis sur un cas de test idiot: supposons que le JCL soit mal écrit et que le DDNAME de mon fichier en sortie soit faux.
    Et bien mon OPEN OUTPUT me renvoie quand même un FILE STATUS à "00".

    Je pensais tomber en erreur "35" mais effectivement sur la documentation IBM il n'y a pas de notion d'OUTPUT

    35 An OPEN statement with the INPUT, I-O, or EXTEND phrase was attempted on a non-optional file that was not present.


    Voici ma déclaration de fichier
    SELECT SORTIE ASSIGN TO SORTIE
    ORGANIZATION IS SEQUENTIAL
    ACCESS IS SEQUENTIAL
    FILE STATUS IS SORTIE-STATUS.
    et le step de mon JCL
    //STEP020 EXEC PGM=TEST0001
    //SYSOUT DD SYSOUT=*
    //SYSDBOUT DD SYSOUT=*
    //SYSUDUMP DD SYSOUT=D
    //KOKOKO DD DSN=D$$TE0.TEST001.SORTIE.OUTPUT,
    // DISP=(NEW,CATLG,CATLG),DSORG=PS,RECFM=FB,LRECL=10,AVGREC=U,
    // SPACE=(10,1)

    Une idée des options à coder pour que je puisse tester mon DDNAME?
    Cela fait moyen sérieux si le programme tourne avec succès mais qu'un fichier vide est généré.

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

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Pour moi ça fonctionne, c'est à dire que j'ai bien un FILE STATUS différent de 00, en fait c'est 96 et pas 35.

    Extrait de la doc COBOL (FILE STATUS) :

    96
    For QSAM file: An OPEN statement with the OUTPUT
    phrase was attempted, or an OPEN statement with the
    I-O or EXTEND phrase was attempted for an optional
    file but no DD statement was specified for the file and
    the CBLQDA(OFF) runtime option was specified

    Deux remarques complémentaires :

    1) le lien que vous indiquez ne concerne pas le COBOL du z/OS mais le COBOL de l'IBM i (il peut y avoir des différences ... )

    2) l'extrait que je donne fait référence à une option du runtime ( CBLQDA à OFF ). Faites vérifier cette option par votre support système.


    Question :

    Quelle version de compilateur COBOL utilisez vous ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Points : 36
    Points
    36
    Par défaut
    c'est bon de savoir qu'il y a bien un message d'erreur de prévu.

    Notre site est sous ENDEVOR donc tout est plutôt bien caché, je vais me rapprocher des personnes du système.

    Sinon dans la sysout de compilation ce qui ressemble le plus à une version de compilateur est "1PP 5655-S71 IBM Enterprise COBOL for z/OS 4.1.0"

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    1PP 5655-S71 IBM Enterprise COBOL for z/OS  4.1.0 
    0Invocation parameters:                           
      DYNAM,DATA(24),LINECOUNT(60)                    
    0Options in effect:                               
      NOADATA                                         
        ADV                                           
        APOST                                         
        ARITH(COMPAT)                                 
      NOAWO                                           
        BUFSIZE(31744)                                
      NOCICS                                          
        CODEPAGE(1140)                                
      NOCOMPILE(E)                                    
      NOCURRENCY                                      
        DATA(24)                                      
      NODATEPROC                                      
     NODBCS                            
     NODECK                            
       DIAGTRUNC                       
     NODLL                             
     NODUMP                            
       DYNAM                           
     NOEXIT                            
     NOEXPORTALL                       
     NOFASTSRT                         
       FLAG(I,E)                       
     NOFLAGSTD                         
       INTDATE(ANSI)                   
       LANGUAGE(EN)                    
       LIB                             
       LINECOUNT(60)                   
     NOLIST                            
       MAP                             
     NOMDECK                           
     NONAME                            
       NSYMBOL(DBCS)            
     NONUMBER                   
       NUMPROC(MIG)             
       OBJECT                   
       OFFSET                   
       OPTIMIZE(STD)            
       OUTDD(SYSOUT)            
       PGMNAME(COMPAT)          
       RENT                     
       RMODE(AUTO)              
     NOSEQUENCE                 
       SIZE(MAX)                
       SOURCE                   
       SPACE(1)                 
     NOSQL                      
       SQLCCSID                 
     NOSSRANGE                  
     NOTERM                     
     NOTEST                     
      NOTHREAD                                         
        TRUNC(BIN)                                     
      NOVBREF                                          
      NOWORD                                           
    1PP 5655-S71 IBM Enterprise COBOL for z/OS  4.1.0  
    0   XMLPARSE(XMLSS)                                
        XREF(SHORT)                                    
        YEARWINDOW(1900)                               
        ZWB

  4. #4
    Membre chevronné Avatar de bernard59139
    Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2006
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2006
    Messages : 950
    Points : 2 064
    Points
    2 064
    Par défaut
    Le fait qu'un ddname n'existe pas et que le RC soit à 00 à l'OPEN, cela ne vient d'une option de compil, mais du LE (langage environnement).

    Dans ce cas, un fichier temporaire est créé et perdu à la fin du job.
    Ca se voit dans le rapport de job.

    A voir avec les gens du systeme (parm OCSTATUS si j'en crois ma doc).

    a+

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

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Citation Envoyé par bernard59139 Voir le message
    ... parm OCSTATUS si j'en crois ma doc ...
    OCSTATUS ( OPEN CLOSE STATUS ) c'est pour le FORTRAN ...

    Pour le COBOL c'est CBLQDA ( COBOL QSAM DYNAMIC ALLOCATON ).


    CBLQDA controls COBOL QSAM dynamic allocation on an OPEN statement.

  6. #6
    Membre chevronné Avatar de bernard59139
    Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2006
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2006
    Messages : 950
    Points : 2 064
    Points
    2 064
    Par défaut
    super!

    J'avais analyser ce genre de situation et j'avais gardé un début d'analyse.
    il y a presque 10 ans déjà.

    troll
    Le résultat de notre début de recherche avait été transmis aux personnes concernées qui se sont empressées de ne rien faire. Je suis mauvaise langue, elles ont peut être fait qque chose, mais on ne répond pas aux presta.
    /troll

  7. #7
    Nouveau membre du Club
    Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Points : 36
    Points
    36
    Par défaut PARM='/CBLQDA(OFF)'
    truc marrant: en rajoutant une option au pgm, là mon OPEN finit bien par un FILE-STATUS à 96

    Quelqu'un connait la même option en carte job?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    //STEP020 EXEC PGM=TEST0001,PARM='/CBLQDA(OFF)' 
    //SYSOUT DD SYSOUT=* 
    //SYSDBOUT DD SYSOUT=* 
    //SYSUDUMP DD SYSOUT=D 
    //KOKOKO DD DSN=D$$TE0.TEST001.SORTIE.OUTPUT, 
    // DISP=(NEW,CATLG,CATLG),DSORG=PS,RECFM=FB,LRECL=10,AVGREC=U,
    // SPACE=(10,1)

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

    Informations professionnelles :
    Activité : Retraité
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 473
    Points : 3 283
    Points
    3 283
    Par défaut
    Citation Envoyé par Julien Del Voir le message
    truc marrant: en rajoutant une option au pgm, là mon OPEN finit bien par un FILE-STATUS à 96
    C'est normal puisque c'est l'une des façons d'outrepasser ("override" en anglais) les options du LE. A contrario, ça prouve bien que sur votre site l'option CBLQDA est à ON (choix curieux puisque même IBM le déconseille mais bon ...)


    Quelqu'un connait la même option en carte job?
    Je ne pense pas que ça soit possible au niveau de la carte JOB ...

  9. #9
    Membre averti
    Femme Profil pro
    Architecte technique
    Inscrit en
    Janvier 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2008
    Messages : 179
    Points : 350
    Points
    350
    Par défaut
    bonjour,

    en carte Job, non mais en DDname oui avec //CCEOPTS

    voir la documentation ici :
    http://publib.boulder.ibm.com/infoce...00%2Fceedd.htm

  10. #10
    Nouveau membre du Club
    Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Points : 36
    Points
    36
    Par défaut
    merci xfanx, effectivement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //CEEOPTS  DD  *                                                 
       CBLQDA(OFF)                                                   
    /*
    fonctionne très bien.


    Sinon j'ai parlé à l'équipe système, effectivement ils sont embêtés car ils ont dû rater une option lors d'une montée de version.

    (je ne mets pas encore à cet item à Résolu, je vais attendre un peu pour vous raconter ce que l'équipe système va faire)

Discussions similaires

  1. [V7] Page blanche sur le web OpenERP mais pas d'erreur sur OpenERP-server.log
    Par Simon1992 dans le forum Odoo (ex-OpenERP)
    Réponses: 5
    Dernier message: 22/08/2014, 09h22
  2. Réponses: 1
    Dernier message: 24/03/2011, 13h38
  3. Erreur sur un window.open lors du deuxième appel
    Par Mike_69 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 02/04/2007, 10h40
  4. Erreur sur la page (pas de zoom des miniatures)
    Par Auvergnator dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 22/09/2006, 13h25
  5. Réponses: 7
    Dernier message: 12/08/2005, 10h47

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