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 :

Commande OUTFIL dans un tri


Sujet :

z/OS

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Commande OUTFIL dans un tri
    Dans mon JCL j'ai le bout de code ci-dessous:

    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    //*  *------------------------------------* 
    //*  * STEP : TRI0002 PROGRAM : SORT      * 
    //*  *------------------------------------* 
    //*                                         
    //TRI0002  EXEC PGM=SORT                            
    //*                                                 
    //SORTIN   DD  DSN=FICBPTES.TRI2,         
    //             DISP=(SHR)                           
    //SYSUT2   DD  DSN=FICBPTES.TRI6,         
    //             DISP=(,CATLG),                       
    //             LRECL=1000,                          
    //             RECFM=FB,                            
    //             DSORG=PS,                            
    //             AVGREC=M,                            
    //             SPACE=(1,(10,10),RLSE)               
    //SYSUT3   DD  DSN=FICBPTES.TRI7,    
    //             DISP=(,CATLG),               
    //             LRECL=1000,                  
    //             RECFM=FB,                    
    //             DSORG=PS,                    
    //             AVGREC=M,                    
    //             SPACE=(1,(10,10),RLSE)       
    //SYSUT4   DD  DSN=B100FE01,      
    //             DISP=(,CATLG),               
    //             LRECL=1000,                  
    //             RECFM=FB,                    
    //             DSORG=PS,                    
    //             AVGREC=M,                    
    //             SPACE=(1,(10,10),RLSE)       
    //*                                                                                  
    //SYSIN    DD  *                                            
    //*  SORT  FIELDS=COPY                                      
      OPTION COPY                                               
      OUTFIL FNAMES=SYSUT2,OMIT=((332,8,CH,GE,C'20050101'),OR,  
                    (332,8,CH,EQ,C'        '),OR,               
                    (332,8,CH,LE,C'20041231',AND,               
                     340,2,CH,NE,C'ED',AND,                     
                     340,2,CH,NE,C'EA',AND,                     
                     340,2,CH,NE,C'EF',AND,                     
                     340,2,CH,NE,C'ER',AND,                     
                     340,2,CH,NE,C'ES',AND,                     
                     340,2,CH,NE,C'ET',AND,                     
                     340,2,CH,NE,C'IN')) 
      OUTFIL FNAMES=SYSUT3,INCLUDE=((3,2,CH,EQ,C'21',OR
                     3,2,CH,EQ,C'22'),AND,             
                     ((332,8,CH,NE,C'        ',AND,    
                      1,2,CH,EQ,C'CA'),OR,             
                     (584,8,CH,LE,C'20090101',AND,     
                      620,2,CH,EQ,C'ES')))             
      OUTFIL FNAMES=SYSUT4,SAVE           
    //*                                   
    //SYSOUT   DD  SYSOUT=*         
    //SYSPRINT DD  SYSOUT=*      
    //*
    lorsque je soumets mon job j'ai le message d'erreur ci-dessous

    STEP WAS EXECUTED - COND CODE 0016
    Précisions:mes critères de selection dans le OMIT et le INCLUDE sont OK, mais je ne comprends pas pourquoi ça plante. c'est peut-être un souci au niveau de la syntaxe...

    Je suis débutante en cobol.

    Merci de votre aide.

  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
    [fait]Ce n'est pas un sujet COBOL ...A déplacer dans le forum z/OS ...

    C'est une erreur avec l'utilitaire SORT ...

    De plus, il doit y avoir un autre message d'erreur différent de celui indiqué ici ... cherchez bien ...

    Edit :

    ça me semble pas bon ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //SYSIN    DD  *                                            
    //*  SORT  FIELDS=COPY                                      
      OPTION COPY
    essayez plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //SYSIN    DD  *                                            
      SORT  FIELDS=COPY                                      
      OPTION COPY
    En plus, "OPTION COPY" me semble en trop puisqu'on a déjà "SORT FIELDS=COPY"

  3. #3
    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
    Bonjour,
    Effectivement il faudrait le détail des messages.
    Je ne pense pas que l'option COPY gène, mais effectivement à virer si on utilise en plus un SORT FIELDS=COPY, inutile de se faire peur pour rien.
    A chaud je voterais pour une erreur au moins ici (il manque une virgule après le OR de fin de ligne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    OUTFIL FNAMES=SYSUT3,INCLUDE=((3,2,CH,EQ,C'21',OR
                     3,2,CH,EQ,C'22'),AND,
    Au passage, j'assaierai de simplifier les tests, ici en particulier via SS (pour search) à la place du format CH qui va permettre de poser une liste de valeurs (c'est un truc moins connu pour une liste de valeurs que pour une recherche sur des colonnes bornées, mais souvent pratique). Ca donnerait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OUTFIL FNAMES=SYSUT3,INCLUDE=((3,2,SS,EQ,C'21,22'),AND,
    Comme ça, on peut pour beaucoup simplifier le SYSIN.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Merci à tous pour votre aide. Mon tri fonctionne et me retourne bien mes résultats.
    J'ai supprimé le commentaitre //* SORT FIELDS=COPY
    //SYSIN DD *
    OPTION COPY

    La commande SS (pour search) à la place du format CH est vraiment très pratique (je ne la connaissais pas), cela simplifie la lisibilité du code.

    Merci encore à tous et à bientôt

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/10/2004, 12h04
  2. commande shell dans un programme
    Par diefo dans le forum C
    Réponses: 3
    Dernier message: 15/08/2003, 13h37
  3. Réponses: 2
    Dernier message: 24/06/2003, 20h31
  4. [TP]Peut-on mettre un commande dos dans le prog?
    Par pierre olmes dans le forum Turbo Pascal
    Réponses: 22
    Dernier message: 24/05/2003, 22h28
  5. [langage] Commande DOS dans un programme
    Par Jibees dans le forum Langage
    Réponses: 15
    Dernier message: 23/04/2003, 12h08

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