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 :

VSAM: utilisation d'une clé partielle


Sujet :

Cobol

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Points : 132
    Points
    132
    Par défaut VSAM: utilisation d'une clé partielle
    Bonsoir,

    Est-il possible d'utiliser des clés "partielles" avec les fichiers VSAM?
    J'ai un fichier avec la structure suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    01 ENREGISTREMENT-FICHIER-VSAM.
        05 CLE-FICHIER.
            10 CLE-PARTIELLE-1               PIC X(06).
            10 CLE-PARTIELLE-2               PIC X(06).
        05 ENREGISTREMENT-FIN-FICHIER PIC X(1000).
    et le contenu suivant (seules les clés sont mentionnées)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    111111TOTOTO
    111111TITITI
    222222TUTUTU
    222222TATATA
    Je souhaiterai interroger (= lire?) le VSAM uniquement en valorisant CLE-PARTIELLE-1 avec 111111 et récupérer les valeurs des 2 enregistrements:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    111111TOTOTO
    111111TITITI
    Est-ce possible? Si oui, comment faut-il procéder?
    En me renseignant, j'ai cru comprendre qu'il fallait passer par une instruction START et une instruction READ NEXT mais je ne parviens pas à coder cela de façon à ce que ça fonctionne.
    De plus, je connais la valeur de CLE-PARTIELLE-1 mais comment doit-être valorisée CLE-PARTIELLE-2 pour trouver les enregistrements correspondants à la valeur de CLE-PARTIELLE-1?

    D'avance merci.

  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
    Bonsoir.

    Je ne sais pas si c'est valable pour VSAM, en principe :

    - avant le START, on renseigne la partie majeure de la clé, ici CLE-PARTIELLE-1 avec 111111 et le reste des clés à LOW-VALUE, ici CLE-PARTIELLE-2.

    - START... NOT LESS CLE-FICHIER INVALID "non trouvé"

    - READ ... NEXT jusqu'à fin fichier ou CLE-PARTIELLE-1 différent de 111111

    - si la lecture est réussie, tu as les différentes valeurs de CLE-PARTIELLE-2

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 278
    Points : 132
    Points
    132
    Par défaut
    Avec un peu de retard, je répond.

    La solution de Hédhili Jaïdane fonctionne!
    Merci.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/12/2012, 11h57
  2. Réponses: 0
    Dernier message: 08/12/2011, 23h26
  3. Réponses: 4
    Dernier message: 22/02/2010, 15h47
  4. Utilisation d'une dll écrite en delphi 5 dans VB6
    Par Jean-Louis dans le forum Langage
    Réponses: 4
    Dernier message: 05/08/2002, 09h19
  5. Réponses: 4
    Dernier message: 05/06/2002, 14h35

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