On Fri, 2 Mar 2012 07:48:53 -0600, Betsy Jeffery <betsy_jeff...@mgic.com> wrote:

>Gil,
>That method yields,
>      3 *-* arg1 = 'PS0903A'
>        >L>   "PS0903A"
>      5 *-* /* ADDRESS tso         */
>      6 *-* /*  Call CICSCMDT ARG1 */
>      8 *-* address TSO "call CICSCMDT '"ARG1"' "
>        >L>   "call CICSCMDT '"
>        >V>   "PS0903A"
>        >O>   "call CICSCMDT 'PS0903A"
>        >L>   "' "
>        >O>   "call CICSCMDT 'PS0903A' "
> IKJ56228I DATA SET CICSCMDT.LOAD NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED
> IKJ56701I MISSING DATA SET NAME+
> IKJ56701I MISSING DSNAME (MEMBER NAME)
>        +++ RC(12) +++
>     10 *-* say 'rc = ' rc
>        >L>   "rc = "
>        >V>   "12"
>
>Whereas the statement without the quotes does make the call.
>Thanks
>        >O>   "rc =  12"
> rc =  12
>     12 *-* exit

Yes, it makes the call. But it is NOT using the "address TSO" and the TSO/E 
"CALL" command. It's using the REXX "call" statement, and invoking your program 
as a subroutine of the REXX exec. In that case, it will not run authorized.

You need to use "address TSO call" as gil indicated, but his syntax was a bit 
wrong.

Try: address TSO "call *(CICSCMDT)  '"  ARG1 "'"

Note that before ARG1 that's a single-quote followed by a double quote, and 
after ARG1 it's a double-quote, single-quote, double-quote. The actual command 
should end up as (after interpretation by REXX) as 
call *(CICSCMDT) 'contents of ARG1'

-- 
Walt Farrell
IBM STSM, z/OS Security Design

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN

Reply via email to