Re: ISPF setup macro

2024-01-06 Thread Jon Perryman
On Sun, 7 Jan 2024 00:31:30 +, Seymour J Metz  wrote:

>ALLOC DSN(userid.USER.ISPM) INRTDNN(MYDD) SHR
>
>So why -24 instead of -23?
>
>Changing the *3rd* key to RTDDN fixed the problem.

The word KEY is ambiguous and may not mean KEYWORD.

Total guess but considering this syntax is not UNIX compatible, maybe their 
logic is:
21  ALLOC 
22  DSN(
23  userid.USER.ISPM) 
24  INRTDNN(
25  MYDD) 
26  SHR

It should be easy enough to test by changing MYDD to MYDD56789. .

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


Re: ISPF setup macro

2024-01-06 Thread Seymour J Metz
The manual says:

-21 to -
Key error. See “Key errors” on page 204 for more information.

and

The low-order two digits are the number of the key that failed the parse,
offset by 20. The first key has the value 21,
resulting in a return code of -21.

The parameter was

ALLOC DSN(userid.USER.ISPM) INRTDDN(MYDD) SHR

So why -24 instead of -23?

Changing the *3rd* key to RTDDN fixed the problem.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of Jon 
Perryman 
Sent: Saturday, January 6, 2024 3:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: ISPF setup macro

On Fri, 5 Jan 2024 17:41:45 +, Seymour J Metz  wrote:

>I've been using BPXWDYN for allocation and concatenation, but I had a problem 
>with an error code -24.

UNIX standards provide error codes versus z/OS typically provide an error code 
and error message. There's a learning curve for diagnosing various errors.

As for ISPF setup exec's, almost everyone has one that usually includes 
personal and group datasets. Ask for one, and I suspect someone would be 
willing to provide one.

Don't forget to specify a BLKSIZE on the alloc. The default is the first DSN's 
BLKSIZE which is used for buffer size allocation which may be too small for all 
concatenated datasets.

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


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


Re: ISPF setup macro

2024-01-06 Thread Jon Perryman
On Fri, 5 Jan 2024 17:41:45 +, Seymour J Metz  wrote:

>I've been using BPXWDYN for allocation and concatenation, but I had a problem 
>with an error code -24. 

UNIX standards provide error codes versus z/OS typically provide an error code 
and error message. There's a learning curve for diagnosing various errors. 

As for ISPF setup exec's, almost everyone has one that usually includes 
personal and group datasets. Ask for one, and I suspect someone would be 
willing to provide one.

Don't forget to specify a BLKSIZE on the alloc. The default is the first DSN's 
BLKSIZE which is used for buffer size allocation which may be too small for all 
concatenated datasets.

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


Re: ISPF setup macro

2024-01-05 Thread Willy Jensen
"INRTDDN, which is valid for INFO but not for ALLOC"
For alloc you must use the RTDSN(varname) parameter. But a good point, it 
really should have been the same.

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


Re: ISPF setup macro

2024-01-05 Thread Seymour J Metz
I've been using BPXWDYN for allocation and concatenation, but I had a problem 
with an error code -24. The fourth keyword was SHR, which left me scratching my 
head. It turns out that the *3RD* key was INRTDDN, which is valid for INFO but 
not for ALLOC; once I corrected that, things were better.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of Jon 
Perryman 
Sent: Friday, December 29, 2023 12:21 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: ISPF setup macro

On Fri, 29 Dec 2023 13:10:27 +, Seymour J Metz  wrote:

>I'm not trying to setuup an ISPF application environment.; I'm trying to set 
>up a TSO user environment.

TSO user environment limits your options. LIBDEF is not suitable because it is 
lost or replaced at various times. ISPxUSR is not suitable because it is 
searched first and requires LIBDEF.

>At other shops I've done it by reallocating the standard concatenations when 
>the user libraries existed; I want an alternative to that.

I believe BPXWDYN has a CONCAT function. I believe it's a reallocation under 
the covers but won't swear to that.

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


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


Re: ISPF setup macro

2024-01-05 Thread Seymour J Metz
My  assumption is that it uses the DYNALLOC concatenation facility.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of Jon 
Perryman 
Sent: Friday, December 29, 2023 12:21 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: ISPF setup macro

On Fri, 29 Dec 2023 13:10:27 +, Seymour J Metz  wrote:

>I'm not trying to setuup an ISPF application environment.; I'm trying to set 
>up a TSO user environment.

TSO user environment limits your options. LIBDEF is not suitable because it is 
lost or replaced at various times. ISPxUSR is not suitable because it is 
searched first and requires LIBDEF.

>At other shops I've done it by reallocating the standard concatenations when 
>the user libraries existed; I want an alternative to that.

I believe BPXWDYN has a CONCAT function. I believe it's a reallocation under 
the covers but won't swear to that.

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


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


Re: ISPF setup macro

2023-12-29 Thread Jon Perryman
On Fri, 29 Dec 2023 13:10:27 +, Seymour J Metz  wrote:

>I'm not trying to setuup an ISPF application environment.; I'm trying to set 
>up a TSO user environment. 

TSO user environment limits your options. LIBDEF is not suitable because it is 
lost or replaced at various times. ISPxUSR is not suitable because it is 
searched first and requires LIBDEF.

>At other shops I've done it by reallocating the standard concatenations when 
>the user libraries existed; I want an alternative to that.

I believe BPXWDYN has a CONCAT function. I believe it's a reallocation under 
the covers but won't swear to that.

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


Re: ISPF setup macro

2023-12-29 Thread Seymour J Metz
> ISPF application environment.

I'm not trying to set up an ISPF application environment.; I'm trying to set up 
a TSO user environment. I want to automatically activate user extensions to the 
standard conventions whenever the user has allocated libraries with appropriate 
names, e.g., userid,USER,EXEC, userid.USER.ISPP.

At other shops I've done it by reallocating the standard concatenations when 
the user libraries existed; I want an alternative to that.

> ISPF works as designed

NOVALUE is a REXX *style* issue  and has nothing to do with ISPF.

> everyone must follow these rules

There is no rule in REXX requiring the use of SIGNAL ON NOVALUE.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of Jon 
Perryman 
Sent: Thursday, December 28, 2023 9:55 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: ISPF setup macro

On Thu, 28 Dec 2023 02:01:54 +, Seymour J Metz  wrote:

>I'm trying to use LIBDEF as an alternative to freeing and reallocating the 
>standard ISPF concatenations.

LIBDEF is commonly used to eliminate the need for reallocating standard ISPF 
DDs. There are situations where ISPxUSR is useful but I suspect most don't use 
it. I'm sure CBTTAPE.ORG has multiple examples of setting up the ISPF 
application environment.

>Yes, typo for ISPxUSR. The allocation is before starting ISPF. The 
>documentation shows
> those ddnames as being picked up automatically only for the DATASET keyword.

If you are developing an application, then I suggest avoiding ISPxUSR unless 
your requirements need it. Using LIBDEF for products means the datasets are 
freed when not in use.

>I'm aware of the contingent that advocates NOVALUE, but I don't agree with 
>that perspective.

ISPF works as designed and everyone must follow these rules or request they be 
changed.

>To clarify, my logon panel calls userid.AD.CLIST, which does allocations, 
>ALTLIB and TSOLIB before calling ISPF.

A requirement for products that I've worked on is that everything is contained 
within the REXX and nothing needs to be modified in TSO other than making the 
REXX available to the users who need it.

> I want to add, e.g., user panels, in a form that will persist across START 
> (ISPSTRT).

Persistence is typically achieved through REXX using the appropriate LIBDEFs. 
You would still need a REXX with permanent DD's because you should have a 
different ISPF ZAPPLID for your application.

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


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


Re: ISPF setup macro

2023-12-28 Thread Jon Perryman
On Thu, 28 Dec 2023 02:01:54 +, Seymour J Metz  wrote:

>I'm trying to use LIBDEF as an alternative to freeing and reallocating the 
>standard ISPF concatenations.

LIBDEF is commonly used to eliminate the need for reallocating standard ISPF 
DDs. There are situations where ISPxUSR is useful but I suspect most don't use 
it. I'm sure CBTTAPE.ORG has multiple examples of setting up the ISPF 
application environment.

>Yes, typo for ISPxUSR. The allocation is before starting ISPF. The 
>documentation shows 
> those ddnames as being picked up automatically only for the DATASET keyword.

If you are developing an application, then I suggest avoiding ISPxUSR unless 
your requirements need it. Using LIBDEF for products means the datasets are 
freed when not in use.
 
>I'm aware of the contingent that advocates NOVALUE, but I don't agree with 
>that perspective.

ISPF works as designed and everyone must follow these rules or request they be 
changed.

>To clarify, my logon panel calls userid.AD.CLIST, which does allocations, 
>ALTLIB and TSOLIB before calling ISPF. 

A requirement for products that I've worked on is that everything is contained 
within the REXX and nothing needs to be modified in TSO other than making the 
REXX available to the users who need it. 

> I want to add, e.g., user panels, in a form that will persist across START 
> (ISPSTRT).

Persistence is typically achieved through REXX using the appropriate LIBDEFs. 
You would still need a REXX with permanent DD's because you should have a 
different ISPF ZAPPLID for your application.

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


Re: ISPF setup macro

2023-12-27 Thread Seymour J Metz
I'm trying to use LIBDEF as an alternative to freeing and reallocating the 
standard ISPF concatenations.

Yes, typo for ISPxUSR. The allocation is before starting ISPF. The 
documentation shows those ddnames as being picked up automatically only for the 
DATASET keyword.

I'm aware of the contingent that advocates NOVALUE, but I don't agree with that 
perspective.

To clarify, my logon panel calls userid.AD.CLIST, which does allocations, 
ALTLIB and TSOLIB before calling ISPF. I need to issue an identical ALTLIB from 
within ISPF. I want to add, e.g., user panels, in a form that will persist 
across START (ISPSTRT).

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר


From: IBM Mainframe Discussion List  on behalf of Jon 
Perryman 
Sent: Wednesday, December 27, 2023 7:02 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: ISPF setup macro

On Wed, 27 Dec 2023 19:59:26 +, Seymour J Metz  wrote:

What you are asking does not make any sense.

>Do the LIBDEFs with DATASET pick up SPPxUSR if there is no ID keyword?

I assume SSPxUSR actually means ISPxUSR. I can only comment from what I've read 
because ISPxUSR does not solve my problems.

ISPxUSR is an actual DDName that must be allocated prior to starting ISPF which 
makes it valid for all applications with active LIBDEF. The documentation tells 
you the search sequence. If I remember correctly, only specifying the library 
name disables the LIBDEF. A quick test of specifying DATASET without the ID 
will tell you it's behavior. Remember that ISPxUSR does not change during the 
ISPF session. Remember you must avoid LIBDEF and ISPxUSR member collisions if 
other applications are needed.

>address TSO ALTLIB ACTIVATE 'USER(EXEC)'

To avoid REXX variable substitution, you should quote the entire ALTLIB 
command. Some could inadvertently code altlib="badcmd" in the REXX.

ALTLIB is valid with and without ISPF. Executing the command prior to starting 
ISPF may affect its behavior.

You will need to find the method that best suits ISPxUSR behavior.

>address ISPEXEC ISPSTRT 'PARM LIBDEFARM(3.4)'

I don't think you mean "ISPSTRT". There is an ISPF command called "START" which 
starts another logical ISPF screen but I don't think that is what you are 
attempting.

I think you actually mean the TSO command ISPSTART which I believe is an alias 
for ISPF and PDF commands that start ISPF. Realize that ADDRESS ISPEXEC is not 
available until you start ISPF.

>I want to write a REXX script to initialize an ISPF session,

Session and initialize are not clear. I assume "session" refers to starting 
ISPF instead of splitting the logical screen. You mentioned ISPxUSR so you 
probably only need to LIBDEF the appropriate libraries. My guess is that you 
want "ISPF CMD(%MYREXX)" If I remember correctly, the syntax is similar to 
ISPEXEC SELECT.

> assuming that another script has already allocated the necessary user data 
> sets and issue TSOLIB.

Since you mentioned ISPxUSR, maybe ISPLUSR would be more appropriate than 
TSOLIB.

>Tentatively I assume that I need
>address ISPEXEC LIBDEF ISPPLIB DATASET
>address ISPEXEC ...
>address ISPEXEC ISPSTRT 'PARM LIBDEFARM(3.4)'

"ISPEXEC ISPSTRT" doesn't look right. I would expect some form of "ISPEXEC 
SELECT".

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


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


Re: ISPF setup macro

2023-12-27 Thread Jon Perryman
On Wed, 27 Dec 2023 19:59:26 +, Seymour J Metz  wrote:

What you are asking does not make any sense.

>Do the LIBDEFs with DATASET pick up SPPxUSR if there is no ID keyword? 

I assume SSPxUSR actually means ISPxUSR. I can only comment from what I've read 
because ISPxUSR does not solve my problems.

ISPxUSR is an actual DDName that must be allocated prior to starting ISPF which 
makes it valid for all applications with active LIBDEF. The documentation tells 
you the search sequence. If I remember correctly, only specifying the library 
name disables the LIBDEF. A quick test of specifying DATASET without the ID 
will tell you it's behavior. Remember that ISPxUSR does not change during the 
ISPF session. Remember you must avoid LIBDEF and ISPxUSR member collisions if 
other applications are needed.

>address TSO ALTLIB ACTIVATE 'USER(EXEC)'

To avoid REXX variable substitution, you should quote the entire ALTLIB 
command. Some could inadvertently code altlib="badcmd" in the REXX.

ALTLIB is valid with and without ISPF. Executing the command prior to starting 
ISPF may affect its behavior.

You will need to find the method that best suits ISPxUSR behavior.  

>address ISPEXEC ISPSTRT 'PARM LIBDEFARM(3.4)'

I don't think you mean "ISPSTRT". There is an ISPF command called "START" which 
starts another logical ISPF screen but I don't think that is what you are 
attempting.

I think you actually mean the TSO command ISPSTART which I believe is an alias 
for ISPF and PDF commands that start ISPF. Realize that ADDRESS ISPEXEC is not 
available until you start ISPF.

>I want to write a REXX script to initialize an ISPF session, 

Session and initialize are not clear. I assume "session" refers to starting 
ISPF instead of splitting the logical screen. You mentioned ISPxUSR so you 
probably only need to LIBDEF the appropriate libraries. My guess is that you 
want "ISPF CMD(%MYREXX)" If I remember correctly, the syntax is similar to 
ISPEXEC SELECT.  

> assuming that another script has already allocated the necessary user data 
> sets and issue TSOLIB. 

Since you mentioned ISPxUSR, maybe ISPLUSR would be more appropriate than 
TSOLIB.

>Tentatively I assume that I need
>address ISPEXEC LIBDEF ISPPLIB DATASET
>address ISPEXEC ...
>address ISPEXEC ISPSTRT 'PARM LIBDEFARM(3.4)'

"ISPEXEC ISPSTRT" doesn't look right. I would expect some form of "ISPEXEC 
SELECT".

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