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 :

concaténation de plusieurs de fichiers


Sujet :

z/OS

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut concaténation de plusieurs de fichiers
    Bonjour,

    j'ai un trou...

    Je sais qu'il est possible de concaténer des fichiers de DCB différents avec
    ICEGENER (contrairement à IEBGENER).

    mais quelle est la règle exactement.

    On met les fichiers qui ont la plus grande longueur en premier et les plus petits
    à la fin , c'est bien ça ?

    Merci.

  2. #2
    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
    A mon avis on ne peut pas concatenner des fichiers de LRECL différents, ni avec IEBGENER, ni avec ICEGENER, ni même avec un sort fields=copy trivial. Pour le blksize pas de pb mais pour le lrecl, il faut je pense passer par un step pour mettre au format du plus grand lrecl le plus petit.
    ICEGENER est fait pour bénéficier des techniques de cache du controleur. Il est donc plus rapide qu'IEBGENER, encore que l'on peut faire en sorte à l'install qu'un EXEC IEBGENER execute DFSORT, mais il me semble cependant que dans certains cas de SYSIN, ICEGENER renvoie la balle à IEBGENER. Donc il est sans doute plus pratique d'utiliser le plus souvent un sort fields=copy qu'iebgener avec tous les bénéfices de la doc dfsort pour les erreurs et les cas particuliers. Pour avoir comparé les performances des deux et apprécier moyennement les techniques de ruptures sans tenir compte des doublons d'IEBGENER, il me semble qu'IEBGENER est à mettre au placard sauf à faire en sorte comme sur certains sites qu'il appelle DFSORT. Mais ce n'est qu'un avis personnel !

    nb. j'ai un peu hésité avant d'ajouter cette remarque et je sais que je n'arriverai pas à être clair, mais pour revenr à concatener des LRECL différents, même en imaginant un PGM Assembleur spécial ça me semble impossible. le LRECL est dans le DCB du fichier et est nécessaire à la méthode d'accès. Pour du variable on peut toujours s'en sortir, mais pour du FB c'est IO erreur assuré en QSAM. Il faudrait imaginer un programme Assembleur de lecture BSAM par blocs mais alors comment calculer l'enregistement logique à rendre s'ils ne sont pas identiques ? En variable pas de pb, c'est dans le record. En fixe aucun autre moyen que de récupérer le LRECL à l'OPEN, donc c'est perdu d'avance. Bref, s'il existe un seul programme capable de lire des fichiers concaténés FB de LRECL différents, j'aimerai voir, ça me semble une prouesse technique assez invraissemblable.

  3. #3
    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
    Il existe une possibilité, à mon sens à éviter en production, qui consiste à écrire les enregistrements du fichier dont le LRECL est le plus petit à la suite du fichier dont le LRECL est le plus grand :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    //COPIE    EXEC PGM=ICEGENER                
    //SYSUT1   DD  DSN=MON.FICHIER.LRECL080,DISP=SHR
    //SYSUT2   DD  DSN=MON.FICHIER.LRECL120,DISP=MOD
    //SYSIN    DD  DUMMY                        
    //SYSPRINT DD  SYSOUT=*
    Ce n'est pas à proprement parler d'une concaténation, sinon comme le dit Homer-ac il y aurait des pb de DCB, avec le renvoi d'un code 12.

    .

  4. #4
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Merci pour cette réponse complète.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/02/2015, 21h54
  2. Réponses: 1
    Dernier message: 18/02/2014, 17h32
  3. Concaténation de plusieurs fichiers en un seul
    Par poullodiery dans le forum Shell et commandes GNU
    Réponses: 17
    Dernier message: 18/05/2013, 23h59
  4. [XL-2003] Concaténation de plusieurs fichiers .txt
    Par n.simona dans le forum Excel
    Réponses: 2
    Dernier message: 27/05/2011, 15h49
  5. Concaténation de plusieurs gros fichiers
    Par tnarol dans le forum Programmation et administration système
    Réponses: 7
    Dernier message: 11/09/2009, 16h19

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