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 :

balayage sur un fichier


Sujet :

JCL - SORT

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur COBOL
    Inscrit en
    Septembre 2019
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Septembre 2019
    Messages : 17
    Points : 23
    Points
    23
    Par défaut balayage sur un fichier
    Bonjour
    j'ai un fichier en entrée , format FB, et je souhaite balayer ce fichier selon matricule pic x(5).
    le fichier contiens 1 millions d'enregistrements

    le bute est d'extraire :

    les matricules de 00001- 50000 dans un fichier1
    les matricules de 50001-70000 dans un fichier2

    le reste je ne prend pas

    est-ce que c'est possible avec un jcl ?
    merci de me donnée un exemple svp

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 765
    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 765
    Points : 10 748
    Points
    10 748
    Par défaut
    Bonjour, oui c'est possible tu trouveras de nombreux exemples dans cette partie du forum. L'utilitaire est le DFSORT ou ICETOOL. Quelque chose du genre (je n'ai pas moyen de tester) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //COPY EXEC PGM=SORT
    //SYSOUT DD SYSOUT=*
    //SORTIN DD DSN=..,DISP=SHR
    //SYSIN DD *
    SORT FIELDS=COPY
    OUTFIL FILES=1,INCLUDE=(1,5,CH,GT,C'00001',AND,1,5,CH,LT,C'50000')
    OUTFIL FILES=2,INCLUDE=(1,5,CH,GT,C'50001',AND,1,5,CH,LT,C'70000')
    //SORTOF1 DD DSN=...,DISP=(NEW,...
    //SORTOF2 DD DSN=...,DISP=(NEW,...

  3. #3
    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
    Citation Envoyé par Darkzinus Voir le message
    Bonjour, oui c'est possible tu trouveras de nombreux exemples dans cette partie du forum. L'utilitaire est le DFSORT ou ICETOOL. Quelque chose du genre (je n'ai pas moyen de tester) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //COPY EXEC PGM=SORT
    //SYSOUT DD SYSOUT=*
    //SORTIN DD DSN=..,DISP=SHR
    //SYSIN DD *
    SORT FIELDS=COPY
    OUTFIL FILES=1,INCLUDE=(1,5,CH,GT,C'00001',AND,1,5,CH,LT,C'50000')
    OUTFIL FILES=2,INCLUDE=(1,5,CH,GT,C'50001',AND,1,5,CH,LT,C'70000')
    //SORTOF1 DD DSN=...,DISP=(NEW,...
    //SORTOF2 DD DSN=...,DISP=(NEW,...
    Il me semble que l'opérateur GT c'est " > " mais au sens strict ( pas " >= " ), je prendrais plutôt GE ( " GREATER THAN OR EQUAL TO " ).

    Pareil pour LT vs LE.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Développeur COBOL
    Inscrit en
    Septembre 2019
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Septembre 2019
    Messages : 17
    Points : 23
    Points
    23
    Par défaut
    Merci pour l'exemple

    j'ai changé : FILES par FNAMES, /GT par GE et LT par LE.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    OUTFIL FNAMES=1,INCLUDE=(1,5,CH,GE,C'00001',AND,1,5,CH,LE,C'50000')
    OUTFIL FNAMES=2,INCLUDE=(1,5,CH,GE,C'50001',AND,1,5,CH,LE,C'70000')

    merci infiniment

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Ingénieur d'Etude Mainframe/AS400
    Inscrit en
    Novembre 2012
    Messages
    1 765
    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 765
    Points : 10 748
    Points
    10 748
    Par défaut

    Citation Envoyé par Luc Orient Voir le message
    Il me semble que l'opérateur GT c'est " > " mais au sens strict ( pas " >= " ), je prendrais plutôt GE ( " GREATER THAN OR EQUAL TO " ).

    Pareil pour LT vs LE.
    Effectivement, j'avais fait le truc un peu à la va vite sur un exemple à moi qui traînait et mes souvenirs du mainframe.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/04/2004, 10h41
  2. Récupérer les infos sur un fichier audio
    Par Halleck dans le forum Windows
    Réponses: 13
    Dernier message: 17/04/2004, 18h39
  3. Pointer sur un fichier FILE *
    Par Biou Pink Powa dans le forum C
    Réponses: 3
    Dernier message: 29/01/2004, 14h45
  4. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53
  5. reHELP sur un fichier SQL
    Par asken dans le forum Langage SQL
    Réponses: 2
    Dernier message: 08/06/2003, 23h35

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