Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

APF authorized program getting RC(3)

151 views
Skip to first unread message

Gilbert Cardenas

unread,
Oct 28, 2008, 2:58:10 PM10/28/08
to
Hello everyone, I am at my wits end because I have been trying to
call a program from REXX that is in an APF authorized library. I've tried
various ways of calling it. The library PROD.INCNTRL.R61.LOAD is already
allocated to my TSO profile (ISRDDN list).

Using IJKEFT01 or invoking edit macro directly from a member in
edit mode results in the same errors :

ADDRESS TSO "CALL 'PROD.INCNTRL.R61.LOAD(IOARKSL)' 'TRANID=IALL'"
"CALL 'PROD.INCNTRL.R61.LOAD(IOARKSL)' 'TRANID=IALL'"
RC(8) +++

Note: IKJEFT01 reports TASK IS NOT APF AUTHORIZED

ADDRESS MVS "CALL 'PROD.INCNTRL.R61.LOAD(IOARKSL)' 'TRANID=IALL'"
"CALL 'PROD.INCNTRL.R61.LOAD(IOARKSL)' 'TRANID=IALL'"
RC(-3) +++


The library is in the in the parmlib :
APF ADD
DSNAME(PROD.INCNTRL.R61.LOAD)

If I execute the program from batch jcl, the only difference is
that the program has a steplib statement but I figured I didn't need it
since the library is already allocated to my tso session.

When I perform a call for other programs that are in the linklib,
I just use the ADDRESS TSO CALL but this program is not in the linklib.
What would be the proper method of executing such a authorized program?

This e-mail (and any attachments) may contain information that is
confidential and/or protected by law. Any review, use, distribution or
disclosure to anyone other than the
intended recipient(s) is strictly prohibited. If you are not the intended
recipient, please contact the sender by reply email and delete all copies
of this message.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX

Robert Zenuk

unread,
Oct 28, 2008, 3:16:50 PM10/28/08
to
Two things:

If you already have the dataset in your STEPLIB and it has something else in
the concatenation that is not authorized, this combination de-authorizes all
datasets in the STEPLIB (standard APF behavior). Just because you can see
the DSN in ISRDDN does not mean it is accessible for load modules... You can
only load programs from STEPLIB or ISPLLIB. However, doing a TSO CALL with
the APF'd DSN should not be affected. Just remember this approach builds in
REXX maintenance as product library names changes (version/release, etc). I
prefer the "CALL *(modname)" approach. This pull the modules from the STEPLIB
or LINKLIST.

If you want to run authorized programs and/or commands in TSO, you must add
them to the IKJTSOxx member in PARMLIB. See AUTHCMD and AUTHPGM.

Hope this helps,

Rob




In a message dated 10/28/2008 11:58:32 A.M. US Mountain Standard Tim,
Gilbert...@GROCERYBIZ.COM writes:


**************Play online games for FREE at Games.com! All of your favorites,
no registration required and great graphics – check it out!
(http://pr.atwola.com/promoclk/100000075x1211202682x1200689022/aol?redir=
http://www.games.com?ncid=emlcntusgame00000001)

Gilbert Cardenas

unread,
Oct 28, 2008, 3:52:23 PM10/28/08
to
I must be running into the first scenario you described where some
other non-apf authorized library is gumming up the works. The library I
am working with is concatenated to the ISPLLIB.
I'll see if I can get someone to add it to the IKJTSO member in
the parmlib.

Thanks for clearing that up Rob,
Gil.

Robert Zenuk <Robz...@AOL.COM>
Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>
10/28/2008 02:17 PM
Please respond to
TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>


To
TSO-...@VM.MARIST.EDU
cc

Subject
Re: [TSO-REXX] APF authorized program getting RC(3)

David S Speake

unread,
Oct 28, 2008, 4:59:40 PM10/28/08
to
In DDLIST use the command APF.
Check your STEPLIBs
We have 83 libs in the LINKLIST
but 639 APFLIST.

David Speake
T. M. Floyd and Co.
Mainframe Programming Support
BlueCross and BlueShield of South Carolina
Columbia South Carolina
United States of America
803-264-8003

------------------( Forwarded letter 1 follows )---------------------
Date: Tue, 28 Oct 2008 14:52:06 -0500
Reply-To: TSO.REXX.Discussion.List[TSO-REXX]@VM.MARIST.EDU.INET
Sender: TSO.REXX.Discussion.List[TSO-REXX]@VM.MARIST.EDU.INET
From: Gilbert.Cardenas[GilbertCardenas]@GROCERYBIZ.COM.INET
Subject: Re: APF authorized program getting RC(3)
To: TSO-...@VM.MARIST.EDU.INET
X-HDT-HopCount: 1


To
TSO-...@VM.MARIST.EDU
cc


Two things:

Hope this helps,

Rob

no registration required and great graphics b
(http://pr.atwola.com/promoclk/100000075x1211202682x1200689022/aol?redir=
http://www.games.com?ncid=emlcntusgame00000001)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX

This e-mail (and any attachments) may contain information that is
confidential and/or protected by law. Any review, use, distribution or
disclosure to anyone other than the
intended recipient(s) is strictly prohibited. If you are not the intended
recipient, please contact the sender by reply email and delete all copies
of this message.

----------------------------------------------------------------------

Gilbert Cardenas

unread,
Oct 29, 2008, 8:43:37 AM10/29/08
to
I was not aware of the APF command from ISRDDN. That was a quick
way to tell which of the libraries I was allocating were not APF
authorized and sure enough like Rob said, some of the non-APF libraries
were de-authorizing the others.
I got the sysprog to add the program I needed to the IKJTSOnn
parmlib and now it works great.

Thanks for the new command,
Gil.


David S Speake <DAVID....@BCBSSC.COM>

Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>

10/28/2008 03:59 PM


To
TSO-...@VM.MARIST.EDU
cc


To
TSO-...@VM.MARIST.EDU
cc


Two things:

Hope this helps,

Rob

no registration required and great graphics b check it out!
(http://pr.atwola.com/promoclk/100000075x1211202682x1200689022/aol?redir=
http://www.games.com?ncid=emlcntusgame00000001)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX

This e-mail (and any attachments) may contain information that is
confidential and/or protected by law. Any review, use, distribution or
disclosure to anyone other than the
intended recipient(s) is strictly prohibited. If you are not the intended
recipient, please contact the sender by reply email and delete all copies
of this message.

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX

This e-mail (and any attachments) may contain information that is

Gilbert Cardenas

unread,
Oct 30, 2008, 1:17:30 PM10/30/08
to
Building upon my previous post, I have created the edit macro
(SINFO) to invoke the authorized program and that works fine. I wanted to
extend the functionality to ISPF so a user can invoke the edit macro
(SINFO) from the DSLIST panel edit screen without actually editing the
member
for example :

EDIT MVSXB.JCLLIB.PROBLEM Row 00005 of
04852
Command ===> Scroll ===>
CSR
Name Prompt Size Created Changed ID
si_______ ARCHBKUP 58 2002/12/09 2002/12/09 16:00:25

What I did was create a separate routine called SI that invokes
the SINFO edit macro as such :

/* REXX */
PARSE UPPER ARG DSNAME '(' MEMBER ')' .
IF DSNAME = '' THEN DO
SAY 'DATASET NAME NOT SUPPLIED'
EXIT 12
END
If Left(DSNAME,1) = "'" Then Do
DSNAME = STRIP(DSNAME,'B',"'")
End
address ISPEXEC "SELECT CMD(%SINFO "DSNAME" "MEMBER") "
EXIT

In the edit macro I've specified the following line to accept
these values :
"ISREDIT MACRO PROCESS (DATASET,MEMBER)"

I have tried passing the argument as a single value "DSNAME" and I
have tried breaking it up into DSNAME and MEMBER but the edit macro never
recognizes these values.

Is this doable and if so what am I doing wrong?

Thanks,
Gil.

Robert Zenuk <Robz...@AOL.COM>
Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>
10/28/2008 02:17 PM
Please respond to
TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>


To
TSO-...@VM.MARIST.EDU
cc

Subject
Re: [TSO-REXX] APF authorized program getting RC(3)

Bass, Walter W

unread,
Oct 30, 2008, 1:49:24 PM10/30/08
to

I think you want:

"ISREDIT MACRO (DATASET,MEMBER) PROCESS"

Bill Bass
Senior Applications Developer
United Health Care
Greenville, SC

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf
Of Gilbert Cardenas
Sent: Thursday, October 30, 2008 1:17 PM
To: TSO-...@VM.MARIST.EDU
Subject: Re: [TSO-REXX] APF authorized program getting RC(3)


<snip>


In the edit macro I've specified the following line to accept
these values :
"ISREDIT MACRO PROCESS (DATASET,MEMBER)"

I have tried passing the argument as a single value "DSNAME" and
I
have tried breaking it up into DSNAME and MEMBER but the edit macro
never
recognizes these values.

Is this doable and if so what am I doing wrong?

Thanks,
Gil.


<snip>


This e-mail, including attachments, may include confidential and/or
proprietary information, and may be used only by the person or entity to
which it is addressed. If the reader of this e-mail is not the intended
recipient or his or her authorized agent, the reader is hereby notified
that any dissemination, distribution or copying of this e-mail is
prohibited. If you have received this e-mail in error, please notify the
sender by replying to this message and delete this e-mail immediately.

Gilbert Cardenas

unread,
Oct 30, 2008, 2:16:49 PM10/30/08
to
That was easy enough to change and test however, that didn't work
either.


"Bass, Walter W" <bill...@UHC.COM>


Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>

10/30/2008 12:49 PM


Please respond to
TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>


To
TSO-...@VM.MARIST.EDU
cc

Subject

I think you want:

"ISREDIT MACRO (DATASET,MEMBER) PROCESS"


<snip>

Thanks,
Gil.


<snip>

This e-mail (and any attachments) may contain information that is


confidential and/or protected by law. Any review, use, distribution or
disclosure to anyone other than the
intended recipient(s) is strictly prohibited. If you are not the intended
recipient, please contact the sender by reply email and delete all copies
of this message.

----------------------------------------------------------------------

Mickey

unread,
Oct 30, 2008, 2:21:51 PM10/30/08
to
Address 'ISPEXEC' "ISREDIT MACRO (PARM1,PARM2)"

--------------------------------------------------
From: "Gilbert Cardenas" <Gilbert...@GROCERYBIZ.COM>
Sent: Thursday, October 30, 2008 1:58 PM

Hardee, Charles H

unread,
Oct 30, 2008, 2:38:40 PM10/30/08
to
Shouldn't it be:

address isredit "macro (parm1,parm2)"

at least that's the way it is in my macros.

Ryerse, Robin

unread,
Oct 30, 2008, 2:52:40 PM10/30/08
to
I missed a paren (and ') when I first replied. The text below is corrected

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf Of Ryerse, Robin
Sent: October 30, 2008 2:47 PM
To: TSO-...@VM.MARIST.EDU

Subject: Re: APF authorized program getting RC(3)

The "panel" you are showing in your post is a "Member List" as launched either from 3.4 or the ISPF workplace. As such, the value of "EDIT" is a bit of a misnomer. If fact that value has meaning only if action "S" is specified. From any "member list" you must start EDIT before a macro can be used. Therefore your SI exec should read
Address ISPEXEC "'ISPEDIT DATASET('"dsname"') MEMBER("member") MACRO(SINFO)"
Instead of


address ISPEXEC "SELECT CMD(%SINFO "DSNAME" "MEMBER") "


-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf Of Gilbert Cardenas
Sent: October 30, 2008 1:17 PM
To: TSO-...@VM.MARIST.EDU

Ryerse, Robin

unread,
Oct 30, 2008, 3:11:16 PM10/30/08
to
The "panel" you are showing in your post is a "Member List" as launched either from 3.4 or the ISPF workplace. As such, the value of "EDIT" is a bit of a misnomer. If fact that value has meaning only if action "S" is specified. From any "member list" you must start EDIT before a macro can be used. Therefore your SI exec should read
Address ISPEXEC "'ISPEDIT DATASET('"dsname" MEMBER("member") MACRO(SINFO)"
Instead of

address ISPEXEC "SELECT CMD(%SINFO "DSNAME" "MEMBER") "

-----Original Message-----
From: TSO REXX Discussion List [mailto:TSO-...@VM.MARIST.EDU] On Behalf Of Gilbert Cardenas
Sent: October 30, 2008 1:17 PM
To: TSO-...@VM.MARIST.EDU

Gilbert Cardenas

unread,
Oct 30, 2008, 3:13:38 PM10/30/08
to
Sorry for the confusing verbage. You are correct in that it I am
launching from a member list.
I tried it with the supplied command but it is producing the following
results :

ISPS102

Invalid service name
''ISPEDIT' is not a recognized dialog service name.

Current dialog statement:
'ISPEDIT DATASET('MVSXB.JCLLIB.PROBLEM') MEMBER(ARCHBKUP) MACRO(SINFO)

I also tried :

Address ISPEXEC
"ISPEDIT DATASET('"dsname"') MEMBER("member") MACRO(SINFO)"

But got the same results.


I've tried ISREDIT and ISPEXEC and plain EDIT but none worked so
far.

"Ryerse, Robin" <robin....@EDS.COM>

Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>

10/30/2008 01:53 PM

Ryerse, Robin

unread,
Oct 30, 2008, 3:30:33 PM10/30/08
to
So sorry.. If you presume that SI has been passed the dataset name from a member list then following will work with out any parsing.
Address ispexec "EDIT" arg(1) "MARCO(SINFO)"

If you want to spiffy up SI such that it will detect when it is invoked other than from a member list then you adjust your original code slightly.

Gilbert Cardenas

unread,
Oct 30, 2008, 3:55:33 PM10/30/08
to
I'm with you now and I do have it working. If I do want to get
down to one routine (instead of one rexx calling another) how could I add
some logic to detect whether the command was issued from within an edit
session or from a member list?
Would I use the If Sysvar('SYSISPF') = 'ACTIVE' Then routine
that I've seen in some other code to decide where it was invoked from?

"Ryerse, Robin" <robin....@EDS.COM>
Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>

10/30/2008 02:30 PM

David S Speake

unread,
Oct 30, 2008, 4:40:10 PM10/30/08
to
Assuming your REXX is named X
Close to the top try


ADDRESS ISPEXEC
"CONTROL ERRORS RETURN"
VGET RINPUT
"ISREDIT MACRO"
IF RC <> 0 THEN DO
"EDIT DATASET('.......') MACRO(X)"
VGET EDMACRC
IF EDMACRC = 0 THEN DO
CALL DSSLM /* internal subroutine if needed */
EXIT
END
END

/* Processing after getting into EDIT - one way or another */

EDMACRC = 0
VPUT "EDMACRC"
ADDRESS ISREDIT "CANCEL"
or
ADDRESS ISREDIT "SAVE"
followed by
ADDRESS ISREDIT "EXIT"

EXIT


David

P. S. My peers here at my shop don't like this one much


------------------( Forwarded letter 1 follows )---------------------

Date: Thu, 30 Oct 2008 14:53:29 -0500


Reply-To: TSO.REXX.Discussion.List[TSO-REXX]@VM.MARIST.EDU.INET
Sender: TSO.REXX.Discussion.List[TSO-REXX]@VM.MARIST.EDU.INET
From: Gilbert.Cardenas[GilbertCardenas]@GROCERYBIZ.COM.INET

Subject: Re: APF authorized program getting RC(3)

To: TSO-...@VM.MARIST.EDU.INET
X-HDT-HopCount: 1


To
TSO-...@VM.MARIST.EDU
cc

ISPS102

I also tried :


To
TSO-...@VM.MARIST.EDU
cc


recognizes these values.

Thanks,
Gil.


To
TSO-...@VM.MARIST.EDU
cc


Two things:

Hope this helps,

Rob

no registration required and great graphics b
(http://pr.atwola.com/promoclk/100000075x1211202682x1200689022/aol?redir=
http://www.games.com?ncid=emlcntusgame00000001)

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX

This e-mail (and any attachments) may contain information that is
confidential and/or protected by law. Any review, use, distribution or
disclosure to anyone other than the
intended recipient(s) is strictly prohibited. If you are not the intended
recipient, please contact the sender by reply email and delete all copies
of this message.


This e-mail (and any attachments) may contain information that is
confidential and/or protected by law. Any review, use, distribution or
disclosure to anyone other than the
intended recipient(s) is strictly prohibited. If you are not the intended
recipient, please contact the sender by reply email and delete all copies
of this message.


This e-mail (and any attachments) may contain information that is
confidential and/or protected by law. Any review, use, distribution or
disclosure to anyone other than the
intended recipient(s) is strictly prohibited. If you are not the intended
recipient, please contact the sender by reply email and delete all copies
of this message.

----------------------------------------------------------------------

Ryerse, Robin

unread,
Oct 30, 2008, 4:56:03 PM10/30/08
to
If it is one routine, you have to check if you are in "macro mode" and if not recursively invoke the routine.
The following has not been tested but represents the method of recursive invocation.


/* Rexx Launch an edit macro even when EDIT is not started */
mac_rc = 0
'SUBCOM ISPEXEC'
if rc \= 0 then
do
say 'Gotta be in ISPF.'
exit 16
end
'SUBCOM ISREDIT'
if rc = 0 then
do
address 'ISREDIT'
'MACRO (MACARGS) NOPROCESS'
mac_rc = (rc = 0)
end
if \mac_rc then
do
parse source . . mac_name .
if arg(1,'E') then
do
address ispexec 'EDIT' arg(1) 'MACRO('mac_name')
exit rc
end
else
do
say mac_name 'requires an argument specifying a dataset name.'
exit 12
end
end

parse var macargs .... /* start of the actual macro */

Thomas Berg

unread,
Oct 30, 2008, 8:03:41 PM10/30/08
to
"ISPEDIT" ?
You should try "ISREDIT"...


Regards,
Thomas Berg
__________________________________________
Thomas Berg Specialist IT-U SWEDBANK

> -----Ursprungligt meddelande-----
> Från: TSO REXX Discussion List
> [mailto:TSO-...@VM.MARIST.EDU] För Gilbert Cardenas
> Skickat: den 30 oktober 2008 20:12
> Till: TSO-...@VM.MARIST.EDU
> Ämne: Re: [TSO-REXX] APF authorized program getting RC(3)

> no registration required and great graphics - check it out!
> (http://pr.atwola.com/promoclk/100000075x1211202682x1200689022


> /aol?redir=
> http://www.games.com?ncid=emlcntusgame00000001)
>
> ----------------------------------------------------------------------
> For TSO-REXX subscribe / signoff / archive access instructions,
> send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX
>
>
>
>
>
> This e-mail (and any attachments) may contain information that is
> confidential and/or protected by law. Any review, use,
> distribution or
> disclosure to anyone other than the
> intended recipient(s) is strictly prohibited. If you are not
> the intended
> recipient, please contact the sender by reply email and
> delete all copies
> of this message.
>
>
>
>
>
>
>
>
> This e-mail (and any attachments) may contain information that is
> confidential and/or protected by law. Any review, use,
> distribution or
> disclosure to anyone other than the
> intended recipient(s) is strictly prohibited. If you are not
> the intended
> recipient, please contact the sender by reply email and
> delete all copies
> of this message.
>
>
>
>

----------------------------------------------------------------------

Gilbert Cardenas

unread,
Oct 30, 2008, 10:40:20 PM10/30/08
to
I think I've got enough to go dabble some more with so thank you
ALL for the feedback and examples. As always, it was a good learning
experience.

Best Regards,
Gil.


"Ryerse, Robin" <robin....@EDS.COM>
Sent by: TSO REXX Discussion List <TSO-...@VM.MARIST.EDU>

10/30/2008 03:56 PM

0 new messages