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 :

Option iebcopy select


Sujet :

z/OS

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut Option iebcopy select
    Bonjour,

    J’ai regardé dans la doc, mais je n’ai pas trouvé, alors je pose quand même la question..

    Est-il possible de copier des membres de façon générique :

    Select member=(rac*)

    Merci d’avance pour votre aide.

  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 : 586
    Points
    586
    Par défaut
    La reponse est non avec l'IEBCOPY standard IBM
    Toutefois certains sites ont installé PDSMAN qui fournit entre autres un IEBCOPY acceptant le générique. A défaut, comme souvent, un REXX qui fait un relevé des membres (TSO LISTDS) et génére l'IEBCOPY, ou mieux via un LMCOPY qui accepte effectivement le générique. Ou enfin, trivialement par JCL (LISTPDS IEHLIST + SORT avec l'INCLUDE et l'OUTREC qui va bien + IEBCOPY des membres passés dans le SYSIN généré par le step SORT).
    Exemple REXX ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ..........
    /* COPY DU MEMBRE */
    Address ISPEXEC
    "LMINIT DATAID(DDIN1) DATASET("PDSIN") ENQ(SHRW)"
    "LMINIT DATAID(DDOUT) DATASET("PDSOU") ENQ(SHRW)"
    "LMCOPY FROMID("DDIN1") FROMMEM("MEMBER")" ,
         "TODATAID("DDOUT") REPLACE"
    WRC = RC
    "LMFREE DATAID("DDIN1")" 
    "LMFREE DATAID("DDOUT")" 
    RETURN WRC

  3. #3
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Bonjour et merci pour cette réponse précise.
    J'ai fait "en attendant une réponse sur ce site un rexx simumaire au votre.
    J'ai juste un petit souci avec ce rexx : Quand je l'utilise en mode Noreplace, il plante avec un message :

    ******************************************************************************
    * ISRLS212 *
    * *
    * Members not replaced *
    * 19 members not replaced, 0 members copied *
    * *
    * *
    * *
    * *
    * *
    * *
    * Current dialog statement: *
    * LMCOPY FROMID(ISR00001) FROMMEM(C*) TODATAID(ISR00002) *
    * *


    existe t-il un moyen d'éviter de sortir brutaelment de cette façon ?

  4. #4
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    j'ai un nouveau poste à ajouter et puisque c'est dans la continuité, je préfère l'ajouter à cet endroit.
    Lorsque je fais le lmcopy via un panel ça marche parfaitement mais lorsque je veux passer par un batch, ça plante avec le message d'erreur ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    ADDRESS ISPEXEC                                                
    "LMINIT DATAID(FICS)  DATASET(xxx.JCLLIB) ENQ(SHRW)"       
      "LMINIT DATAID(FICS)  DATASET(xxx.JCLLIB) ENQ(SHRW)"     
    RC(-3) +++                                                     
    "LMINIT DATAID(FICC)  DATASET(xxx.JCLLIB.TEST) ENQ(SHRW)"  
      "LMINIT DATAID(FICC)  DATASET(xxx.JCLLIB.TEST) ENQ(SHRW)"
    RC(-3) +++                                                     
    "LMCOPY FROMID(&FICS) FROMMEM(C*) TODATAID(&FICC) REPLACE"     
    "LMCOPY FROMID(&FICS) FROMMEM(C*) TODATAID(&FICC) REPLACE"
    le souci c'est que dès que j'ai une commande ispexec, je n'arrive as à passer de rexx par batch. Y a t-il un paramètre à rajouter dans mon jcl :

    //XXX02E JOB (S),MSGCLASS=X,CLASS=O,NOTIFY=PB00302
    /*JOBPARM SYSAFF=*
    //*SICAP SETVAR
    //COPSTE EXEC PGM=IKJEFT01,DYNAMNBR=30,REGION=5000K
    //SYSEXEC DD DSN=XXXX.REXXLIB,DISP=SHR
    //SYSTSPRT DD SYSOUT=*
    //SYSTSIN DD *
    %COPMBR02
    //*

    Merci d'avance pour votre aide.

  5. #5
    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
    1) Pour réponse générale, il faut comprendre que les services LM sont des services ISPF (on passe d'ailleurs un address ISPEXEC en amont dans le REXX). IKJEFT01 est l'interface TSO BATCH. Il doit 'monter' ISPF. C'est l'ordre ISPSTART qui fait ça, étant entendu qu'il est déjà passé dans sa logon procédure TSO, il va manquer en batch avec d'ailleurs tous les PDS nécessaires au fonctionnement d'ISPF. Il faut donc un JCL BATCH ressemblant à ça :
    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
    // job ......
    //PREFISP SET PREFISP='ISP' 
    //REXXLB  SET REXXLB='MY.BIBLIO.DE.REXX'  
    //*----------------------------------------------------------------*
    //IKJ      EXEC PGM=IKJEFT01,DYNAMNBR=100,REGION=4M
    //* Appel direct via PARM=('ISPSTART CMD(%MONREXX MYPARAM')
    //SYSTSIN  DD  *
    PROFILE NOPREFIX
    ISPSTART CMD(%MONREXX MYPARAM)
    //SYSPROC  DD DSN=&PREFISP..SISPCLIB,DISP=SHR
    //SYSEXEC  DD  DISP=SHR,DSN=&REXXLB
    //SYSTSPRT DD  SYSOUT=*
    //ISPLOG   DD  DUMMY
    //ISPPROF  DD  DSN=&&PROF,DISP=(NEW,PASS),
    //     DCB=(LRECL=80,BLKSIZE=6160,RECFM=FB),
    //     SPACE=(TRK,(2,1,2)),UNIT=VIO
    //ISPMLIB  DD  DSN=&PREFISP..SISPMENU,DISP=SHR
    //ISPSLIB  DD  DSN=&PREFISP..SISPSENU,DISP=SHR
    //ISPPLIB  DD  DSN=&PREFISP..SISPPENU,DISP=SHR
    //ISPTLIB  DD  DSN=&PREFISP..SISPTENU,DISP=SHR
    //SYSTSPRT DD  SYSOUT=*
    //SYSTERM  DD  SYSOUT=*
    //SYSABEND DD  SYSOUT=*
    //ISPLOG DD SYSOUT=*,
    // LRECL=120,BLKSIZE=2400,DSORG=PS,RECFM=FB
    2) Ensuite sur la question des erreurs, pour TSO un RC > 0 ou 4 representera une erreur grave. Pour ISPF c'est un RC > 8 qui est significatif d'une erreur grave et qui fera 'planter'.
    Donc en REXX cela suppose de neutraliser un CALL ou SIGNAL ON ERREUR éventuel par un CALL ou SIGNAL OFF ERREUR avant de passer des commandes ISPF. ISPF va 'planter' sur tout RC > 8. Ca se neutralise par un address ISPEXEC 'CONTROL ERRORS RETURN' en amont, ce qui permet ensuite de tester tout RC après un appel de service ISPF pour gérer les erreurs dens le REXX.

  6. #6
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Ca c'est de la réponse !!!
    Un grand merci.

    Bonne journée.

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

Discussions similaires

  1. texte d'une option de select et  
    Par postb99 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/08/2007, 11h25
  2. conserver l'etat des options de select multiple apres le submit
    Par raul_le_vieux dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/07/2007, 15h41
  3. html-el:option et selected="selected"
    Par mmschnef dans le forum Struts 1
    Réponses: 3
    Dernier message: 16/04/2007, 16h47
  4. IE : Option, attribut selected perdu ?
    Par Sergejack dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/08/2006, 15h37
  5. [Tableaux] Recuper toutes les options dans select
    Par Tempotpo dans le forum Langage
    Réponses: 6
    Dernier message: 13/04/2006, 14h26

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