![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| z/OS Forum d'entraide sur z/OS et MVS (Multiple Virtual Storage), les systèmes d'exploitation des ordinateurs « mainframes » IBM : JCL, Tso, Ispf, Vsam, Racf, SMS, Cics, Ims, OPC, Ca-7, Control-M, Dialog Manager ... |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre éprouvé
![]() Date d'inscription: mars 2004
Messages: 407
|
Bonjour,
pour chnager un ligne en rexx, je tape la commande suivante : Code :
/*REXX*/ TRACE I ALIAS = PXXXXXX FIC01 = '&VVENVIR.JCLLIB' FIC02 = CHANGE(FIC01,'&VVENVIR.',ALIAS) SAY FIC02 Mais le rexx se plante avec le message : Incorrect call to routine Le plantage se fait à cettte ligne : FIC02 = CHANGE(FIC01,'&VVENVIR.',ALIAS) savez-vous d'où cela peut venir? Merci d'avance pour votre aide. |
|
|
|
|
|
#2 (permalink) | |
|
Membre Confirmé
![]() Date d'inscription: octobre 2007
Localisation: région parisienne
Messages: 228
|
Citation:
Ecrit comme ça (parenthèses accolées), pour REXX CHANGE est une fonction. Change n'est pas une fonction standard et donc REXX va tenter d'exécuter une fonction user, c'est a dire comme pour un CALL, vérifier si une routine CHANGE: est codée dans le REXX ou appeler un REXX externe. J'imagine que si tu a codé cette séquence, c'est qu'un REXX 'CHANGE' existe sur ton site. Il faut donc le retrouver et soit le recopier dans ton REXX, soit allouer le PDS qui le contient, usuellement en SYSUEXEC. Code :
MYBIBREX = ????????????????
ADDRESS TSO
"ALLOC DA('"MYBIBREX"','"BIBREXX2"') FILE(SYSUEXEC) SHR REUSE"
"ALTLIB ACTIVATE USER(EXEC)"
Code :
address ISPEXEC "ISREDIT MACRO (PARM)" Avant de coder son ordre change par exemple : "ISREDIT CHANGE '&VVENVIR.'" ALIAS". ALL WORD" Code :
P1 = pos('&VVENVIR.',LALIGNE)
If P1 > 0 then LALIGNE = left(LALIGNE,P1-1)!!ALIAS!!substr(LALIGNE,P1+8)
|
|
|
|
|
|
![]() |
![]() |
||
rexx changer un mot par un autre
|
||
| Outils de la discussion | |
|
|