Paul Gilmartin wrote:
>>But I have problems to pass the two arguments for the ISREDIT CHANGE command.
>>It is easy (after lots of RTFM on KC! ;-D ) to do that interactively, but not
>>in batch.
>Where does the problem arise? Is it the TSO parser's meddling with delimited
>strings?
>ISPF Edit assignment statements allow parenthesized names of Rexx variables to
>be used as source or target, bypassing delimiter rigamarole.
>Unfortunately, ISREDIT CHANGE has no such capability. Sounds like an
>invitation for an RFE.
Seymour J Metz wrote:
>What problem do you have using ISREDIT in batch? How is the semicolon handled
>in ISREDIT?
Thanks to both Paul and Shmuel for asking!
I am going to answer both of you with this what I experienced.
In book 'z/OS ISPF Edit and Edit Macros' there is an interactive example of
passing parameters:
<partial quote and edited for brevity>:
You have this: ISREDIT MACRO (PARM1,PARM2,REST)
This means that if you enter (interactively): FIXIT GOOD BAD AND UGLY
This macro has then 3 parameters where the last one is 'AND UGLY'.
<end quote>
It is also written:
"You can enter parameters along with an edit macro name as a primary command by
using the MACRO command. This command allows you to identify the names of one
or more variables to contain any passed parameters.
Note: For edit line macros, only one parameter is passed to the macro. This
parameter is the line command, including any repetition, as it was entered on
the line."
Nothing about doing the same in batch is written.
Now, for my problem is, I have this macro (which is not working):
ISREDIT MACRO (PARMIN PARMUIT)
ISREDIT RESET
ISREDIT CAPS OFF
ISREDIT CHANGE &PARMIN &PARMUIT ALL
ISREDIT SAVE
ISREDIT END
PS: If I remove the PARMIN and PARMUIT and replace it with the actual text,
then it is working.
Above macro is called by this:
/*REXX*/
TRACE ALL
PARSE ARG DSN PARMIN PARMUIT
SAY DSN PARMIN PARMUIT
Z = "EDIT DATASET('"||DSN||"') MACRO(CHANGEIT) CONFIRM(NO) "
ADDRESS ISPEXEC Z
EXIT
This is the JCL:
//EDITASC EXEC PGM=IKJEFT1B,
// PARM='ISPSTART CMD(%EDITA <Dataset> <parm1> <parm2>)'
//SYSEXEC DD DISP=SHR,DSN=<dataset which contains the macro and REXX program>
Dataset is passed successfully, but how do I pass the PARMIN (text to be
removed) and PARMUIT (new text to be placed) all the way to the ISREDIT CHANGE?
Thanks in advance!
Groete / Greetings
Elardus Engelbrecht
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN