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 :

DFSORT : concatener deux zones


Sujet :

z/OS

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2013
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 19
    Points : 15
    Points
    15
    Par défaut DFSORT : concatener deux zones
    Bonjour

    je suis nouveau sur le forum..... et souhaiterais savoir si quelqu'un sait comment résoudre mon souci

    je désire (via dfsort) concatener deux zones d'un fichier en entrée dans une seule zone dans un fichier de sortie

    zone 1 de 18 caractères
    zone 2 de 16 caractères

    résultat en 20 caractères

    exemple zone 1 = 'DE NIRO '
    zone 2 = 'ROBERT '
    résultat ' DE NIRO ROBERT '

    j'ai eu beau parcourir la doc, je n'ai pas trouvé....

    merci d'avance pour votre aide

    cordialement

  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
    C'est sans doute du coté de l'opérateur BUILD qu'il te faudra chercher ...

    Par contre, où sont les zones en entrée et en sortie ?

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 767
    Points : 10 764
    Points
    10 764
    Par défaut
    Bonjour,

    Effectivement pour un reformatage il faut voir du côté de l'opérateur Build. Par contre s'agit-il d'un cas de développement ? Car s'il s'agit de quelque chose destiné à être livré en PROD je doute que l'opérateur build soit autorisé. En général sur site, on passe par programmes plus que par JCL pour ce genre d'opérations.

  4. #4
    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
    si les 2 "zones" sont contigues, cela peut être assez simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SORT FIELDS=COPY
    OUTFIL BUILD=(1,72,SQZ=(SHIFT=LEFT,MID=C' '))

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2013
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 19
    Points : 15
    Points
    15
    Par défaut syntaxe
    merci pour vos premiers retours...

    concernant le build de la dernière réponse, je dois avoir des problèmes de syntaxe.....

    mon fichier en entrée fait 791 caractères et mes deux zones se trouvent en 758 pour une longueur de 18 (nom) et en 776 pour une longueur de 16 (prenom)


    BESSIERES MARIE CLAIRE
    CCEECCDCE444444444DCDCC4CDCCDC4444

    comment coder pour avoir en sortie en position 792, ma zone concaténée ??

    merci d'avance

  6. #6
    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
    vite fait et à adapter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //S1      EXEC PGM=SORT                                 
    //SYSOUT  DD SYSOUT=*                                   
    //SORTIN  DD *                                          
    ----+----1----+----2----+----3----+----4----+----5----+-
    AA NOM               PRENOM    ****
    //SORTOUT DD SYSOUT=*      
    //SYSIN   DD *            
      SORT FIELDS=COPY    
      INREC PARSE=(%01=(ABSPOS=3,FIXLEN=10),  
                   %02=(ABSPOS=22,FIXLEN=10)), 
         BUILD=(1,80,%01,%02)  
      OUTFIL OUTREC=(1,80,81,20,SQZ=(SHIFT=LEFT,MID=C' '))

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2013
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Février 2013
    Messages : 19
    Points : 15
    Points
    15
    Par défaut
    ça marche ...!!!!

    merci beaucoup

    cordialement

Discussions similaires

  1. Concaténer deux fichiers Ligne/Ligne avec SH
    Par guiltouf dans le forum Linux
    Réponses: 7
    Dernier message: 22/05/2007, 14h35
  2. Concatener deux fichiers
    Par eown dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/04/2006, 14h07
  3. concatener deux listes
    Par adel25 dans le forum C++
    Réponses: 1
    Dernier message: 22/09/2005, 12h56
  4. Concatener deux champs
    Par Neo41 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/07/2005, 16h15
  5. concatener deux champs ?
    Par Nadaa dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 03/08/2004, 11h57

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