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 :

Récupérer la taille d'un fichier via DSINFO


Sujet :

Cobol

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 6
    Points : 3
    Points
    3
    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

  2. #2
    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, 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?

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Voici le code du programme COBOL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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***.


  4. #4
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Et toujours un RC = 20....

  6. #6
    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
    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 : 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
    //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)

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    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

  8. #8
    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
    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..

  9. #9
    Membre éclairé Avatar de Peut-êtreUneRéponse
    Homme Profil pro
    IT Specialist - IBM Z
    Inscrit en
    Décembre 2006
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : IT Specialist - IBM Z
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2006
    Messages : 548
    Points : 801
    Points
    801
    Par défaut
    Ou alors:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SYSTSIN DD *
    PROFILE NOPREFIX
    ISPSTART PGM(TESTMCD4)
    /*

  10. #10
    Nouveau Candidat au Club
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    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.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/02/2007, 19h33
  2. Récupérer la taille d'un fichier
    Par kivan666 dans le forum Général JavaScript
    Réponses: 39
    Dernier message: 26/07/2006, 13h15
  3. Récupérer la taille d'un fichier
    Par vodevil dans le forum Langage
    Réponses: 12
    Dernier message: 19/07/2005, 17h53

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