Re: Finding the STEIN of another address space

2020-11-24 Thread Lennie Dymoke-Bradshaw
Whew! That makes more sense. After all, I had coded using the ASSBISQN and
it worked.
Thanks for the further clarification Peter.

Lennie Dymoke-Bradshaw

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of
Peter Relson
Sent: 25 November 2020 00:06
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Finding the STEIN of another address space

To (my)self: Open mouth, insert foot. Or its analog in typing.

I was thinking of the ASTE sequence number, not the ASTE instance number.
The ASTE instance number is indeed set when an address space starts, changed
only when an ASID is reused.
And matches ASSBISQN (which then, correctly, unlike what I said, is the
answer to the original poster's query).

Thanks to Erik J for noticing.

Peter Relson
z/OS Core Technology Design


--
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: Finding the STEIN of another address space

2020-11-24 Thread Charles Mills
https://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r2.erbb500/jobro.htm
 

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of John McKown
Sent: Tuesday, November 24, 2020 4:11 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Finding the STEIN of another address space

I'm afraid that I simply must ask. If every Address Space has a STEIN,
where is the BEER?

--
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: Finding the STEIN of another address space

2020-11-24 Thread John McKown
I'm afraid that I simply must ask. If every Address Space has a STEIN,
where is the BEER?

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


Re: Finding the STEIN of another address space

2020-11-24 Thread Peter Relson
To (my)self: Open mouth, insert foot. Or its analog in typing.

I was thinking of the ASTE sequence number, not the ASTE instance number.
The ASTE instance number is indeed set when an address space starts, 
changed only when an ASID is reused.
And matches ASSBISQN (which then, correctly, unlike what I said, is the 
answer to the original poster's query).

Thanks to Erik J for noticing.

Peter Relson
z/OS Core Technology Design


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


Re: For those that use S99ERMSG .....

2020-11-24 Thread Steve Smith
I use the formatter because that's what the manual said to do.  I didn't
know about the direct access option, but I'll look into it if it comes up.

sas

On Tue, Nov 24, 2020 at 2:13 PM Binyamin Dissen 
wrote:

> For those that use S88ERMSG, do you tend to process the IGDMCSMG directly
> or
> do you use the call to IEFDB476 to 'format' it?
>
> As the block is pretty well defined,  why make the format call?
>
> --
> Binyamin Dissen 
> http://www.dissensoftware.com
>
> Director, Dissen Software, Bar & Grill - Israel
>
>
> Should you use the mailblocks package and expect a response from me,
> you should preauthorize the dissensoftware.com domain.
>
> I very rarely bother responding to challenge/response systems,
> especially those from irresponsible companies.
>
> --
> 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: Has anyone integrated Rexx with IKJPARS?

2020-11-24 Thread Seymour J Metz
I don't beleive that either squished or unsquished is a technical term, but if 
they're going to use one then why shouldn't we use the other?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Jackson, Rob 
Sent: Tuesday, November 24, 2020 2:09 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

Not that I found.  But I take it as a given they maintain an un-squished 
version.  By the way, I did not come up with that technical term.  They all 
have header comments like this:

/REXX**/
/* Part: AOFEIZPD  Squished:  19 May 2011 */

First Horizon Bank
Mainframe Technical Support

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Tuesday, November 24, 2020 12:27 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

[External Email. Exercise caution when clicking links or opening attachments.]

Did IBM also provide a libray of unsquished REXX code?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Jackson, Rob 
Sent: Monday, November 23, 2020 10:19 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

Years ago while disabling some built-in automation in SA for z/OS I found that 
the REXX code SA actually ran live was almost all "squished."  I didn't dig 
into it, but I assumed (I still believe safely) that it was to reduce 
interpreter overhead.  I just took a look at it tonight to see how the 
efficiency-minded SA developers coded keywords.  A brief look says the majority 
are first-letter capitalized (as Mike said to do, I believe--which is the 
reason I always have) or completely capitalized; however, there are enough 
exceptions to make me wonder.

By the way, if you haven't seen it, here's a snippet as an example.  It is 
really . . . something:

If cond = 'NOVALUE' | cond = 'HALT' Then rc = 'N/A';Select When cond = 'HALT' 
Then desc = 'CLIST HALTED'
When cond = 'SYNTAX' Then desc = errortext(rc);When cond = 'FAILURE' Then Do If 
rc = -1 Then;desc = 'COMMAND NOT FOUND';If rc = -3 Then desc = 'COMMAND NOT 
PERMITTED';End;Otherwise Nop;End "AOFMSG 
"cond",760,LOG,"loc.0me","sigl","rc",'"desc"'";Call Aof_Exit -5;Exit -5 
Aof_Silent_Error:;Call Aof_Exit 0;Exit 0;Aof_Exit:;Procedure Expose loc.
Do ix = 1 to Words(loc.0claim_tickets);ticket = WORD(loc.0claim_tickets,ix) 
Call INGPXDEL ticket;End;if loc.0UserExit = 'Y' then;call @User_Exit lrc = 
Arg(1);If Arg(2) <> 'TEXT' then;If datatype(lrc,'W') ^= 1 Then lrc = 0 
Select;When cglobal('AOFDEBUG') = 'Y' Then "AOFMSG" 
loc.0me",702,LOG,"time()","opid()","lrc;When loc.0debug = 'Y' Then Call 
Aof_Debug 'COMPLETE, RC='||lrc||'.';Otherwise nop;End;Exit lrc

First Horizon Bank
Mainframe Technical Support

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Jeremy Nicoll
Sent: Monday, November 23, 2020 9:50 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

[External Email. Exercise caution when clicking links or opening attachments.]

On Tue, 24 Nov 2020, at 02:20, Al Ferguson wrote:
> Performance reasons. Without the quotes REXX first interprets MVS as a
> variable name

Are you sure?

I thought that environment (after address) was one of the few places in REXX 
where quotes were unnecessary because what's typed there is regarded as a 
constant.

And, that if you actually wanted a variable's value to be used, you'd have to 
code

  address value varname


> Back in the MVS & MVS/XA Days, these types of performance
> optimizations were actually quite noticeable.

Even if what you said above was true, I doubt very much that capitalising the 
environment name would ever have make a measurable difference, bearing in mind 
how few times one would typically specify an address statement in a typical 
exec.


> I similarly "always" capitalize REXX Key words, to save REXX from
> having to spend cycles actually FOLDING then up.

It's been years since I wrote any REXX on a mainframe, but I know I didn't 
uppercase my code back then ... and a quick look at current manuals shows 
sample code is sometimes in uppercase, and sometimes mixed case.

Is this idea that uppercase REXX is more efficient something that everyone here 
accepts?

--
Jeremy Nicoll - my opinions are my own.

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN Confidentiality notice:
This e-mail message, including any attachments, may contain legally privileged 
and/or confidential information. If you are not the intended recipient(s), or 
the 

For those that use S99ERMSG .....

2020-11-24 Thread Binyamin Dissen
For those that use S88ERMSG, do you tend to process the IGDMCSMG directly or
do you use the call to IEFDB476 to 'format' it? 

As the block is pretty well defined,  why make the format call?

--
Binyamin Dissen 
http://www.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel


Should you use the mailblocks package and expect a response from me,
you should preauthorize the dissensoftware.com domain.

I very rarely bother responding to challenge/response systems,
especially those from irresponsible companies.

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


Re: Is ISGENQ a bit pricey?

2020-11-24 Thread Kirk Wolf
D GRS
RESPONSE=S0W1
 ISG343I 14.07.42 GRS STATUS 495
 SYSTEMSTATE   SYSTEMSTATE
 S0W1  ACTIVE
 GRS RING MODE INFORMATION
   RESMIL: 10
   TOLINT:180
   SYNCHRES:  YES
   ENQMAXU: 16384
   ENQMAXA:25
   AUTHQLVL:2
   MONITOR:NO
   GRSMON:   NONE

D XCF
RESPONSE=S0W1
 IXC334I  14.08.07  DISPLAY XCF 497
SYSPLEX SVSCPLEX:   S0W1

 SYSPLEX INITIALIZATION TIME: 11/17/2020 09:41:16.129505




On Tue, Nov 24, 2020 at 1:56 PM Ed Jaffe 
wrote:

> On 11/24/2020 10:39 AM, Kirk Wolf wrote:
> > I guess that makes sense with SCOPE=SYSTEMS, but I'm doing this on a
> system
> > that isn't on a sysplex  (but it is running second level at IBM RDP).
>
> What do you see when you issue these two commands?
>
> D GRS
> D XCF
>
> --
> Phoenix Software International
> Edward E. Jaffe
> 831 Parkview Drive North
> El Segundo, CA 90245
> https://www.phoenixsoftware.com/
>
>
>
> 
> This e-mail message, including any attachments, appended messages and the
> information contained therein, is for the sole use of the intended
> recipient(s). If you are not an intended recipient or have otherwise
> received this email message in error, any use, dissemination, distribution,
> review, storage or copying of this e-mail message and the information
> contained therein is strictly prohibited. If you are not an intended
> recipient, please contact the sender by reply e-mail and destroy all copies
> of this email message and do not otherwise utilize or retain this email
> message or any or all of the information contained therein. Although this
> email message and any attachments or appended messages are believed to be
> free of any virus or other defect that might affect any computer system
> into
> which it is received and opened, it is the responsibility of the recipient
> to ensure that it is virus free and no responsibility is accepted by the
> sender for any loss or damage arising in any way from its opening or use.
>
> --
> 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: Is ISGENQ a bit pricey?

2020-11-24 Thread Ed Jaffe

On 11/24/2020 10:39 AM, Kirk Wolf wrote:

I guess that makes sense with SCOPE=SYSTEMS, but I'm doing this on a system
that isn't on a sysplex  (but it is running second level at IBM RDP).


What do you see when you issue these two commands?

D GRS
D XCF

--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.

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


Re: Is ISGENQ a bit pricey?

2020-11-24 Thread Kirk Wolf
I'm doing ISPF-compatible member enqueues, while loading a bunch of members
with BPAM/BSAM.
I'm following the doc, which indicate SCOPE=SYSTEMS:

https://www.ibm.com/support/knowledgecenter/SSLTBW_2.3.0/com.ibm.zos.v2r3.f54pc00/isppcmmnamen.htm

I guess that I don't understand the distinction between GRS and sharing
within a SYSPLEX wrt SCOPE=SYSTEMS.   I had assumed that SCOPE=SYSTEMS is
not only GRS, but also for serializing across members of a sysplex.  No?

BTW: with SCOPE=SYSTEM, it is blazing fast.


On Tue, Nov 24, 2020 at 12:48 PM Tony Harminc  wrote:

> On Tue, 24 Nov 2020 at 13:39, Kirk Wolf  wrote:
>
> >ISGENQ
> >REQUEST=OBTAIN,
> >COND=YES,
> >QNAME=QN,RNAME=RN,RNAMELEN=52,
> >CONTROL=EXCLUSIVE,
> >SCOPE=SYSTEMS,
> >RETCODE=RC,RSNCODE=RSN,
> >ENQTOKEN=MYTOK
>
> > I notice that Obtains takes about 14ms and Releases about 12ms, so 100
> > iterations is almost 3 seconds.
> >
> > I guess that makes sense with SCOPE=SYSTEMS, but I'm doing this on a
> system
> > that isn't on a sysplex  (but it is running second level at IBM RDP).
>
> I don't understand why you have SCOPE=SYSTEMS... Are you sharing a
> resource across systems that are not in a sysplex? This is possible
> with GRS, but not common these days, and can lead to problems. That
> you are running in a VM doesn't seem relevant.
>
> Tony H.
>
> --
> 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: Has anyone integrated Rexx with IKJPARS?

2020-11-24 Thread Jackson, Rob
Not that I found.  But I take it as a given they maintain an un-squished 
version.  By the way, I did not come up with that technical term.  They all 
have header comments like this:

/REXX**/
/* Part: AOFEIZPD  Squished:  19 May 2011 */

First Horizon Bank
Mainframe Technical Support

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Tuesday, November 24, 2020 12:27 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

[External Email. Exercise caution when clicking links or opening attachments.]

Did IBM also provide a libray of unsquished REXX code?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Jackson, Rob 
Sent: Monday, November 23, 2020 10:19 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

Years ago while disabling some built-in automation in SA for z/OS I found that 
the REXX code SA actually ran live was almost all "squished."  I didn't dig 
into it, but I assumed (I still believe safely) that it was to reduce 
interpreter overhead.  I just took a look at it tonight to see how the 
efficiency-minded SA developers coded keywords.  A brief look says the majority 
are first-letter capitalized (as Mike said to do, I believe--which is the 
reason I always have) or completely capitalized; however, there are enough 
exceptions to make me wonder.

By the way, if you haven't seen it, here's a snippet as an example.  It is 
really . . . something:

If cond = 'NOVALUE' | cond = 'HALT' Then rc = 'N/A';Select When cond = 'HALT' 
Then desc = 'CLIST HALTED'
When cond = 'SYNTAX' Then desc = errortext(rc);When cond = 'FAILURE' Then Do If 
rc = -1 Then;desc = 'COMMAND NOT FOUND';If rc = -3 Then desc = 'COMMAND NOT 
PERMITTED';End;Otherwise Nop;End "AOFMSG 
"cond",760,LOG,"loc.0me","sigl","rc",'"desc"'";Call Aof_Exit -5;Exit -5 
Aof_Silent_Error:;Call Aof_Exit 0;Exit 0;Aof_Exit:;Procedure Expose loc.
Do ix = 1 to Words(loc.0claim_tickets);ticket = WORD(loc.0claim_tickets,ix) 
Call INGPXDEL ticket;End;if loc.0UserExit = 'Y' then;call @User_Exit lrc = 
Arg(1);If Arg(2) <> 'TEXT' then;If datatype(lrc,'W') ^= 1 Then lrc = 0 
Select;When cglobal('AOFDEBUG') = 'Y' Then "AOFMSG" 
loc.0me",702,LOG,"time()","opid()","lrc;When loc.0debug = 'Y' Then Call 
Aof_Debug 'COMPLETE, RC='||lrc||'.';Otherwise nop;End;Exit lrc

First Horizon Bank
Mainframe Technical Support

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Jeremy Nicoll
Sent: Monday, November 23, 2020 9:50 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

[External Email. Exercise caution when clicking links or opening attachments.]

On Tue, 24 Nov 2020, at 02:20, Al Ferguson wrote:
> Performance reasons. Without the quotes REXX first interprets MVS as a 
> variable name

Are you sure?

I thought that environment (after address) was one of the few places in REXX 
where quotes were unnecessary because what's typed there is regarded as a 
constant.

And, that if you actually wanted a variable's value to be used, you'd have to 
code

  address value varname


> Back in the MVS & MVS/XA Days, these types of performance 
> optimizations were actually quite noticeable.

Even if what you said above was true, I doubt very much that capitalising the 
environment name would ever have make a measurable difference, bearing in mind 
how few times one would typically specify an address statement in a typical 
exec.


> I similarly "always" capitalize REXX Key words, to save REXX from 
> having to spend cycles actually FOLDING then up.

It's been years since I wrote any REXX on a mainframe, but I know I didn't 
uppercase my code back then ... and a quick look at current manuals shows 
sample code is sometimes in uppercase, and sometimes mixed case.

Is this idea that uppercase REXX is more efficient something that everyone here 
accepts?

--
Jeremy Nicoll - my opinions are my own.

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN Confidentiality notice:
This e-mail message, including any attachments, may contain legally privileged 
and/or confidential information. If you are not the intended recipient(s), or 
the employee or agent responsible for delivery of this message to the intended 
recipient(s), you are hereby notified that any dissemination, distribution, or 
copying of this e-mail message is strictly prohibited. If you have received 
this message in error, please immediately notify the sender and delete this 
e-mail message from your computer.


--
For IBM-MAIN 

Re: Is ISGENQ a bit pricey?

2020-11-24 Thread Tony Harminc
On Tue, 24 Nov 2020 at 13:39, Kirk Wolf  wrote:

>ISGENQ
>REQUEST=OBTAIN,
>COND=YES,
>QNAME=QN,RNAME=RN,RNAMELEN=52,
>CONTROL=EXCLUSIVE,
>SCOPE=SYSTEMS,
>RETCODE=RC,RSNCODE=RSN,
>ENQTOKEN=MYTOK

> I notice that Obtains takes about 14ms and Releases about 12ms, so 100
> iterations is almost 3 seconds.
>
> I guess that makes sense with SCOPE=SYSTEMS, but I'm doing this on a system
> that isn't on a sysplex  (but it is running second level at IBM RDP).

I don't understand why you have SCOPE=SYSTEMS... Are you sharing a
resource across systems that are not in a sysplex? This is possible
with GRS, but not common these days, and can lead to problems. That
you are running in a VM doesn't seem relevant.

Tony H.

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


Re: Unable to ALLOC dsn without new

2020-11-24 Thread Seymour J Metz
Familiarity?

Operand parsing?

Stack?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Lizette Koehler 
Sent: Tuesday, November 24, 2020 1:11 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Unable to ALLOC dsn without new

I would put a LISTC ENT for the dataset before the allocation
If RC > 0 Then write out some diagnostics


Not sure why people are still writing in CLIST rather than using REXX.  But to 
each their own


Lizette


-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Elaine Beal
Sent: Tuesday, November 24, 2020 9:36 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Unable to ALLOC dsn without new

I give up :), asking for help

Defining a new user and logon proc issues

SET  = 
ALLOC FI(ISPPROF) SHR  DA('')

the dsn is new and evidently the alloc fails

but i can manually alloc a new dsn without the new parm (under another ID)

if I try a manual allocate with the failing ID (and no new parm), it fails with

ALLOC FI(ISPPROF) SHR  DA('gayleyc.isptabl')
 DATA SET GAYLEYC.ISPTABL NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED
 ENTER DATA SET NAME -

I thought you had to have the new parm but i can ALLOC a new dsn under another 
id without it.

The ALLOC proc works on another LPAR.


Thanks,
Elaine

--
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

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


Re: Unable to ALLOC dsn without new

2020-11-24 Thread Walt Farrell
On Tue, 24 Nov 2020 10:35:40 -0600, Elaine Beal  wrote:

>I give up :), asking for help
>
>Defining a new user and logon proc issues
>
>SET  =
>ALLOC FI(ISPPROF) SHR  DA('')
>
>the dsn is new and evidently the alloc fails
>
>but i can manually alloc a new dsn without the new parm (under another ID)
>
>if I try a manual allocate with the failing ID (and no new parm), it fails with
>
>ALLOC FI(ISPPROF) SHR  DA('gayleyc.isptabl')
> DATA SET GAYLEYC.ISPTABL NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED 
> ENTER DATA SET NAME -  
>
>I thought you had to have the new parm but i can ALLOC a new dsn under another 
>id without it.
>
>The ALLOC proc works on another LPAR.

Why are you saying SHR? That indicates that the data set already exists. 

If this was in JCL, NEW would be the default if you don't say NEW, OLD, or SHR. 
But if you say SHR the data set must already exist. I don't know if TSO will 
similarly default to NEW if you omit SHR, but it seems correct for it to 
complain if you say SHR when the data set does not exist.

-- 
Walt

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


Is ISGENQ a bit pricey?

2020-11-24 Thread Kirk Wolf
I was working on some code that involved repeated:

ISGENQ OBTAIN
do something
ISGENQ RELEASE

With these options:
   ISGENQ
   REQUEST=OBTAIN,
   COND=YES,
   QNAME=QN,RNAME=RN,RNAMELEN=52,
   CONTROL=EXCLUSIVE,
   SCOPE=SYSTEMS,
   RETCODE=RC,RSNCODE=RSN,
   ENQTOKEN=MYTOK

ISGENQ
   REQUEST=RELEASE,
   COND=YES,
   RETCODE=RC,RSNCODE=RSN,
   ENQTOKEN=MYTOK

I notice that Obtains takes about 14ms and Releases about 12ms, so 100
iterations is almost 3 seconds.

I guess that makes sense with SCOPE=SYSTEMS, but I'm doing this on a system
that isn't on a sysplex  (but it is running second level at IBM RDP).

Any thoughts appreciated.

Kirk Wolf
Dovetailed Technologies
http://dovetail.com

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


Re: Unable to ALLOC dsn without new

2020-11-24 Thread Lizette Koehler
I would put a LISTC ENT for the dataset before the allocation 
If RC > 0 Then write out some diagnostics


Not sure why people are still writing in CLIST rather than using REXX.  But to 
each their own


Lizette


-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Elaine Beal
Sent: Tuesday, November 24, 2020 9:36 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Unable to ALLOC dsn without new

I give up :), asking for help

Defining a new user and logon proc issues

SET  =
ALLOC FI(ISPPROF) SHR  DA('')

the dsn is new and evidently the alloc fails

but i can manually alloc a new dsn without the new parm (under another ID)

if I try a manual allocate with the failing ID (and no new parm), it fails with

ALLOC FI(ISPPROF) SHR  DA('gayleyc.isptabl')
 DATA SET GAYLEYC.ISPTABL NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED 
 ENTER DATA SET NAME -  

I thought you had to have the new parm but i can ALLOC a new dsn under another 
id without it.

The ALLOC proc works on another LPAR.


Thanks,
Elaine

--
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: Unable to ALLOC dsn without new

2020-11-24 Thread Elaine Beal
aarrgghh. sorry about that one too. RACF profiles are created correctly

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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-24 Thread Seymour J Metz
As I recall, NEATER made it readable, but there is no way to reconstruct the 
original indentation of, e.g., comments.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
Sent: Tuesday, November 24, 2020 12:39 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

On Tue, 24 Nov 2020 17:26:30 +, Seymour J Metz wrote:

>Did IBM also provide a libray of unsquished REXX code?
>
On CMS, they tend to provide two: source and compiled:

https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.rexa100/h198160575.htm

Would a pretty-printer have untangled your squisned PL/1?

There's a thread going on a Curl forum concerning methods
of transferring file permissions.  This chore is amplified by
extended attributes.  And the z/OS extensions to FTP for
transferring load modules make no accommodation for
possible need to have a non-IBM waystation.

-- gil

--
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: Has anyone integrated Rexx with IKJPARS?

2020-11-24 Thread Paul Gilmartin
On Tue, 24 Nov 2020 17:26:30 +, Seymour J Metz wrote:

>Did IBM also provide a libray of unsquished REXX code?
> 
On CMS, they tend to provide two: source and compiled:

https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.rexa100/h198160575.htm

Would a pretty-printer have untangled your squisned PL/1?

There's a thread going on a Curl forum concerning methods
of transferring file permissions.  This chore is amplified by
extended attributes.  And the z/OS extensions to FTP for
transferring load modules make no accommodation for
possible need to have a non-IBM waystation.

-- gil

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


Re: Unable to ALLOC dsn without new

2020-11-24 Thread Seymour J Metz
What about the relevant security profiles? 
Was there a security violation logged?

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Elaine Beal 
Sent: Tuesday, November 24, 2020 12:24 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Unable to ALLOC dsn without new

sorry, yes, there is an alias defined

--
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: Has anyone integrated Rexx with IKJPARS?

2020-11-24 Thread Seymour J Metz
Did IBM also provide a libray of unsquished REXX code?


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Jackson, Rob 
Sent: Monday, November 23, 2020 10:19 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

Years ago while disabling some built-in automation in SA for z/OS I found that 
the REXX code SA actually ran live was almost all "squished."  I didn't dig 
into it, but I assumed (I still believe safely) that it was to reduce 
interpreter overhead.  I just took a look at it tonight to see how the 
efficiency-minded SA developers coded keywords.  A brief look says the majority 
are first-letter capitalized (as Mike said to do, I believe--which is the 
reason I always have) or completely capitalized; however, there are enough 
exceptions to make me wonder.

By the way, if you haven't seen it, here's a snippet as an example.  It is 
really . . . something:

If cond = 'NOVALUE' | cond = 'HALT' Then rc = 'N/A';Select
When cond = 'HALT' Then desc = 'CLIST HALTED'
When cond = 'SYNTAX' Then desc = errortext(rc);When cond = 'FAILURE' Then Do
If rc = -1 Then;desc = 'COMMAND NOT FOUND';If rc = -3 Then
desc = 'COMMAND NOT PERMITTED';End;Otherwise Nop;End
"AOFMSG "cond",760,LOG,"loc.0me","sigl","rc",'"desc"'";Call Aof_Exit -5;Exit -5
Aof_Silent_Error:;Call Aof_Exit 0;Exit 0;Aof_Exit:;Procedure Expose loc.
Do ix = 1 to Words(loc.0claim_tickets);ticket = WORD(loc.0claim_tickets,ix)
Call INGPXDEL ticket;End;if loc.0UserExit = 'Y' then;call @User_Exit
lrc = Arg(1);If Arg(2) <> 'TEXT' then;If datatype(lrc,'W') ^= 1 Then lrc = 0
Select;When cglobal('AOFDEBUG') = 'Y' Then
"AOFMSG" loc.0me",702,LOG,"time()","opid()","lrc;When loc.0debug = 'Y' Then
Call Aof_Debug 'COMPLETE, RC='||lrc||'.';Otherwise nop;End;Exit lrc

First Horizon Bank
Mainframe Technical Support

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Jeremy Nicoll
Sent: Monday, November 23, 2020 9:50 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

[External Email. Exercise caution when clicking links or opening attachments.]

On Tue, 24 Nov 2020, at 02:20, Al Ferguson wrote:
> Performance reasons. Without the quotes REXX first interprets MVS as a
> variable name

Are you sure?

I thought that environment (after address) was one of the few places in REXX 
where quotes were unnecessary because what's typed there is regarded as a 
constant.

And, that if you actually wanted a variable's value to be used, you'd have to 
code

  address value varname


> Back in the MVS & MVS/XA Days, these types of performance
> optimizations were actually quite noticeable.

Even if what you said above was true, I doubt very much that capitalising the 
environment name would ever have make a measurable difference, bearing in mind 
how few times one would typically specify an address statement in a typical 
exec.


> I similarly “always” capitalize REXX Key words, to save REXX from
> having to spend cycles actually FOLDING then up.

It's been years since I wrote any REXX on a mainframe, but I know I didn't 
uppercase my code back then ... and a quick look at current manuals shows 
sample code is sometimes in uppercase, and sometimes mixed case.

Is this idea that uppercase REXX is more efficient something that everyone here 
accepts?

--
Jeremy Nicoll - my opinions are my own.

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Confidentiality notice:
This e-mail message, including any attachments, may contain legally privileged 
and/or confidential information. If you are not the intended recipient(s), or 
the employee or agent responsible for delivery of this message to the intended 
recipient(s), you are hereby notified that any dissemination, distribution, or 
copying of this e-mail message is strictly prohibited. If you have received 
this message in error, please immediately notify the sender and delete this 
e-mail message from your computer.


--
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: Unable to ALLOC dsn without new

2020-11-24 Thread Elaine Beal
sorry, yes, there is an alias defined

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


Re: Unable to ALLOC dsn without new

2020-11-24 Thread Seymour J Metz
First, check whether the userid is an alias to a user catalog. Second, if you 
don't already have a dialog for creating a ne user, I recommend that you write 
one to automate everything.

It's generally easier to diagnose problems under TSO if you enable all output, 
e.g., PROFILE MSGID  WTPMSG.; in this case I'm pretty confident that it's a 
catalog or security issue.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Elaine Beal 
Sent: Tuesday, November 24, 2020 11:35 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Unable to ALLOC dsn without new

I give up :), asking for help

Defining a new user and logon proc issues

SET  = 
ALLOC FI(ISPPROF) SHR  DA('')

the dsn is new and evidently the alloc fails

but i can manually alloc a new dsn without the new parm (under another ID)

if I try a manual allocate with the failing ID (and no new parm), it fails with

ALLOC FI(ISPPROF) SHR  DA('gayleyc.isptabl')
 DATA SET GAYLEYC.ISPTABL NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED
 ENTER DATA SET NAME -

I thought you had to have the new parm but i can ALLOC a new dsn under another 
id without it.

The ALLOC proc works on another LPAR.


Thanks,
Elaine

--
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: Unable to ALLOC dsn without new

2020-11-24 Thread Paul Gilmartin
On Tue, 24 Nov 2020 10:35:40 -0600, Elaine Beal wrote:
>...
>ALLOC FI(ISPPROF) SHR  DA('gayleyc.isptabl')
> DATA SET GAYLEYC.ISPTABL NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED 
> ENTER DATA SET NAME -  
> 
This is an either/or message of the sort I despise.  The code and
text should distinguish between two cases with distinct code and text:
o DATA SET GAYLEYC.ISPTABL NOT IN CATALOG
o CATALOG CAN NOT BE ACCESSED 

In either case the message should identify the catalog.  If it's MASTER,
that's a big step toward problem determination.

z/OS is far less storage-constrained than when such catch-all messages
were invented.  It's past time to fix them.

-- gil

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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-24 Thread Charles Mills
> uppercase REXX is more efficient

Depending on how the interpreter is written I would guess there is no 
difference. If I wrote it, the logic would be to convert the token to uppercase 
and then look it up in a table. "Converting a token to uppercase" is no faster 
if it is already uppercase.

I suppose one might look up the token first in a list of uppercase keywords, 
and then if that failed, convert and try again, but that seems to me to be an 
odd way of doing things.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Jeremy Nicoll
Sent: Monday, November 23, 2020 6:50 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

On Tue, 24 Nov 2020, at 02:20, Al Ferguson wrote:
> Performance reasons. Without the quotes REXX first interprets MVS as a 
> variable name

Are you sure?

I thought that environment (after address) was one of the few places in 
REXX where quotes were unnecessary because what's typed there is 
regarded as a constant.

And, that if you actually wanted a variable's value to be used, you'd have
to code

  address value varname

 
> Back in the MVS & MVS/XA Days, these types of performance optimizations 
> were actually quite noticeable.

Even if what you said above was true, I doubt very much that capitalising
the environment name would ever have make a measurable difference,
bearing in mind how few times one would typically specify an address 
statement in a typical exec.
 

> I similarly “always” capitalize REXX Key words, to save REXX from 
> having to spend cycles actually FOLDING then up.

It's been years since I wrote any REXX on a mainframe, but I know I didn't
uppercase my code back then ... and a quick look at current manuals shows
sample code is sometimes in uppercase, and sometimes mixed case.

Is this idea that uppercase REXX is more efficient something that everyone 
here accepts?

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


Re: Unable to ALLOC dsn without new

2020-11-24 Thread Paul Gilmartin
On Tue, 24 Nov 2020 10:35:40 -0600, Elaine Beal wrote:
>...
>ALLOC FI(ISPPROF) SHR  DA('gayleyc.isptabl')
> DATA SET GAYLEYC.ISPTABL NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED 
> ENTER DATA SET NAME -  
> 
Do you need to DEFINE a catalog alias?

SHR?  NEW?  Whatever.

-- gil

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


Unable to ALLOC dsn without new

2020-11-24 Thread Elaine Beal
I give up :), asking for help

Defining a new user and logon proc issues

SET  =
ALLOC FI(ISPPROF) SHR  DA('')

the dsn is new and evidently the alloc fails

but i can manually alloc a new dsn without the new parm (under another ID)

if I try a manual allocate with the failing ID (and no new parm), it fails with

ALLOC FI(ISPPROF) SHR  DA('gayleyc.isptabl')
 DATA SET GAYLEYC.ISPTABL NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED 
 ENTER DATA SET NAME -  

I thought you had to have the new parm but i can ALLOC a new dsn under another 
id without it.

The ALLOC proc works on another LPAR.


Thanks,
Elaine

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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-24 Thread Seymour J Metz
I might believe

ADDRESS (CMD)

Unfortunately, CALL does not have a similar option, nor support the NAME option 
of ANSI REXX.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of Al 
Ferguson 
Sent: Monday, November 23, 2020 10:56 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

They are not necessary, but you can use a variable after the ADDRESS.  I have 
written a few REXX programs where I used:
ADDRESS CMD

Where I set CMD = “environ actual-command”.

Any non-quoted word will:
1.  Be folded up to all caps, if not already
2.  Determine if it is a “REXX reserved word”
(environments are not reserved words)
3.  If not, it is a variable and is resolved
(non-initialized variables resolve to the variable name folded 
to all caps)
4.  The resolved string is then passed to the REXX Interpreter
5.  Then executed (or if not executable, an error raised)

Quoted strings are passed, as is, to the Interpreter; skipping the first 3 
steps.

Sent via Al Ferguson’s iPad

> On Nov 23, 2020, at 20:50, Jeremy Nicoll  
> wrote:
>
> On Tue, 24 Nov 2020, at 02:20, Al Ferguson wrote:
>> Performance reasons. Without the quotes REXX first interprets MVS as a
>> variable name
>
> Are you sure?
>
> I thought that environment (after address) was one of the few places in
> REXX where quotes were unnecessary because what's typed there is
> regarded as a constant.
>
> And, that if you actually wanted a variable's value to be used, you'd have
> to code
>
>  address value varname
>
>
>> Back in the MVS & MVS/XA Days, these types of performance optimizations
>> were actually quite noticeable.
>
> Even if what you said above was true, I doubt very much that capitalising
> the environment name would ever have make a measurable difference,
> bearing in mind how few times one would typically specify an address
> statement in a typical exec.
>
>
>> I similarly “always” capitalize REXX Key words, to save REXX from
>> having to spend cycles actually FOLDING then up.
>
> It's been years since I wrote any REXX on a mainframe, but I know I didn't
> uppercase my code back then ... and a quick look at current manuals shows
> sample code is sometimes in uppercase, and sometimes mixed case.
>
> Is this idea that uppercase REXX is more efficient something that everyone
> here accepts?
>
> --
> Jeremy Nicoll - my opinions are my own.
>
> --
> 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


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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-24 Thread Seymour J Metz
"Note that the names of built-infunctions (and generally the names of external 
routines, too) are in uppercase; therefore, you should uppercase the name in 
the literal string."

That seems to say that REXX does *NOT* force it upper.

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <000433f07816-dmarc-requ...@listserv.ua.edu>
Sent: Monday, November 23, 2020 11:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

On Tue, 24 Nov 2020 02:07:20 +, Seymour J Metz wrote:

>I don't know why he quoted it, but quoting the environment name is certainly 
>valid. It's probably a matter of local style.
>
IIRC, in CMS quoted environment names and external function names
are taken as-is.  In TSO they are forced upper.  In OMVS I don't know
whether 'wombat'() and 'WOMBAT'() can distinguish the respective
functions in UNIX files.


On Mon, 23 Nov 2020 18:34:14 -0600, Al Ferguson wrote:

>FYI: EXECIO is supported by MVS and is not part of the TSO 
>extensions/functions of REXX.
>   ADDRESS “MVS” “EXECIO ”
>
>It appears to work under TSO, because REXX then passes it to MVS before 
>throughing an error.
>
Who excuses the unmatched "("?  But do I remember vaguely that
a missing ")" allowed in TSO commands?

>EXECIO can be used under IRXMVS,
>
"IRXMVS"?  "IRXJCL"?  Whatever.

>but you will need to use BPXWDYN if you want to do dynamic allocation
>(under OS390, BPXWDYN was part of, and required,USS. As of zOS,
>this is no longer the case).
>
IIRC, WJS early made BPXWDYN available as a load module on the
Tools & Toys page, but it never depended on OMVS.

Irritatingly, ADDRESS MVS EXECIO under OMVS has different syntax
and semantics from ADDRESS MVS EXECIO under TSO.  I understand
that "ADDRESS sh 'time'" is different from "ADDRESS TSO 'time'", but
the same host environment should be the same.


On Tue, 24 Nov 2020 11:57:55 +1000, Peter Vels wrote:

>x all 'foo bar'
>del all x
>
Of course.  Thanks.

The drawback is that you're flying blind; you don't see the lines
you're about to delete.  But IIRC vaguely that there's a command
that swaps X and NX lines.

Counting keystrokes because I believe interactive editing should
be a motor skill; ergonomically minimal:  Don't you need a couple
s in there?


On Mon, 23 Nov 2020 20:20:31 -0600, Al Ferguson wrote:

>Performance reasons. Without the quotes REXX first interprets MVS as a 
>variable name, which (probable) has not been set, so takes on the value of the 
>variable name in caps. By putting it in caps, and enclosing it in quotes, I 
>save REXX a few steps and it goes directly to the MVS ADDRESS environment to 
>find the EXECIO function.
>
The formal syntax of Rexx is a nightmare.  Consider the differences between:
address MVS
address ( MVS )
address(  MVS )
address( "MVS" )
... all different.
>...
>I similarly “always” capitalize REXX Key words, to save REXX from having to 
>spend cycles actually FOLDING then up. Old habits, but again I think more 
>readable.
>
I doubt that matters much.  But there's an obe\servable advantage
of "x==y" over "X=Y".  But beware the semantic difference.

And function calls are expensive.  PARSE is faster than SUBSTR() if
you can do the same thing with either.

-- gil

--
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: Has anyone integrated Rexx with IKJPARS?

2020-11-24 Thread Seymour J Metz
Compressing REXX executable code in large packages is reasonable if the 
uncompressed form is available for maintenance. OS/2 has a neat trick; the 
first time you call a REXX script, the compiler saves the tokenized code in an 
extended attribute; the next time you call it, the interpreter uses the 
existing tokenized form.

I once had the "pleasure" of getting a PL/I program with all unnecessary white 
space removed; I was not amused.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3



From: IBM Mainframe Discussion List  on behalf of Al 
Ferguson 
Sent: Monday, November 23, 2020 11:14 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

As for notable performance; we had a low memory, dual CP, water cooled, heavily 
overcommitted processor. My first major program covered IBM CSP v3.2 to v3.3, 
and converted DB2 View names w/shortened column names (7 characters or less, as 
v3.2 supported up to 8 character variables). This ran for 5.75 hours over our 
code base; ~5.25 with these and a few other optimizations (e.g. putting an 
entire DO loops on 1 line where possible).

Since then IBM has made numerous REXX performance improvements and supports 
more memory, more efficiently. This means these optimizations are much less 
relevant. But, if your code is heavily used, it is still worth it. Also, I 
think it is more readable.

Sent via Al Ferguson’s iPad

> On Nov 23, 2020, at 21:56, Al Ferguson  wrote:
>
> They are not necessary, but you can use a variable after the ADDRESS.  I 
> have written a few REXX programs where I used:
>ADDRESS CMD
>
> Where I set CMD = “environ actual-command”.
>
> Any non-quoted word will:
>1.Be folded up to all caps, if not already
>2.Determine if it is a “REXX reserved word”
>(environments are not reserved words)
>3.If not, it is a variable and is resolved
>(non-initialized variables resolve to the variable name folded to all 
> caps)
>4.The resolved string is then passed to the REXX Interpreter
>5.Then executed (or if not executable, an error raised)
>
> Quoted strings are passed, as is, to the Interpreter; skipping the first 3 
> steps.
>
> Sent via Al Ferguson’s iPad
>
>>> On Nov 23, 2020, at 20:50, Jeremy Nicoll  
>>> wrote:
>>>
>>> On Tue, 24 Nov 2020, at 02:20, Al Ferguson wrote:
>>> Performance reasons. Without the quotes REXX first interprets MVS as a
>>> variable name
>>
>> Are you sure?
>>
>> I thought that environment (after address) was one of the few places in
>> REXX where quotes were unnecessary because what's typed there is
>> regarded as a constant.
>>
>> And, that if you actually wanted a variable's value to be used, you'd have
>> to code
>>
>> address value varname
>>
>>
>>> Back in the MVS & MVS/XA Days, these types of performance optimizations
>>> were actually quite noticeable.
>>
>> Even if what you said above was true, I doubt very much that capitalising
>> the environment name would ever have make a measurable difference,
>> bearing in mind how few times one would typically specify an address
>> statement in a typical exec.
>>
>>
>>> I similarly “always” capitalize REXX Key words, to save REXX from
>>> having to spend cycles actually FOLDING then up.
>>
>> It's been years since I wrote any REXX on a mainframe, but I know I didn't
>> uppercase my code back then ... and a quick look at current manuals shows
>> sample code is sometimes in uppercase, and sometimes mixed case.
>>
>> Is this idea that uppercase REXX is more efficient something that everyone
>> here accepts?
>>
>> --
>> Jeremy Nicoll - my opinions are my own.
>>
>> --
>> 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


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