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 :

variable dans nom de fichier


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 variable dans nom de fichier
    Bonjour

    j'ai un JCL MVS dans lequel je transfère un fichier sur serveur FTP :

    000080 //TRANSFC EXEC PGM=FTP,
    000081 // PARM='(EXIT'
    000082 //SYSOUT DD SYSOUT=*
    000083 //SYSPRINT DD SYSOUT=*
    000084 //SYSABEND DD SYSOUT=*
    000085 //OUTPUT DD SYSOUT=*
    000086 //INPUT DD DSN=UL1PAT.PPE.JCL.BELO.SYSIN(ETSAPLS),
    000087 // DISP=SHR
    000088 // DD *
    000089 SENDSITE
    000090 LOCSITE TRAILINGBLANKS RECFM=FB LRECL=73
    000091 PUT //DD:FICIN LISTE-ANOMALIES-GAE.TXT
    000092 DIR
    000093 QUIT
    000094 //FICIN DD DSN=UL1PAT.REC.SAPHI.ANO2,
    000095 // DISP=SHR

    Comment faire pour insérer la date du jour dans le nom du fichier cible (ligne 91 de l'exemple :
    LISTE-ANOMLIES-GAE-jjmmaaaa


    merci d'avance

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 41
    Points : 108
    Points
    108
    Par défaut
    Bonjour,

    tu peux essayer avec l'utilitaire EZACFMS1 (un exemple dans la file Paramétrage dans un JCL du 11/12/2012).

    Cela pourrait donner :
    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
    //TRANFTP1 JOB (xxxx,,,1000),xxxx,CLASS=D,MSGCLASS=K,               
    //    MSGLEVEL=(1,0),NOTIFY=&SYSUID                           
    //*******  PREMIER JOB  ************************************************
    //STEP01   EXEC PGM=EZACFSM1                                            
    //SYSIN    DD DATA,DLM=àà                                               
    //*******  SECOND JOB  *************************************************
    //TRANFTP2  JOB (xxxx,TSO),TRFTP,CLASS=D,MSGCLASS=K,                 
    //          NOTIFY=&SYSUID,MSGLEVEL=(1,0)                   
    //TRANSFC EXEC PGM=FTP, 
    //        PARM='(EXIT' 
    //SYSOUT DD SYSOUT=* 
    //SYSPRINT DD SYSOUT=* 
    //SYSABEND DD SYSOUT=* 
    //OUTPUT DD SYSOUT=* 
    //INPUT DD DSN=UL1PAT.PPE.JCL.BELO.SYSIN(ETSAPLS), 
    //	 DISP=SHR 
    // 	 DD * 
     SENDSITE 
     LOCSITE TRAILINGBLANKS RECFM=FB LRECL=73 
     PUT //DD:FICIN LISTE-ANOMALIES-GAE-DU&YYMMDD..TXT 
     DIR 
     QUIT 
    //FICIN DD DSN=UL1PAT.REC.SAPHI.ANO2, 
    // 	DISP=SHR 
    //*                                 
    àà                                                             
    //SYSOUT DD SYSOUT=(A,INTRDR)                                  
    //*

  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 LeonK Voir le message
    ... tu peux essayer avec l'utilitaire EZACFMS1 ...
    Hum ... ça sent l'utilitaire "maison" ça ...



    On peut aussi faire la même chose avec ICETOOL.

    Voir :
    Envoi ftp à partir du host - paramétrer le nom du fichier

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 41
    Points : 108
    Points
    108
    Par défaut
    Bonjour,

    je suis un peu dyslexique : c'est le EZACFMS1

    Sinon, c'est le genre utilitaire maison IBM :
    http://publib.boulder.ibm.com/infoce...02%2Fhead6.htm

  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 Help...!!
    Bonjour

    merci pour vos réponses.... j'essaye mais je n'y arrive pas

    voici cz que j'ai codé... j'ai bien un code retour à 0 mais le job ne transfère plus rien....

    merci pour votre aide

    cdt


    //*
    //* TRANSFERT FICHIER LISTE ANOS SUR Y:USERS\ETUD\SAPHIR
    //*
    //STEP01 EXEC PGM=EZACFSM1
    //SYSIN DD DATA,DLM=àà
    /*
    //*****
    //TRANSFC EXEC PGM=FTP,
    // PARM='(EXIT'
    //SYSOUT DD SYSOUT=*
    //SYSPRINT DD SYSOUT=*
    //SYSABEND DD SYSOUT=*
    //OUTPUT DD SYSOUT=*
    //INPUT DD DSN=UL1PAT.PPE.JCL.BELO.SYSIN(ETSAPLS),
    // DISP=SHR
    // DD *
    SENDSITE
    LOCSITE TRAILINGBLANKS RECFM=FB LRECL=72
    PUT //DD:FICIN LISTE-ANOMALIES-GAE-DU&YYMMDD..TXT
    DIR
    QUIT
    //FICIN DD DSN=UL1PAT.REC.SAPHI.ANO2,
    // DISP=SHR
    //*
    àà
    //SYSOUT DD SYSOUT=(A,INTRDR)
    //*

  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
    J'espère que ce n'est pas de la PROD...

    Il te manque une carte job, copier dans INTRDR n'est pas SUBMIT, le job doit être parfait.

    perso, je metrtai le job de transfert dans OPC, ca serait bcp plus simple..

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 41
    Points : 108
    Points
    108
    Par défaut
    Bonjour,

    lorsque le Job encapsulé possède lui-même une SYSIN contenant des références symboliques, il y a un piège car la transcodifiication peut décaler vers la gauche les N° de lignes stockés en position 73 à 80.

    Un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    //ESSAI00L JOB (GVXX),RE7,CLASS=L,MSGCLASS=T,NOTIFY=&SYSUID             00010004
    //STEP01   EXEC PGM=EZACFSM1                                            00020004
    //SYSIN DD DATA,DLM=àà                                                  00030004
    //ESSAI00M  JOB (GVXX),RE7,CLASS=L,MSGCLASS=T                           00040004
    //STEP01 EXEC PGM=IDCAMS                                                00050004
    //SYSPRINT DD SYSOUT=*                                                  00060004
    //SYSUT1   DD DISP=SHR,DSN=ESSAI.ESSAI.ESSAI                            00070004
    //SYSUT2   DD DSN=ESSAI.ESSAI.ESSAI.D&YYMMDD..T&HHMMSS,                 00080005
    //         DISP=(MOD,CATLG,DELETE),LIKE=ESSAI.ESSAI.ESSAI               00090004
    //SYSIN    DD *                                                         00100004
       REPRO INFILE(SYSUT1) ODS('ESSAI.ESSAI.ESSAI .D&YYMMDD..T&HHMMSS')    00110005
    àà                                                                      00120004
    //SYSOUT DD SYSOUT=(A,INTRDR)                                           00130004
    ça va donner une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    IDCAMS  SYSTEM SERVICES                                           TIME: 10:32:28
                                                                                    
        REPRO INFILE(SYSUT1) ODS('ESSAI.ESSAI.ESSAI.D130507.T083228')     00110005  
    IDC3211I KEYWORD '00' IS IMPROPER                                               
    IDC3202I ABOVE TEXT BYPASSED UNTIL NEXT COMMAND. CONDITION CODE IS 12           
                                                                                    
    IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 12
    Il faut utiliser le UNNUM sur le JCL pour supprimer les N° de ligne (voir le thread JCL et N° à droite ci-dessous)

Discussions similaires

  1. Utiliser variable dans nom de fichier
    Par Aurianelm dans le forum Macro
    Réponses: 3
    Dernier message: 10/07/2013, 14h07
  2. SSIS - Variable dans nom fichier destination
    Par edony44 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 08/10/2007, 09h31
  3. Variable dans Nom d'une Textbox
    Par kristell dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/09/2007, 22h53
  4. Utiliser une variable comme nom de fichier
    Par lo00_ dans le forum MATLAB
    Réponses: 1
    Dernier message: 28/06/2006, 13h57
  5. Shell - Récupérer une variable dans un autre fichier
    Par claralavraie dans le forum Linux
    Réponses: 9
    Dernier message: 11/01/2006, 16h25

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