Re: Has anyone integrated Rexx with IKJPARS?

2020-11-23 Thread Arthur
On 23 Nov 2020 20:21:55 -0800, in bit.listserv.ibm-main 
(Message-ID:<0023787189638483.wa.paulgboulderaim@listserv.ua.edu>) 
000433f07816-dmarc-requ...@listserv.ua.edu (Paul 
Gilmartin) wrote:


>On Mon, 23 Nov 2020 21:56:22 -0600, 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".
>>
>I'm incredulous.  Are you sure you didn't:
>interpret 'ADDRESS' CMD
>???
>The symbol in the simpler form of ADDRESS  is *never*
>evaluated as a variable.

I believe that both of the above are, at best, partially 
correct.


Paul is correct that ADDRESS CMD should set the environment 
to CMD regardless of the value of a variable named CMD. 
However, it is possible to use a variable: ADDRESS (CMD) is 
the equivalent of ADDRESS VALUE CMD, which would set the 
environment to the value of variable CMD.


The above is my interpretation of the ADDRESS command as 
explained in IKJ4A3A0.


--
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-23 Thread Peter Vels
flip

On Tue, 24 Nov 2020 at 14:05, Paul Gilmartin <
000433f07816-dmarc-requ...@listserv.ua.edu> wrote:

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

--
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-23 Thread Paul Gilmartin
On Mon, 23 Nov 2020 21:56:22 -0600, 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”. 
>
I'm incredulous.  Are you sure you didn't:
interpret 'ADDRESS' CMD
???  
The symbol in the simpler form of ADDRESS  is *never*
evaluated as a variable.

-- 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-23 Thread Jeremy Nicoll
On Tue, 24 Nov 2020, at 03:19, Jackson, Rob wrote:
> 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)

Did he?   My copy of The Rexx Language (pub 1990) has almost all
its code samples (where there's several lines as if being a snippet of
a program) written almost entirely in lowercase.  That's also true of 
the complete sample program in one of the appendices.  There's 
mixed case in comments, and literals that will be displayed to the 
user.  In the complete program, labels have their first letter capitalised.

The section of the book that covers built-in functions capitalises the
whole of the function name in its single line examples of each one, 
and the option characters in functions like date(), but I think that's 
more to emphasise the function that's being discussed.

I don't think I've ever done first-letter-only capitalisation of bits of a
program - too fussy.


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

It's interesting; I've seen squished/crunched code in other languages where 
a lot more of the spaces would have been removed, and variable names 
shortened to one or two characters (often spread equally across the a-z
namespace range, though whether that helps depends on how the runtime
system implements variable look-up).

If one chose to implement code looking like this one would need (I guess)
to keep a more normally indented, one statement per line copy of the
programs as editing a squished one would be very error-prone.


I wonder if sourceline() works on physical (multi-statement) lines or logical 
statements?  And sigl?  It'd be deeply confusing if the sigl-derived line 
number in an error message was really a statement number rather than 
the physical line number in the squished code.  Imagine if a single line 
had several similar statements on it... you wouldn't know which one had
caused a particular error...   

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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-23 Thread Al Ferguson
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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-23 Thread Paul Gilmartin
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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-23 Thread Al Ferguson
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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-23 Thread Jackson, Rob
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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-23 Thread Jeremy Nicoll
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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-23 Thread Al Ferguson
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.

Back in the MVS & MVS/XA Days, these types of performance optimizations were 
actually quite noticeable. Today, you need to do quite a number of them, in a 
large loop, to see the difference. So today, it is mostly just my fingers 
memory and for documentation purposes (it sticks out visually more).

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.

Sent via Al Ferguson’s iPad

> On Nov 23, 2020, at 19:57, Peter Vels  wrote:
> 
> x all 'foo bar'
> del all x
> 
> 
>> On Tue, 24 Nov. 2020, 11:25 Paul Gilmartin, <
>> 000433f07816-dmarc-requ...@listserv.ua.edu> wrote:
>> 
>> 
>> 
>>  Example: if I want to delete
>> several lines containing "foo bar" in vi:
>> ...
>> in ISPF Edit (I think):
>>
>>x all
>>f 'foo bar'
>>del all
>>reset
>> 
>> Is there a better way?
>> 
> 
> --
> 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-23 Thread Seymour J Metz
I don't know why he quoted it, but quoting the environment name is certainly 
valid. It's probably a matter of local style.


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



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

On Tue, 24 Nov 2020, at 00:34, Al Ferguson wrote:
>   ADDRESS “MVS” “EXECIO ”

Why do you have quotes around 'MVS'?


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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-23 Thread Jeremy Nicoll
On Tue, 24 Nov 2020, at 01:25, Paul Gilmartin wrote:

> I suspect it's a cultural influence.  TSO designers expected programmers
> to be so repulsed by the necessarily unbalanced "(" in:
> "EXECIO 1 DISKW"  "(STRING" 
> ... that they required an assignment and a stem, or a push and pull.

EXECIO started off being a command on CMS systems.  Commands there 
often took the basic syntax form 

   command parm .. parm  (optional parms [)]

where one could provide a trailing closing bracket but they were usually 
missed-out.

The same is true under TSO etc - there's nothing to stop you providing a 
closing bracket, if you want one.

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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-23 Thread Peter Vels
x all 'foo bar'
del all x


On Tue, 24 Nov. 2020, 11:25 Paul Gilmartin, <
000433f07816-dmarc-requ...@listserv.ua.edu> wrote:

>
>
>   Example: if I want to delete
> several lines containing "foo bar" in vi:
> ...
> in ISPF Edit (I think):
> 
> x all
> f 'foo bar'
> del all
> reset
>
> Is there a better way?
>

--
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-23 Thread Jeremy Nicoll
On Tue, 24 Nov 2020, at 00:34, Al Ferguson wrote:
>   ADDRESS “MVS” “EXECIO ”

Why do you have quotes around 'MVS'?


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


Re: Has anyone integrated Rexx with IKJPARS?

2020-11-23 Thread Seymour J Metz
Quoting it, or using a variable already set to the command, should do it.

Of course, if you're running under Unix System Services then the ANSI I/O 
(stream) functions are available, but good old fashioned EXECIO still works.


--
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 8:25 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

On Mon, 23 Nov 2020 21:53:15 +, Seymour J Metz wrote:

>> in fact, IKJPARS weakens EXECIO.  In CMS Rexx, I can simply say:
>>EXECIO 1 DISKW file-spec (string It's a string!

>No.
>
OK.  I forgot to quote it.  Anything else?

On Mon, 23 Nov 2020 14:16:50 -0800, Charles Mills wrote:

>Pardon my ignorance. What does IKJPARS have to do with EXECIO DISKW?
>
I suspect it's a cultural influence.  TSO designers expected programmers
to be so repulsed by the necessarily unbalanced "(" in:
"EXECIO 1 DISKW"  "(STRING" 
... that they required an assignment and a stem, or a push and pull.

Coming from a background of TECO, I was aghast at the verbosity of
SPF Edit; it felt like composing a program in real time whereas using
an editor should become a motor skill.  Example: if I want to delete
several lines containing "foo bar" in vi:
/foo bar
ddnddndd ...
or:
:g/foo bar/d

in ISPF Edit (I think):

x all
f 'foo bar'
del all
reset

Is there a better way?  Do I need to hone my skills?

--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-23 Thread Seymour J Metz
ObSantayanah For your information REXX is part of the TSO/E component of z/OS, 
and has been part of TSO/E since TSO/E Version 2. That's why 
https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R4Library?OpenDocument
 lists z/OS Version 2 Release 4 TSO/E REXX Reference, SA32-0972-40, under z/OS 
TSO/E.

https://www.rexxla.org/links/IBM_historical_pages/rexxtso.html is your friend.


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



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

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.  EXECIO can be used under IRXMVS, 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).

Sent via Al Ferguson’s iPad

> On Nov 23, 2020, at 18:23, Seymour J Metz  wrote:
>
> Absolutely nothing. EXECIO in TSO/E does its own parsing.
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
>
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Charles Mills 
> Sent: Monday, November 23, 2020 5:16 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Has anyone integrated Rexx with IKJPARS?
>
> Pardon my ignorance. What does IKJPARS have to do with EXECIO DISKW?
>
> Charles
>
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of Paul Gilmartin
> Sent: Monday, November 23, 2020 10:34 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Has anyone integrated Rexx with IKJPARS?
>
>
> in fact, IKJPARS weakens EXECIO.  In CMS Rexx, I can simply say:
>EXECIO 1 DISKW file-spec (string It's a string!
>
> ... (any expression).  IKJPARS would prohibit this.  I suspect this was
> a deciding factor in not providing TSO Rexx EXECIO a STRING option
> and requiring instead the cumbersome:
>X.1 = 'It''s a string!'
>'EXECIO 1 DISKW file-spec (stem X.'
>
> --
> 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


--
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-23 Thread Paul Gilmartin
On Mon, 23 Nov 2020 21:53:15 +, Seymour J Metz wrote:

>> in fact, IKJPARS weakens EXECIO.  In CMS Rexx, I can simply say:
>>EXECIO 1 DISKW file-spec (string It's a string!

>No.
>
OK.  I forgot to quote it.  Anything else?

On Mon, 23 Nov 2020 14:16:50 -0800, Charles Mills wrote:

>Pardon my ignorance. What does IKJPARS have to do with EXECIO DISKW?
>
I suspect it's a cultural influence.  TSO designers expected programmers
to be so repulsed by the necessarily unbalanced "(" in:
"EXECIO 1 DISKW"  "(STRING" 
... that they required an assignment and a stem, or a push and pull.

Coming from a background of TECO, I was aghast at the verbosity of
SPF Edit; it felt like composing a program in real time whereas using
an editor should become a motor skill.  Example: if I want to delete
several lines containing "foo bar" in vi:
/foo bar
ddnddndd ...
or:
:g/foo bar/d

in ISPF Edit (I think):

x all
f 'foo bar'
del all
reset

Is there a better way?  Do I need to hone my skills?

--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-23 Thread Al Ferguson
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.  EXECIO can be used under IRXMVS, 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).

Sent via Al Ferguson’s iPad

> On Nov 23, 2020, at 18:23, Seymour J Metz  wrote:
> 
> Absolutely nothing. EXECIO in TSO/E does its own parsing.
> 
> 
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> 
> 
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Charles Mills 
> Sent: Monday, November 23, 2020 5:16 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Has anyone integrated Rexx with IKJPARS?
> 
> Pardon my ignorance. What does IKJPARS have to do with EXECIO DISKW?
> 
> Charles
> 
> 
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of Paul Gilmartin
> Sent: Monday, November 23, 2020 10:34 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Has anyone integrated Rexx with IKJPARS?
> 
> 
> in fact, IKJPARS weakens EXECIO.  In CMS Rexx, I can simply say:
>EXECIO 1 DISKW file-spec (string It's a string!
> 
> ... (any expression).  IKJPARS would prohibit this.  I suspect this was
> a deciding factor in not providing TSO Rexx EXECIO a STRING option
> and requiring instead the cumbersome:
>X.1 = 'It''s a string!'
>'EXECIO 1 DISKW file-spec (stem X.'
> 
> --
> 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-23 Thread Seymour J Metz
Absolutely nothing. EXECIO in TSO/E does its own parsing.


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



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

Pardon my ignorance. What does IKJPARS have to do with EXECIO DISKW?

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: Monday, November 23, 2020 10:34 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?


in fact, IKJPARS weakens EXECIO.  In CMS Rexx, I can simply say:
EXECIO 1 DISKW file-spec (string It's a string!

... (any expression).  IKJPARS would prohibit this.  I suspect this was
a deciding factor in not providing TSO Rexx EXECIO a STRING option
and requiring instead the cumbersome:
X.1 = 'It''s a string!'
'EXECIO 1 DISKW file-spec (stem X.'

--
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-23 Thread Charles Mills
Pardon my ignorance. What does IKJPARS have to do with EXECIO DISKW?

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: Monday, November 23, 2020 10:34 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?


in fact, IKJPARS weakens EXECIO.  In CMS Rexx, I can simply say:
EXECIO 1 DISKW file-spec (string It's a string!

... (any expression).  IKJPARS would prohibit this.  I suspect this was
a deciding factor in not providing TSO Rexx EXECIO a STRING option
and requiring instead the cumbersome:
X.1 = 'It''s a string!'
'EXECIO 1 DISKW file-spec (stem X.'

--
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-23 Thread Seymour J Metz
> in fact, IKJPARS weakens EXECIO.  In CMS Rexx, I can simply say:
>EXECIO 1 DISKW file-spec (string It's a string!

No.


--
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 1:33 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Has anyone integrated Rexx with IKJPARS?

On Thu, 19 Nov 2020 11:30:02 -0800, Charles Mills wrote:

>It would appear to be a lot of work, but it would seem that "TSO format
>command parsing" and Rexx would be a natural marriage.
>
>I have never used IKJPARS, so I don't claim to be an expert, and others
>might disagree.
>
>The issue I am struggling with is that for all of Rexx's parsing power,
>which is of course legendary, it does not seem well-suited to classic "MVS"
>(for want of a better term) quoted strings. I am considering an EXEC that
>would accept parameters of
>
>'a quoted string', 'another quoted string', simpletoken1, simpletoken2, ...
>
The UNIX System services comes closer.  The command:
myrexx 'a quoted string'  'another quoted string'  simpletoken1  
simpletoken2  ...

not only concatenates the tokens into ARG(1) but also assigns them to
__ARGV.1,  __ARGV.2,  __ARGV.3, __ARGV.4, ...

Regina has a command line option to select Rexx-like parsing (default)
or shell-like parsing.

in fact, IKJPARS weakens EXECIO.  In CMS Rexx, I can simply say:
EXECIO 1 DISKW file-spec (string It's a string!

... (any expression).  IKJPARS would prohibit this.  I suspect this was
a deciding factor in not providing TSO Rexx EXECIO a STRING option
and requiring instead the cumbersome:
X.1 = 'It''s a string!'
'EXECIO 1 DISKW file-spec (stem X.'

-- 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: Running same stc in a LPAR

2020-11-23 Thread Jeremy Nicoll
On Sun, 22 Nov 2020, at 04:08, Peter wrote:
> Is it possible for JES to allow to run two started task with the same name
> in a LPAR(not sysplex).

Twenty+ years ago there wasn't a problem running multiple STCs with the
same name, if you could make sure there'd be no dataset contention.

I remember using automation to start some STCs with a parameter that 
was used as one qualifier in every temporary datasetname that that STC 
would allocate.  I think (but can't remember how) that the automation 
that started the STCs made sure that different values were used for that 
qualifier.  

So eg in the STC JCL there might have been 

//SYSUT2   DD DISP=(NEW,DELETE,DELETE),SPACE=(TRK,(5,5))
// UNIT=SYSDA,DSN=APP3.STC#TEMP.
//SYSUT3   DD DISP=(NEW,DELETE,DELETE),SPACE=(TRK,(5,5))
// UNIT=SYSDA,DSN=APP3.STC#TEMP. 

and that instance of the STC was started with a unique T= parm.  

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


Re: Running same stc in a LPAR

2020-11-23 Thread Tom Brennan
And for programs that do not prohibit duplicates themselves, I remember 
writing a short program that I would include as the top step in an STC 
that checked for a duplicate address space name, and would spit out a 
message and abend if it found another already running.


On 11/23/2020 10:44 AM, Jesse 1 Robinson wrote:

An example of duplicate STCs is 'INIT'. No action is required to run an 
unlimited number of initiators. As someone else pointed out, a particular STC 
may and often does prohibit duplicates in its own code, but that is not an MVS 
limitation.

.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW
robin...@sce.com

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Tom 
Wasik
Sent: Monday, November 23, 2020 7:50 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: (External):Re: Running same stc in a LPAR

*** EXTERNAL EMAIL - Use caution when opening links or attachments ***

You can allow duplicate jobs to run based on JOBCLASS (DUPL_JOB=DELAY|NODELAY 
as of z/OS 1.7 - 2005), at a system level (JOBDEF DUPL_JOB=DELAY|NODELAY as of 
OS/390 release 3 - 1997) and with z/OS 2.4, you can exempt a particular job 
from duplicate job delays using the JES2 POLICY function.

Tom Wasik


--
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: Running same stc in a LPAR

2020-11-23 Thread Jesse 1 Robinson
An example of duplicate STCs is 'INIT'. No action is required to run an 
unlimited number of initiators. As someone else pointed out, a particular STC 
may and often does prohibit duplicates in its own code, but that is not an MVS 
limitation. 

.
.
J.O.Skip Robinson
Southern California Edison Company
Electric Dragon Team Paddler 
SHARE MVS Program Co-Manager
323-715-0595 Mobile
626-543-6132 Office ⇐=== NEW
robin...@sce.com

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of Tom 
Wasik
Sent: Monday, November 23, 2020 7:50 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: (External):Re: Running same stc in a LPAR

*** EXTERNAL EMAIL - Use caution when opening links or attachments ***

You can allow duplicate jobs to run based on JOBCLASS (DUPL_JOB=DELAY|NODELAY 
as of z/OS 1.7 - 2005), at a system level (JOBDEF DUPL_JOB=DELAY|NODELAY as of 
OS/390 release 3 - 1997) and with z/OS 2.4, you can exempt a particular job 
from duplicate job delays using the JES2 POLICY function.

Tom Wasik


--
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-23 Thread Paul Gilmartin
On Thu, 19 Nov 2020 11:30:02 -0800, Charles Mills wrote:

>It would appear to be a lot of work, but it would seem that "TSO format
>command parsing" and Rexx would be a natural marriage.
>
>I have never used IKJPARS, so I don't claim to be an expert, and others
>might disagree.
>
>The issue I am struggling with is that for all of Rexx's parsing power,
>which is of course legendary, it does not seem well-suited to classic "MVS"
>(for want of a better term) quoted strings. I am considering an EXEC that
>would accept parameters of
>
>'a quoted string', 'another quoted string', simpletoken1, simpletoken2, ...
>
The UNIX System services comes closer.  The command:
myrexx 'a quoted string'  'another quoted string'  simpletoken1  
simpletoken2  ...

not only concatenates the tokens into ARG(1) but also assigns them to
__ARGV.1,  __ARGV.2,  __ARGV.3, __ARGV.4, ...

Regina has a command line option to select Rexx-like parsing (default)
or shell-like parsing.

in fact, IKJPARS weakens EXECIO.  In CMS Rexx, I can simply say:
EXECIO 1 DISKW file-spec (string It's a string!

... (any expression).  IKJPARS would prohibit this.  I suspect this was
a deciding factor in not providing TSO Rexx EXECIO a STRING option
and requiring instead the cumbersome:
X.1 = 'It''s a string!'
'EXECIO 1 DISKW file-spec (stem X.'

-- gil

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


Re: Running same stc in a LPAR

2020-11-23 Thread Tom Wasik
You can allow duplicate jobs to run based on JOBCLASS (DUPL_JOB=DELAY|NODELAY 
as of z/OS 1.7 - 2005), at a system level (JOBDEF DUPL_JOB=DELAY|NODELAY as of 
OS/390 release 3 - 1997) and with z/OS 2.4, you can exempt a particular job 
from duplicate job delays using the JES2 POLICY function.

Tom Wasik

--
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-23 Thread Erik Janssen
Hello Peter,

Not that I understand any concept in this thread, but I looked at the ASSB 
mapping docu in 
https://www.ibm.com/support/knowledgecenter/SSLTBW_2.4.0/com.ibm.zos.v2r4.iead100/ASSB-map.htm
 and it says at the ASSBISQN at offset 52:
Initial address space sequence number / instance number. It can be used with 
ASCBASID for the SSAIR instruction 

Is that incorrect information then, or am I interpreting your answer 
incorrectly?

Kind regards,
Erik Janssen.

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