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

z/OS Discussion :

Produit Cartésien avec SORT ou ICETOOL


Sujet :

z/OS

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Points : 184
    Points
    184
    Par défaut Produit Cartésien avec SORT ou ICETOOL
    Bonjour

    J'ai une manipulation de fichier à réaliser.

    J'ai le fichier 1 qui contient un seul et unique enregistrement

    Puis, j'ai un second fichier qui contient plusieurs enregistrements

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    DETAIL1
    DETAIL2
    DETAIL3
    ...
    DETAILn
    Je souhaites pouvoir par JCL, réaliser un produit cartésien pour obtenir en sortie autant d'enregistrement du fichier 2 mais avec le contenu de l'enregistrement du fichier 1 devant chacun

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CHAMPA CHAMPB CHAMPC DETAIL1
    CHAMPA CHAMPB CHAMPC DETAIL2
    CHAMPA CHAMPB CHAMPC DETAIL3
    ...
    CHAMPA CHAMPB CHAMPC DETAILn
    Savez vous si cela est possible ?
    « Ne me faites pas d'objections.
    Les difficultés en feront assez d'elles-mêmes. »

    sir Winston Churchill

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

    Une solution possible :

    L'idée est de générer sur les fichiers une clé fictive de même valeur pour tous les enregistrements pour faire la jointure ensuite.

    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
    30
    31
    32
    33
    34
    35
    36
    37
    //ICETOOL EXEC PGM=ICETOOL,REGION=1024K 
    //TOOLMSG DD SYSOUT=* 
    //DFSMSG DD SYSOUT=* 
    //TOOLIN DD * 
     COPY FROM(INDD) TO(OUTDD) USING(CTL1) 
    //INDD DD * 
    CHAMPA CHAMPB CHAMPC 
    //CTL1CNTL DD * 
     OUTREC BUILD(C'A',1,20) 
    //OUTDD DD DISP=(NEW,PASS),DSN=&&TEMP1, 
    // AVGREC=U,SPACE=(80,(100,10)) 
    //* 
    //ICETOOL EXEC PGM=ICETOOL,REGION=1024K 
    //TOOLMSG DD SYSOUT=* 
    //DFSMSG DD SYSOUT=* 
    //TOOLIN DD * 
     COPY FROM(INDD) TO(OUTDD) USING(CTL1) 
    //INDD DD * 
    DETAIL1 
    DETAIL2 
    DETAIL3 
    DETAILN 
    //CTL1CNTL DD * 
     OUTREC BUILD(C'A ',1,7) 
    //OUTDD DD DISP=(NEW,PASS),DSN=&&TEMP2, 
    // AVGREC=U,SPACE=(80,(100,10)) 
    //* 
    //SORT EXEC PGM=SORT 
    //SYSOUT DD SYSOUT=* 
    //SYSIN DD * 
     JOINKEYS FILES=F1,FIELDS=(1,1,A) 
     JOINKEYS FILES=F2,FIELDS=(1,1,A) 
     REFORMAT FIELDS=(F1:2,20,F2:2,8) 
     SORT FIELDS=COPY 
    //SORTJNF1 DD DISP=SHR,DSN=&&TEMP1 
    //SORTJNF2 DD DISP=SHR,DSN=&&TEMP2 
    //SORTOUT DD SYSOUT=*

    Et le résultat ( ici écrit dans le SYSOUT ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    CHAMPA CHAMPB CHAMPC DETAIL1 
    CHAMPA CHAMPB CHAMPC DETAIL2 
    CHAMPA CHAMPB CHAMPC DETAIL3 
    CHAMPA CHAMPB CHAMPC DETAILN

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Janvier 2003
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2003
    Messages : 339
    Points : 184
    Points
    184
    Par défaut
    C'est exactement ça. Merci pour cette astuce !!
    « Ne me faites pas d'objections.
    Les difficultés en feront assez d'elles-mêmes. »

    sir Winston Churchill

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

Discussions similaires

  1. [AC-2010] Probleme avec les produits cartésiens
    Par marcus crassus dans le forum Access
    Réponses: 4
    Dernier message: 06/08/2014, 08h27
  2. Réponses: 1
    Dernier message: 27/04/2012, 10h06
  3. Est-ce possible avec sort ??
    Par LE NEINDRE dans le forum Langage
    Réponses: 1
    Dernier message: 22/12/2005, 17h59
  4. [debutante][list] trier avec sort()
    Par norkius dans le forum Débuter
    Réponses: 10
    Dernier message: 24/10/2005, 18h13
  5. Pb de tri avec "sort"
    Par blueice dans le forum Langage
    Réponses: 2
    Dernier message: 20/10/2005, 12h19

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