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 :

[z/OS] Compter le nombre de ligne d'un fichier VSAM


Sujet :

Cobol

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [z/OS] Compter le nombre de ligne d'un fichier VSAM
    Bonjour à tous,

    Connaissez-vous une méthode pour connaître le nombre total de lignes et/ou par clé d'un fichier VSAM via un programme COBOL ?
    Je souhaite éviter la lecture du fichier avec la gestion d'un compteur.

    Merci de votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Bonjour.

    Perso, je ne pense pas qu'on puisse le faire par Cobol à moins de lire tout le fichier, il faudrait passer par le JCL pour extraire les attributs du fichier, dont certainement le nbre des enregistrements réels, supprimés, etc...

  3. #3
    Membre confirmé Avatar de Homer-ac
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 449
    Points : 586
    Points
    586
    Par défaut
    Comptage par clé, c'est de la gestion : il faudra lire le fichier
    Comptage global, on a le nombre d'enregistrements au catalogue (à condition toutefois que les stats soient à jour (VERIFY IDCAMS en amont au besoin).
    En COBOL, CALL IDCAMS avec le LISTCAT en SYSIN. Je n'ai pas vérifié mais il n'y a pas de raison pour que celà ne fonctionne pas. Je préfère des CALL IGGCSI pour des raisons de performances. Des exemples IGGCSIxx en SYS1.SAMPLIB mais uniquement en REXX et en Assembleur. Je l'ai testé en COBOL, ça marche mais c'est un peu plus difficile, assez en tous cas pour ne pas pouvoir proposer un exemple simple (on récupère les informations catalogue des attributs spécifiquement demandés, il faut ensuite traduire celles-ci).

  4. #4
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour et merci pour vos réponses.

    Je ne connaissais pas les commandes CALL IDCAMS et CALL IGGCSI. Cependant je ne vais pas pouvoir les mettre en pratique car je dois mettre ne place une solution portable (MVS, UNIX et Windows).
    Je pense donc m'orienter sur un programme de lecture du fichier pour compter,
    puis insérer un enregistrement de type compteur dans le fichier.

    Encore merci.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 362
    Points : 419
    Points
    419
    Par défaut
    Citation Envoyé par L5Premier Voir le message
    Je pense donc m'orienter sur un programme de lecture du fichier pour compter,
    puis insérer un enregistrement de type compteur dans le fichier.
    Cette solution, je l'ai déjà mise en œuvre, un enregistrement spécifique qui contient la dernière clé utilisée (le même principe qu'un compteur). En mise à jour, il faut penser à mettre un verrou sur l'enregistrement compteur avant d'insérer ou de supprimer un autre enregistrement, sinon, tu peux avoir des problèmes de concurrence d'accès.

  6. #6
    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 L5Premier Voir le message
    ... Cependant je ne vais pas pouvoir les mettre en pratique car je dois mettre ne place une solution portable (MVS, UNIX et Windows).
    VSAM est disponible aussi sous UNIX et Windows ?
    J'en suis fort surpris ...

  7. #7
    Expert confirmé
    Homme Profil pro
    ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Inscrit en
    Juin 2007
    Messages
    2 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : ANCIEN Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 096
    Points : 4 155
    Points
    4 155
    Par défaut
    Citation Envoyé par L5Premier Voir le message
    ...
    le nombre total de ligne et/ou par clé d'un fichier... via un programme COBOL ?
    En fait c'est quoi le but de la manoeuvre ?

  8. #8
    Candidat au Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Je travail sur un produit disponible sur plusieurs plateforme.
    Donc sur MVS j'utilise des fichiers VSAM et sur Windows et UNIX des fichiers avec indexes.
    J'essaye donc d'avoir une compatibilité technique la plus proche entre chaque machine pour que le portage soit le plus efficace et un comportement similaire entre les machines.

    Le but de la manoeuvre et d'afficher dans une application cliente les données de la clé du fichier sous la forme d'un arbre. Cependant suivant la volumétrie du fichier, la construction de l'arbre peut être longue.
    Au final je souhaite proposer une interface avec arbre sur plusieurs pages. C'est pour ça que je veux avoir le nombre d'éléments du fichier.

    En espérant avoir été limpide ...

    Encore merci pour vos réponses et vos idées.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 03/06/2007, 10h53
  2. Compter le nombre de ligne dans un fichier
    Par amine_en_france dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 31/05/2007, 17h19
  3. Compter le nombre de lignes d'un fichier ?
    Par [ZiP] dans le forum Delphi
    Réponses: 5
    Dernier message: 22/03/2007, 14h08
  4. Compter le nombre de lignes d'un fichier excel
    Par Freerideuse dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/07/2006, 21h49
  5. Réponses: 2
    Dernier message: 02/03/2004, 19h38

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