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

JCL - SORT Discussion :

JCL - Concaténation fichiers


Sujet :

JCL - SORT

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut JCL - Concaténation fichiers
    Bonjour,

    Je tiens tout d'abord à préciser que je suis débutant en mainframe je m'excuse donc si la réponse à ma question est évidente, je ne trouve tout simplement pas la réponse.

    Mon souci est le suivant :

    J'ai un JCL très long que je dois modifier, dans ce JCL j’implante, plusieurs fois un programme qui lis le nombre de ligne du fichiers et qui ensuite écris en sortie une seule ligne contenant les infos que je voulais.

    Maintenant je voudrais fusionner un par un, au fur et à mesure du programme les fichiers résultant dans un SEUL fichier global. Or je ne trouve que des solutions où à chaque fois je devrais créer un nouveau fichier à chaque concaténation.

    Sous forme imagée cela devrait donner cela :

    Nom : JCL-Tri.png
Affichages : 4639
Taille : 7,6 Ko


    Y aurait il un moyen de garder le même fichier en entrée et en sortie d'un SORT ? C'est la seule solution que je vois actuellement, si vous en avez d'autres n'hésitez pas !

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'Etude Mainframe/AS400
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1 763
    Points : 10 740
    Points
    10 740
    Par défaut
    Bonjour,

    J'ai un peu de mal à saisir ta demande. Pourrais-tu faire une exemple avec à mesure les modifications qui interviennent sur ton fichier ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Déjà, merci d'avoir répondu

    Ensuite pour l'explication :

    Imaginons un fichier A vide, c'est dans ce fichier que je voudrais récupérer toutes mes informations.
    Prenons maintenant 2 fichiers B1 et B2 issus de mon programme, ils contiennent chacun une ligne.

    Au premier tri j'ai en entrée le fichier B1 et en sortie le fichier A, qui va donc contenir la ligne du fichier B1.

    Au second tri j'aurai en entrée le fichier A et le fichier B2, en sortie j'aurais de nouveau le fichier A, cette fois contenant la ligne de B1 puis de B2 (ou l'inverse peu importe) et non pas un nouveau fichier C.

    Je voudrais en fait garder le même nom de fichier, A dans l'exemple précédent, tout au long de mon JCL.

    J'espère avoir été plus clair.

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'Etude Mainframe/AS400
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1 763
    Points : 10 740
    Points
    10 740
    Par défaut
    Tu veux dire garder le même DSN pour ton fichier enrichi au cours de divers traitement ? En COBOL tu peux définir un fichier en I/O c'est à dire INPUT OUTPUT. (Tu peux donc avoir pour un même DSN le fichier en entrée/sortie.
    Autrement pour ce qui est de la concaténation "pure" tu es l'option MOD dans le paramètre DISP (d'allocation des fichiers) qui ajoute des lignes sur un fichier existant. Cela répond-il en partie à ta question ?

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'Etude Mainframe/AS400
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1 763
    Points : 10 740
    Points
    10 740
    Par défaut
    Voici un exemple de concaténation (ici le fichier B existe déjà et c'est le fichier A qui est concaténé à celui-ci) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //CONCAT EXEC PGM=SORT                                                                                           
    //SYSPRINT DD  SYSOUT=*                                        
    //SYSOUT   DD  SYSOUT=*                                                                        
    //SORTIN   DD  DSN=FICB,DISP=SHR              
    //         DD  DSN=FICA,DISP=SHR          
    //SORTOUT  DD  DSN=FICB,                  
    //             DISP=(MOD,CATLG,DELETE),                        
    //             DCB=*.SORTIN                                    
    //SYSIN    DD  *                                               
        SORT FIELDS=COPY                                 
    /*

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Oui c'est bien garder le même DSN qu'il me faut, je vais tester ta solution, je te tiens au courant si j'arrive à la faire fonctionner (ou pas ).

    Merci !

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Alors pour le fin mot de l'histoire :

    Mon entreprise interdis les fichiers en DISP=MOD, cette solution était donc impossible.

    Au final je vais utiliser un fichier à multiples générations, et créer une nouvelle génération du fichier à chaque tri.

    Merci beaucoup pour ton aide !

  8. #8
    Membre chevronné Avatar de bernard59139
    Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2006
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Octobre 2006
    Messages : 950
    Points : 2 064
    Points
    2 064
    Par défaut
    Dans l'exemple donné par Darkzinus le DISP=MOD n'est pas obligatoire, un DISP=(NEW,CATLG,..) donne le même résultat, à la condition que le fichier n'existe pas.
    a+

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 763
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'Etude Mainframe/AS400
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 1 763
    Points : 10 740
    Points
    10 740
    Par défaut
    Citation Envoyé par Kanade Voir le message
    Alors pour le fin mot de l'histoire :

    Mon entreprise interdis les fichiers en DISP=MOD, cette solution était donc impossible.

    Au final je vais utiliser un fichier à multiples générations, et créer une nouvelle génération du fichier à chaque tri.

    Merci beaucoup pour ton aide !
    Effectivement le DISP=MOD est assez peu utilisé en PROD car en cas d'anomalie sur un STEP on n'a aucun fichier intermédiaire permettant de rejouer une partie de traitement. La solution du GDG peut être pas mal si ton fichier est par exemple un stock.

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

Discussions similaires

  1. JCL : concaténation de paramètres?
    Par ekans dans le forum JCL - SORT
    Réponses: 2
    Dernier message: 02/04/2009, 17h58
  2. Concaténer fichiers en Perl
    Par Arg0l dans le forum Langage
    Réponses: 4
    Dernier message: 09/03/2009, 17h10
  3. concaténation fichier video
    Par kain31 dans le forum C++
    Réponses: 3
    Dernier message: 22/03/2007, 15h50
  4. [VBA-E]Concaténer fichier texte
    Par illight dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 11/05/2006, 11h16
  5. concaténer fichiers texte ligne par ligne
    Par tiboleo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/03/2006, 14h45

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