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

Reply via email to