Précédent   Forum du club des développeurs et IT Pro > Autres langages > Autres langages > Cobol
Cobol Forum d'entraide sur la programmation en langage Cobol
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/08/2012, 15h01   #1
Julien Del
Nouveau Membre du Club
 
Développeur COBOL
Inscription : mai 2009
Messages : 29
Détails du profil
Informations personnelles :
Âge : 39
Localisation : France, Paris (Île de France)

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

Informations forums :
Inscription : mai 2009
Messages : 29
Points : 29
Points : 29
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
Citation:
SELECT SORTIE ASSIGN TO SORTIE
ORGANIZATION IS SEQUENTIAL
ACCESS IS SEQUENTIAL
FILE STATUS IS SORTIE-STATUS.
et le step de mon JCL
Citation:
//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é.
Julien Del est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2012, 19h54   #2
Luc Orient
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 163
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 54
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 163
Points : 1 971
Points : 1 971
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) :

Citation:
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 ?
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2012, 08h33   #3
Julien Del
Nouveau Membre du Club
 
Développeur COBOL
Inscription : mai 2009
Messages : 29
Détails du profil
Informations personnelles :
Âge : 39
Localisation : France, Paris (Île de France)

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

Informations forums :
Inscription : mai 2009
Messages : 29
Points : 29
Points : 29
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 :
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
Julien Del est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2012, 21h32   #4
bernard59139
Membre émérite
 
Avatar de bernard59139
 
Administrateur de base de données
Inscription : octobre 2006
Messages : 600
Détails du profil
Informations personnelles :
Localisation : France

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

Informations forums :
Inscription : octobre 2006
Messages : 600
Points : 893
Points : 893
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+
bernard59139 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2012, 23h05   #5
Luc Orient
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 163
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 54
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 163
Points : 1 971
Points : 1 971
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 ).


Citation:
CBLQDA controls COBOL QSAM dynamic allocation on an OPEN statement.
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 29/08/2012, 08h33   #6
bernard59139
Membre émérite
 
Avatar de bernard59139
 
Administrateur de base de données
Inscription : octobre 2006
Messages : 600
Détails du profil
Informations personnelles :
Localisation : France

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

Informations forums :
Inscription : octobre 2006
Messages : 600
Points : 893
Points : 893
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
bernard59139 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2012, 17h43   #7
Julien Del
Nouveau Membre du Club
 
Développeur COBOL
Inscription : mai 2009
Messages : 29
Détails du profil
Informations personnelles :
Âge : 39
Localisation : France, Paris (Île de France)

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

Informations forums :
Inscription : mai 2009
Messages : 29
Points : 29
Points : 29
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 :
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)
Julien Del est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2012, 19h55   #8
Luc Orient
Membre Expert

 
Homme François Durand
Spécialiste Delivery Mainframe IBM
Inscription : octobre 2005
Messages : 1 163
Détails du profil
Informations personnelles :
Nom : Homme François Durand
Âge : 54
Localisation : France, Seine Saint Denis (Île de France)

Informations professionnelles :
Activité : Spécialiste Delivery Mainframe IBM
Secteur : Finance

Informations forums :
Inscription : octobre 2005
Messages : 1 163
Points : 1 971
Points : 1 971
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 ...)


Citation:
Quelqu'un connait la même option en carte job?
Je ne pense pas que ça soit possible au niveau de la carte JOB ...
Luc Orient est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2012, 10h38   #9
xfanx
Membre actif
 
Inscription : janvier 2008
Messages : 139
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 139
Points : 177
Points : 177
bonjour,

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

voir la documentation ici :
http://publib.boulder.ibm.com/infoce...00%2Fceedd.htm
xfanx est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/08/2012, 09h10   #10
Julien Del
Nouveau Membre du Club
 
Développeur COBOL
Inscription : mai 2009
Messages : 29
Détails du profil
Informations personnelles :
Âge : 39
Localisation : France, Paris (Île de France)

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

Informations forums :
Inscription : mai 2009
Messages : 29
Points : 29
Points : 29
merci xfanx, effectivement
Code :
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)
Julien Del est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h11.


 
 
 
 
Partenaires

Hébergement Web