Précédent   Forum des professionnels en informatique > 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 Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/10/2011, 10h13   #1
Invité de passage
 
Homme
Inscription : octobre 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2011
Messages : 4
Points : 0
Points : 0
Par défaut Récupérer la taille d'un fichier via DSINFO

Bonjour,

Via la fonction DSINFO, je voudrais récupérer la taille d'un fichier passé en paramètre dans un programme COBOL.

En codant ceci :

CALL ISPLINK USING DSINFO DSNAME.

J'ai un RC = 20 .

Comment faire ?

Merci
Nageur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2011, 16h30   #2
Membre habitué
 
Inscription : janvier 2008
Messages : 123
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 123
Points : 144
Points : 144
bonjour, peux tu nous donner la définitions des variables en working de ton USING?
vu que tu call ISPLINK, tu dois au minimum dans ton JCL etre sous environnement TSO genre IKJEFT01
et avoir les PDS ISPF en ligne, genre //ISPLLIB et autre
c'est le cas?

la SYSPRINT est vide?
xfanx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 07h46   #3
Invité de passage
 
Homme
Inscription : octobre 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2011
Messages : 4
Points : 0
Points : 0
Bonjour,

Voici le code du programme COBOL :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 WORKING-STORAGE SECTION.
 01 DSINFO   PIC X(08) VALUE 'DSINFO  '.
 01 ISPLINK  PIC X(08) VALUE 'ISPLINK '.
 01 VGET     PIC X(08) VALUE 'VGET    '.
 01 DSNAME   PIC X(44) VALUE 'CTR.L208656.RESULT'.
 01 ZDSTOTU  PIC X(13) VALUE 'ZDSTOTU      '.
*
 PROCEDURE DIVISION.
*
 DEBUT.
     CALL ISPLINK  USING DSINFO   DSNAME.
     DISPLAY RETURN-CODE UPON SYSOUT.
et le JCL :

Code :
1
2
//TESTMCD  EXEC PGM=TESTMCD4,PARM='CTR.L208656.RESULT'
//SYSOUT DD SYSOUT=*
J'ai le même résultat RC = 20 même en ajoutant les bibliothèques ISP***.

Nageur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 10h26   #4
Expert Confirmé
 
Inscription : décembre 2007
Messages : 1 909
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : décembre 2007
Messages : 1 909
Points : 3 718
Points : 3 718
hum, je ne vois pas ou ton programme récupère le paramètre contenant le nom du fichier.

Je pense qu'il te faut une linkage :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
******************************************************************
 LINKAGE SECTION.                                                 
******************************************************************
 01  PARM.                                                        
     03  PARM-LONG PIC 9(4) COMP.                       
*    PARAMETRE                                 
     03  NOMFICH PIC X(44).                                   
                                                                  
                                                                  
                                                                  
******************************************************************
 PROCEDURE DIVISION  USING PARM .                                 
******************************************************************
Et dans NOMFICH, tu as le nom du fichier dont tu veux connaitre la longueur. Un petit move dans DSNAME(je suppose que c'est le nom du fichier à voir, je ne connais pas cet utilitaire), et ça devrait plus ressembler à ce que tu cherches.
__________________
Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
3)le temps de comprendre toutes les exigences, le projet est terminé
4)le temps de terminer le projet, les exigences ont changé
Et le serment de non-allégiance :
Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.
el_slapper est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/10/2011, 11h23   #5
Invité de passage
 
Homme
Inscription : octobre 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2011
Messages : 4
Points : 0
Points : 0
Et toujours un RC = 20....
Nageur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 11h59   #6
Membre habitué
 
Inscription : janvier 2008
Messages : 123
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 123
Points : 144
Points : 144
a mon avis ton RC=20 vient simplement du fait que ton programme n'est pas sous environnement TSO et ispf. c'est ce que je t'ai deja dit dans mon précédent post...

ton JCL doit être du genre :
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
//STEP1 EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*                                                  
//SYSPRINT DD SYSOUT=*                                                  
//SYSTERM  DD SYSOUT=*                                                  
//SYSUDUMP DD SYSOUT=*                                                  
//SYSPRINT DD SYSOUT=*                                                  
//SYSOUT   DD SYSOUT=*
//ISPPROF  DD DISP=SHR,DSN=...            
//ISPFILE  DD DISP=SHR,DSN=...           
//ISPLOG   DD DUMMY,DCB=(RECFM=VB,LRECL=121,BLKSIZE=13000)              
//ISPPLIB  DD DISP=SHR,DSN=...                                 
//ISPMLIB  DD DISP=SHR,DSN=...                                  
//ISPTLIB  DD DISP=SHR,DSN=...                                 
//ISPSLIB  DD DISP=SHR,DSN=...                 
//ISPLLIB  DD DISP=SHR,DSN=...       
//STEPLIB  DD DISP=SHR,DSN=...                  
//SYSEXEC  DD DISP=SHR,DSN=...               
//ISPWRK1  DD DISP=NEW,UNIT=VIO,SPACE=(TRK,(200,50)),            
//            DCB=(LRECL=256,BLKSIZE=2560,RECFM=FB)              
//ISPWRK2  DD DISP=NEW,UNIT=VIO,SPACE=(TRK,(200,50)),            
//            DCB=(LRECL=256,BLKSIZE=2560,RECFM=FB)              
//ISPWRK3  DD DISP=NEW,UNIT=VIO,SPACE=(TRK,(200,50)),            
//            DCB=(LRECL=256,BLKSIZE=2560,RECFM=FB)              
//ISPWRK4  DD DISP=NEW,UNIT=VIO,SPACE=(TRK,(200,50)),            
//            DCB=(LRECL=256,BLKSIZE=2560,RECFM=FB)              
//SYSTSIN  DD *
ISPSTART PGM(TESTMCD4)  -                                          
         PARM(CTR.L208656.RESULT)
xfanx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 14h22   #7
Invité de passage
 
Homme
Inscription : octobre 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : octobre 2011
Messages : 4
Points : 0
Points : 0
Bonjour,

Le JCL est bien un ISPSTART PGM.... mais cette fois, j'ai un RC=8

ISPSTART PGM(TESTMCD4)
ISPD118
The initially invoked module ended with a return code = 8

Il n'y a plus de paramètre, le nom du fichier est en dur dans le pgm.

Cdlt
Nageur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 16h56   #8
Membre habitué
 
Inscription : janvier 2008
Messages : 123
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 123
Points : 144
Points : 144
un RC=8 sur un DSINFO signifie que le fichier n'existe pas..

s'il existe vraiment, je me demande s'il ne faudrait pas ajouter des quotes au nom de ton fichier quand tu lances le DSINFO, j ai bien peur qu'il ajoute un prefixe sinon..
xfanx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/11/2011, 23h29   #9
Membre chevronné
 
Avatar de Peut-êtreUneRéponse
 
Homme Guillaume VENTRE
z/OS Technical Leader
Inscription : décembre 2006
Messages : 514
Détails du profil
Informations personnelles :
Nom : Homme Guillaume VENTRE
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : z/OS Technical Leader
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2006
Messages : 514
Points : 617
Points : 617
Ou alors:
Code :
1
2
3
4
SYSTSIN DD *
PROFILE NOPREFIX
ISPSTART PGM(TESTMCD4)
/*
__________________
★★ Documentation Mainframe par Guillaume Ventre ★★
Peut-êtreUneRéponse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/11/2011, 01h14   #10
Invité de passage
 
Femme
Architecte de système d'information
Inscription : novembre 2011
Messages : 1
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : novembre 2011
Messages : 1
Points : 1
Points : 1
Par défaut Réponse à Nageur

Je ne suis pas très satisfaite de retrouver ma problématique sur ce site, surtout quand les éléments envoyés ne sont pas exacts et ne correspondent pas à ce que je suis en train de tester.
De plus pas très malin d'avoir laissé mon user dans le nom du fichier communiqué sur une des réponses faites par NAGEUR.
J'apprécierai que NAGEUR se fasse connaître en interne ou j'aurai apprécié qu'il me fasse part de sa démarche!!!!!!!
Je désapprouve totalement la démarche faite par NAGEUR.
nageur1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h24.


 
 
 
 
Partenaires

Hébergement Web