I do not know what error would have occured if I had used 'ISPF option 6', but I suspect none - because "TSOEXEC LISTA ST" (in quotes) would still be valid regardless of whether the "TSOEXEC" was required or not (e.g. if it was implicit in TSO/E). The error would have occurred if I had executed LISTA ST (without a preceding ADDRESS TSO) in REXX in an ISPF environment, and I guess the error would then have been something like 'unrecognized command'. But the same would be true for ISREDIT in REXX. You can either code ADDRESS ISREDIT followed by the edit commands e.g. FIND <string> (without ISREDIT or quotes), or not code ADDRESS ISREDIT but code "ISREDIT <edit command etc.>" (in quotes) for each edit command, as in e.g. "ISREDIT FIND <string>" etc.

All my panel did was parse anything on the command line (e.g. %ABCXYZ 25 MNO 2) and then return the 'translated' results to my Clist, which then issued the e.g. ISPEXEC SELECT CMD(%ABCXYZ 25 MNO 2) NEWAPPL PASSLIB. It could also have been invoked directly as TSO %ABCXYZ 25 MNO 2, or (from option 6) as %ABCXYZ 25 MNO 2. The panel itself did not play any active role besides parsing whatever was on the command line.

From the TSO READY prompt I invoked REXX to extract the DSNs from my TSO PROC's DDNAMEs, then free its DDNAMEs and reallocate them with their original DSNs but with my own datasets concatenated ahead. I issued a TSOLIB ACT DATASET('<whatever DSN>') if necessary. My REXX then called my 'dialog' Clist without displaying panel ISR@PRIM. I did not use LIBDEFs, as the final LIBDEF <DDNAME> freed not only its own DSNs but any other DYNALLOC'd DSNs on <DDNAME> too if PASSLIB was not specified, and I did not want that to happen.

There are different ways of achieving the same result. E.g. LISTDSI ("<DDNAME> FILE") can be used to get DSNs from DDNAMEs instead of using "LISTA ST", and e.g. "IEBCOPY" can be coded on its own instead of ISPEXEC SELECT PGM(IEBCOPY) or CALL 'SYS1.LPALIB(IEBCOPY)' etc. So if I had already written something in the 1980's and it still worked, I used it.

Chris Poncelet






Jon Perryman wrote:

What is the actual error that occurs if you don't use this ISPF panel?

I usually don't have a STEPLIB in my TSO proc and tend to use ISPEXEC LIBDEF if I need access to load modules. With PARMLIB(IKJTSO##) correctly configured, I've never needed TSOEXEC for XMIT. I don't know if STEPLIB with an unauthorized dataset would change that. I've used it REXX, CLIST and directly from ISPEXEC SELECT CMD
Jon Perryman.



________________________________
From: CM Poncelet <[email protected]>
To: [email protected] Sent: Sunday, March 30, 2014 8:21 PM
Subject: Re: Clist character string compare


Well ... I did things in an 'unconventional' way - e.g. if any command began with "%" it meant "invoke as Clist or REXX and with parms if any".

In my panel I had:
<etc.>
)PROC
 <etc.>
 &CLIST = TRUNC(&ZCMD,1)   /* <--- here */
 &ZCMD = TRUNC(&ZCMD,' ')
 &ZTRAIL = .TRAIL
 IF (&CLIST='%')           /* <--- here */
   &CLIST = &ZCMD
   &ZCMD = 'CLIST'         /* <--- here */
 &ZCMDTEMP = TRANS( &ZCMD
             <etc.>
                *,*)       /* <--- here */
 &ZSEL = TRANS( &ZCMDTEMP
              <etc.>
CLIST,'CMD(&CLIST &ZTRAIL) NEWAPPL(&ZAPPLID) PASSLIB' /* <--- here */
              <etc.>
               *,'' )
)END

In my Clist I then had:
     <etc.>
ISPEXEC SELECT &ZSEL <etc.>

My Clist and REXX executed under ISPF and needed an ADDRESS TSO (or TSOEXEC) for LISTA, SUBMIT, VERIFY, DELETE etc. (I started them from the TSO READY prompt to bypass the ISPF primary menu panel.)

Apples & oranges indeed.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to