Bonjour à tous,
j'ai un peu honte de poser cette question, mais je tente le coup.
Je ne me souviens plus de la commande rexx qui permet de connaître la bibliothèque courante lorsque l'on est dans un membre...
Bonjour à tous,
j'ai un peu honte de poser cette question, mais je tente le coup.
Je ne me souviens plus de la commande rexx qui permet de connaître la bibliothèque courante lorsque l'on est dans un membre...
voilà ce que j'ai éssayé :
mais ça marche pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 /*REXX*/ TRACE I ADDRESS ISREDIT; "MACRO"; "(NOMJOB) = MEMBER"; "(NOMFIC) = DATASET";
voilà le message que j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 +++ RC(20) +++ *-* "(NOMJOB) = MEMBER" >L> "(NOMJOB) = MEMBER" +++ RC(20) +++ *-* "(NOMFIC) = DATASET" >L> "(NOMFIC) = DATASET" +++ RC(20) +++
Bonjour,
Petite précision il ne s'agit pas de commande REXX mais de commande ISPF (cf ici pour la doc).
Apparemment tu as une erreur à chaque commande ispf puisque le premier rc=20 est avant MEMBER.
Ton code ne me parait pas faux même si je ne peux pas tester en ce moment.
Essaie peut être sans les points virgules (je ne les utilise jamais).
même chose :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 3 *-* ADDRESS ISREDIT 4 *-* "MACRO" >L> "MACRO" +++ RC(20) +++ 5 *-* "(NOMJOB) = MEMBER" >L> "(NOMJOB) = MEMBER" +++ RC(20) +++ 6 *-* "(NOMFIC) = DATASET" >L> "(NOMFIC) = DATASET" +++ RC(20) +++
Je ne pense pas qu'il y est de problème dans ton code.
As-tu essayé avec une macro qui fonctionne habituellement et qui utilise des commande ISPF?
En fait le problème vient du mode d'appel. On peut coder une macro mais elle doit être appelée sous EDIT en tant que macro c'est à dire sans saisir TSO MYMACRO mais MYMACRO directement. A présent si on appelle le REXX par EX devant, on peut récupérer la BIB par un PARSE source. Dans le cas ou le REXX est appelé par TSO MYREXX le parse source ne donne plus nécessairement le nom de la bib mais il rend lau moins le DDNAME d'allocation des BIB concaténées en SYSEXEC, SYSEXEC ou SYSPROC (en exécution par EX c'est un DDNAME temporaire qui est alloué).
On peut coder quelque chose comme ça :
Si pour certains modes d'appel, on n'a pas le DSNAME mais sulement le DDNAME, on peut le relever s'appuyer sur Library Management (LMMFIND STATS(YES) qui donnera le PDS
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ADDRESS ISPEXEC "ISREDIT MACRO (TR)" WRC = RC Parse Source TSO1 TSOC MBR . DSNR . /* MEMBRE, PDS D'EXECUTION */ IF WRC = 0 THEN DO /* C'EST UN APPEL MACRO SOUS EDIT */ ADDRESS ISPEXEC 'ISREDIT (MBR) = MEMBER' /* NOM DU MEMBRE EN EDIT */ 'ISREDIT (DSNR) = DATASET' /* NOM DU FICHIER */ END
Hors du REXX, on a aussi le cde DDLIST ou TSO ISRDDN -> puis ONLY SYSEXEC (par exemple) -> puis M myrexx pour retrouver le PDS.
Au besoin, je dois pouvoir retrouver un REXX perso qui fait également une recherche de ce type dans tout ou partie des bibliothèques allouées dans sa session TSO
Effectivement,
le problème venait de l'appel.
Merci Homer-ac et bonnes fêtes à tous.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager