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 :

Adaptation de la taille de fichier de sortie .txt (par FTP) après un sort


Sujet :

JCL - SORT

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 105
    Points : 71
    Points
    71
    Par défaut Adaptation de la taille de fichier de sortie .txt (par FTP) après un sort
    Bonjour a tous,

    J'ai voulu etre le plus clair possible dans le titre.J'effectue le tri d'un fichier par le programme SORT en incluant des conditions et en effectuant un bild par la suite pour obtenir les informations sélectionnées à la suite des autres.

    Enfin, je transforme mon fichier en .txt. Seulement, en sortie, je vois sur mon fichier en passant par le mode hexa des blancs après les informations sélectionnées.Y at-il un moyen de "tronquer" la ligne pour supprimer ces blancs et donc adapté la fin de ligne a la taille des informations récupérées?

    Merci

  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
    Faudrait voir ce que tu as codé pour se prononcer ...

  3. #3
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 105
    Points : 71
    Points
    71
    Par défaut
    Sans problème, je voulais savoir si vous aviez une fonction qui vous venait comme cela mais voila la bete, j'ai vu une fonction IFOUTLEN=n qui permet de tronquer à une longueur déterminer par n pour les format de sortie (tronquer si ltext>ifoutlen et remplacer par les blancs si ltext<ifoutlen) mais cela marche avec dfsort.

    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
     //BATCHLD JOB CLASS=0,MSGCLASS=H,                        
     //      REGION=0M,NOTIFY=UZ10834                         
     //*                                                      
     /*JOBPARM S=UZG1                                         
     //*                                                      
     //S005     EXEC PGM=EQQDELDS                             
     //*                                                      
     //SYSPRINT DD SYSOUT=*                                   
     //*                                                      
     //S010     EXEC PGM=EQQYCAIN,PARM='TURC,MSGOFF,,,MISSCP',
     //         REGION=8M                                     
     //*                                                      
     //STEPLIB  DD DISP=SHR,DSN=UZGP.TWUR.SEQQLMD0            
     //         DD DISP=SHR,DSN=UZGP.GEN.LINKLIB              
     //EQQMLIB  DD DISP=SHR,DSN=UZGP.TWUR.MESSAGES            
     //         DD DISP=SHR,DSN=UZGP.TWUR.SEQQMSG0            
     //EQQYPARM DD DISP=SHR,DSN=UZGP.TWUR.PARMLIB(TURPIF)     
     //SYSPRINT DD SYSOUT=*                                   
     //BATCHL   DD DSN=UZ10834.BATCH,                         
     //         SPACE=(CYL,(50,100),RLSE),DISP=(,CATLG)       
     //OI       DD SYSOUT=*                                   
     //AD       DD SYSOUT=*                                   
     //CPOC     DD SYSOUT=*                                   
     //CPOP     DD SYSOUT=*        
    //EXPORTAD DD SYSOUT=*                                
    //EXPORTOI DD SYSOUT=*                                
    //ERREUR   DD SYSOUT=*                                
    //EQQMLOG  DD SYSOUT=*                                
    //EQQDUMP  DD SYSOUT=*                                
    //*SYSPRINT DD SYSOUT=*                               
    //SYSUDUMP DD SYSOUT=*                                
    //*                                                   
    //SYSIN    DD *                                       
    ACTION=OPTIONS,BL=Y,BLPRT=Y,ERROR=N;                  
    ACTION=LIST,RESOURCE=ADCOM,ADID=*;                    
    //S03      EXEC PGM=FTP,PARM='(EXIT'                  
    //*                                                   
    //NETRC    DD DISP=SHR,DSN=UZGP.FTP.PARMLIB(FTPURBUZ) 
    //*                                                   
    //OUTPUT   DD SYSOUT=*                                
    //SYSPRINT DD SYSOUT=*                                
    //*                                                   
    //SYSFTPD  DD *                                       
     NETRCLEVEL 2                                         
     CONDDISP DELETE                                      
    //INPUT    DD *                                       
    FTP01.retraite.lan                                    
    CD T:\xxx\xxxx                             
    ASCII                     
    PUT 'xxx.xxx' +              
           xxx_xxx.TXT
    QUIT

  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
    Bonjour

    le SORT, il est où?

    Les fichier avec un RECFM=FB sont souvent remplis avec des "espaces" en fin de ligne.
    Ce qui devrait être le cas pour le fichier UZ10834.BATCH.

    Mais (le MAIS est important) le FTP devrait supprimer les "espaces" en fin de ligne, sauf option par défaut de votre site, option TRAILingblanks/NOTRAILingblanks.


    Donc, sans tous les éléments, il m'est impossible de proposer une solution (si elle existe).

    a+

  5. #5
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2015
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2015
    Messages : 105
    Points : 71
    Points
    71
    Par défaut
    En effet, il n'y a pas de sort car je me suis trompé de JCL toute mes excuses.

    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
    //SLCBATCH JOB CLASS=0,MSGCLASS=H,NOTIFY=UZ10834           
    //S1 EXEC PGM=IDCAMS                                       
    //SYSPRINT DD SYSOUT=*                                     
    //SYSIN DD *                                               
      DELETE UZ10834.BATCHS                                    
      SET MAXCC=0                                              
    //S2 EXEC PGM=SORT                                         
    //SORTIN DD DISP=SHR,DSN=UZ10834.BATCH                     
    //SORTOUT DD DISP=(NEW,CATLG),                             
    // SPACE=(TRK,(50,100),RLSE),                              
    // DCB=(RECFM=FB,LRECL=80,BLKSIZE=0),                      
    // DSN=UZ10834.BATCHS                                      
    //SYSOUT DD SYSOUT=*                                       
    //SYSIN DD *                                               
      SORT FIELDS=(COPY)                                       
      INCLUDE COND=(011,011,CH,EQ,C'ACTION(ADD)',OR,           
                    003,006,CH,EQ,C' ADID(',OR,                
                    003,007,CH,EQ,C' OWNER(',OR,               
                    003,005,CH,EQ,C' DESCR(',OR,               
                    009,007,CH,EQ,C'PREADID(')                 
                                                               
      OUTREC PARSE=(%00=(STARTAFT=C'(',ENDBEFR=C')',FIXLEN=30))
                    BUILD=(1:%00)                              
    
    //S03      EXEC PGM=FTP,PARM='(EXIT'                 
    //*                                                  
    //NETRC    DD DISP=SHR,DSN=UZGP.FTP.PARMLIB(FTPURBUZ)
    //*                                                  
    //OUTPUT   DD SYSOUT=*                               
    //SYSPRINT DD SYSOUT=*                               
    //*                                                  
    //SYSFTPD  DD *                                      
    NETRCLEVEL 2                                         
    CONDDISP DELETE                                      
    //INPUT    DD *                                      
    FTP01.retraite.lan                                   
    CD T:\TEMPORAIRE\xxx                            
    ASCII                                                
    PUT 'xxx' +                               
           xxx.txt                         
    QUIT
    Y a t-il un autre moyen que de joué sur les paramètres txt?

  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
    Bonjour

    1. change LRECL=FB en LRECL=VB
    2. dans la sysin, change
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      OUTREC PARSE=(%00=(STARTAFT=C'(',ENDBEFR=C')',FIXLEN=30)),
          BUILD=(1:%00)
      en
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      OUTFIL FTOV,VLTRIM=C' ',
          PARSE=(%00=(STARTAFT=C'(',ENDBEFR=C')',FIXLEN=30))
          BUILD=(%00)


    bon weekend
    +

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

Discussions similaires

  1. Tabulation dans fichier de sortie .txt
    Par Marinedu26 dans le forum Pascal
    Réponses: 1
    Dernier message: 28/10/2011, 06h43
  2. Formatage fichier de sortie txt /csv via isql / analyseur
    Par jayan dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 08/01/2008, 15h15
  3. Réponses: 1
    Dernier message: 23/01/2007, 08h39
  4. Réponses: 1
    Dernier message: 07/09/2006, 20h07
  5. transférer un fichier de manière sécurisé par ftp
    Par jack_1981 dans le forum Développement
    Réponses: 2
    Dernier message: 22/12/2005, 14h15

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