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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    octobre 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2009
    Messages : 29
    Points : 19
    Points
    19

    Par défaut Gestion affichage display dans un JCL

    bonjour,

    suite à un test contrôlant la présence d'un membre dans un PDS, j'affiche une erreur à l'écran, par contre j'aurai voulu variabiliser le nom du fichier sur la ligne SE, mais malgré plusieurs tests, cela ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    //DISPLAY  EXEC  PGM=IKJEFT01,DYNAMNBR=35,       
    //   COND=((1111,EQ,CTRLXREF),(0,EQ,CTRLXREF))   
    //SYSOUT   DD SYSOUT=R                           
    //SYSPRINT DD SYSOUT=R                           
    //SYSUDUMP DD SYSOUT=R                           
    //SYSTSPRT DD SYSOUT=Z                           
    //SYSTSIN  DD *                                  
      PROFILE NOPREFIX INTERCOM                      
      SE 'LE FICHIER XREF &fichier EST ABSENT',USER(*)
    //*

  2. #2
    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 : 576
    Points
    576

    Par défaut

    Cette question des variables dans un SYSIN est assez récurrente
    En JCL natif : C'est INTERDIT
    via une soumission par un ordonnanceur comme OPC : OUI, ils savent gérer.
    Solution souvent proposée, passer par un programme REXX ou autre qui recopie dans un fichier FB 80 ce qu'il a reçu en PARM, où là on peut poster des variables. Pour le cas évoqué puisque l'on fait de toute façon un EXEC PGM = IKJEFT01, autant appeler directement un REXX qui fait le SEND TSO.
    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
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    //V1       SET V1='MON.FICHIER.A.TESTER'                    
    //*------- COPY DU REXX SUR PDS DE TRAVAIL ----------*      
    //STEP01   EXEC PGM=IEBGENER                                
    //SYSUT1   DD   *,DLM=$$                                    
    /* REXX */                                                  
    ARG PARM                                                    
    ADDRESS TSO STRIP(PARM)                                     
    EXIT 0                                                      
    $$                                                          
    //SYSPRINT DD   SYSOUT=*                                    
    //SYSUT2   DD   DISP=(,PASS,DELETE),DSN=&&REXX(TMPREXX),    
    //         SPACE=(TRK,(15,15,5),RLSE),                      
    //         DCB=(RECFM=FB,LRECL=80,BLKSIZE=0,DSORG=PO)       
    //SYSIN    DD   *                                           
     GENERATE MAXFLDS=9                                         
     RECORD   FIELD=(80,1,,1)                                   
    //*                                                         
    //*--------------------------------------------------*      
    //*------- EXECUTION DU REXX ------------------------*      
    //REXX02   EXEC PGM=IKJEFT01,                               
    // PARM=('TMPREXX SE ''! FICHIER &V1 ABSENT !'',U(&SYSUID)')
    //SYSPROC  DD   DISP=(OLD,DELETE),DSN=&&REXX                
    //* SYSPROC  DD   DISP=SHR,DSN=MON.PDS.DE.REXX              
    //SYSTSPRT DD   SYSOUT=*                                    
    //SYSTSIN  DD   DUMMY                                       
    //
    Ici on passe directement à TSO la commande passée en PARM, mais il y a deux steps parce que le REXX est en SYSIN généré. Pour le cas posté, on a un STEP qui s'exécute via un COND=. Il suffit de recopier les 3 lignes du REXX at minima de l'exemple dans un membre PDS qui sera spécifié dans la DD SYSPROC du step IKJEFT01.

    NB. User(*) dans le SEND TSO ? Ca risque de faire pas mal de monde !

Discussions similaires

  1. [AC-2003] Gestion affichage heure dans un etat
    Par POCHON 69 dans le forum IHM
    Réponses: 3
    Dernier message: 22/05/2010, 09h17
  2. gestion affichage dans pannel
    Par Septembre84 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 25/05/2008, 23h17
  3. gestion affichage dans la vue (MFC - C++)
    Par kam42 dans le forum MFC
    Réponses: 5
    Dernier message: 04/12/2007, 18h13
  4. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 12h20
  5. Réponses: 2
    Dernier message: 11/05/2004, 12h17

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