Re: Dump Analysis Best Training / Documentation

2024-05-19 Thread Seymour J Metz
Do you have access to Jerry Ng's presentations at SHARE?

Has IBM added anything on debugging in the z/OS V3R1 documentation?

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


From: IBM Mainframe Discussion List  on behalf of 
Steve Estle <05dcac13570d-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, May 19, 2024 9:41 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Dump Analysis Best Training / Documentation

Hello All,

Way back in the day I used to read dumps fairly handily in the MVS/XA era.  But 
have been away for so long I know things have evolved but appears everything is 
basically still intact relative to ASCB to PRB relationships.  I'm working on a 
hang/loop condition that prevents started task from being stopped normally (P 
STC) and have taken SVC dump and want to interpret it.  I'm somewhat fluent 
with IPCS and can bring up via panels, but from there am struggling with where 
to go to identify where the hang/loop condition is happening.

Any shares of doc, presentations, tips, etc. are much appreciated as I still 
think this is one of the lost arts that in the end to be a top notch systems 
programmer you need to be able to interpret.  I know IBM used to teach whole 
classes on this but believe much of that has gone way of dodo bird...

Thanks in advance.

Steve Estle

--
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: ./ ADD - which utility? (RANT)

2024-05-18 Thread Seymour J Metz
The same is true for, e.g., InfoConnect Reflection.

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


From: IBM Mainframe Discussion List  on behalf of 
Charles Mills 
Sent: Saturday, May 18, 2024 8:18 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: ./ ADD - which utility? (RANT)

I'm late to the party here so I'm not sure if what I quote below is the 
original query but unless I am missing something, most or all of the Windows 
graphical FTP clients will do that. FileZilla is free. WS_FTP may be free for 
individual use. There may be others. They will graphically expand a z/OS PDS(E) 
(a la Windows File Explorer or ISPF, more or less) and you can drag one, 
several or all members from the PDS(E) to a Windows folder, or vice versa, with 
or without ASCII translation. WS_FTP will also (but FileZilla will not) do 
extension generation or conversion. So you can copy all of the members of a 
PDS(E) and have them end up on Windows as *.asm, or copy from Windows to a 
PDS(E) and not have it complain that WHATEVER.ASM is not a valid member name. I 
also copy between Windows and OMVS folders, and have WS_FTP convert *.cpp to 
*.C and vice versa (following the different naming conventions for C++ source 
on the two platforms).

Or am I missing something (not the first time )?

Charles

>W dniu 14.04.2024 o 03:01, Michael Oujesky pisze:
>> I really miss WSA and it's ability to take a text PDS and transfer all
>> the members to Windows creating individual members in the target
>> directory and doing the EBCDIC to ASCII translation for each member in
>> the PDS.

--
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: WHERE in debugger?

2024-05-17 Thread Seymour J Metz
I've downloaded the debugger manuals at the IRS, but they're not well indexed. 
I've had to do text searches for things that should have been in the index. And 
I still don't know where the is a consistent LANGX format among products. Are 
ASMLANGX and EQALANGX interchangeable, or do you need to use the right one for 
the product you're using?

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Feller <05aa34d46684-dmarc-requ...@listserv.ua.edu>
Sent: Friday, May 17, 2024 6:21 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: WHERE in debugger?

This is a link to the PDF versions on the IBM Debugger manuals.  I
personally have not used the debugging tool but I'm sure there are
commands/displays that will map out variables.  I know I've seen that in the
Fault Analyzer tool.

Looks like there are manuals for the version 16.0, 15.0 and 14.2 of the
software.  The link points to the 16.0 version.

z/OS® Debugger PDF versions - IBM Documentation
<https://www.ibm.com/docs/en/developer-for-zos/16.0?topic=guide-pdf-versions
>

I hope this helps.


Paul

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of
Seymour J Metz
Sent: Friday, May 17, 2024 4:11 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: WHERE in debugger?

Do the IDF and z/OS Debugger have commands given an address will return
return a load module, csect and symbol for that address? What about storage
mapped by a dsect?

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

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email
to lists...@listserv.ua.edu <mailto: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


WHERE in debugger?

2024-05-17 Thread Seymour J Metz
Do the IDF and z/OS Debugger have commands given an address will return return 
a load module, csect and symbol for that address? What about storage mapped by 
a dsect?

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

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


Re: Fault Analyzer output for executed instructions?

2024-05-17 Thread Seymour J Metz
OK, it's DEBUG-I-378.

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


From: IBM Mainframe Discussion List  on behalf of 
Farley, Peter <031df298a9da-dmarc-requ...@listserv.ua.edu>
Sent: Friday, May 17, 2024 11:39 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Fault Analyzer output for executed instructions?

IBM ID’s are free and are not limited to people who have legitimate access to 
an IBM customer number.  I have an IBM ID registered to my work email address 
and have never had any issue because of that ID registration, but it allows me 
to enter and vote for “ideas”.

Peter

From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Friday, May 17, 2024 11:35 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Fault Analyzer output for executed instructions?


That requires a userid.



Ideally I'd not only like the report to show the as-modified instruction but 
also to use that as the basis for displaying the operands.



--



This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


--
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: Fault Analyzer output for executed instructions?

2024-05-17 Thread Seymour J Metz
That requires a userid.

Ideally I'd not only like the report to show the as-modified instruction but 
also to use that as the basis for displaying the operands.

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


From: IBM Mainframe Discussion List  on behalf of 
Hank Oerlemans 
Sent: Friday, May 17, 2024 1:33 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Fault Analyzer output for executed instructions?

Care to create an IBM IDEA at https://ideas.ibm.com/  for tracking ?

--
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: HLASM IDF ddnames

2024-05-17 Thread Seymour J Metz
It's helpful, but I'm still looking for a complete list of ddnames. Thanks.

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


From: IBM Mainframe Discussion List  on behalf of 
Bruce Hewson <0499d3d5e892-dmarc-requ...@listserv.ua.edu>
Sent: Friday, May 17, 2024 12:16 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: HLASM IDF ddnames

Hello Shmuel,

Below are my JCL for building ASMLANGX file and REXX exec to start IDF - along 
with PROFILE to setup session, I use 62x160 screen size.

Hope it helps.

Bruce


On Thu, 16 May 2024 11:24:25 +, Seymour J Metz  wrote:

>Cross-posted to ASSEMBLER-LIST, IBM-MAIN.
>
>Is there a list of all the ddnames used by IDF and their functions? The manual 
>has a section on optional files, but it is missing, e.g., the macro library 
>ASM. I tried checking the index, with no luck.
>
>BTW, why did IBM drop the RCF e-mailadddress? It was an easy, robust way to 
>submit comments.
>
>--
>Shmuel (Seymour J.) Metz
>http://mason.gmu.edu/~smetz3
>עַם יִשְׂרָאֵל חַי
>נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>

//ITSXSA3M JOB (ACCT#),'BRUCE HEWSON',
// CLASS=U,
// MSGCLASS=W
//*
//*
//ASMLINK  PROC MBR=,LKPARM='LET,LIST,NCAL,MAP,TEST'
//*
//ASMOPT   EXEC PGM=ASMA90,PARM='OBJ,ADATA,TEST',COND=(0,NE)
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  UNIT=SYSDA,SPACE=(1700,(600,100))
//SYSUT2   DD  UNIT=SYSDA,SPACE=(1700,(300,50))
//SYSUT3   DD  UNIT=SYSDA,SPACE=(1700,(300,50))
//SYSLIB   DD  DISP=SHR,DSN=ITSXSA3.USER.SOURCE
// DD  DISP=SHR,DSN=SYS1.SASMMAC2
// DD  DISP=SHR,DSN=SYS1.MACLIB
// DD  DISP=SHR,DSN=SYS1.MODGEN
// DD  DISP=SHR,DSN=ITSXSA3.USER.MACLIB
//SYSINDD  DISP=SHR,DSN=ITSXSA3.USER.SOURCE()
//SYSADATA DD  DISP=SHR,DSN=ITSXSA3.USER.SYSADATA()
//SYSPUNCH DD  DUMMY
//SYSLIN   DD  DISP=(NEW,PASS),DSN=&OPTTBL,
// UNIT=SYSDA,SPACE=(80,(200,50))
//*
//LNKOPT   EXEC PGM=IEWL,PARM='',COND=(8,LE,ASMOPT)
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  UNIT=SYSDA,SPACE=(1700,(600,100))
//SYSLIB   DD  DISP=SHR,DSN=ITSXSA3.USER.LOAD
//SYSLMOD  DD  DISP=SHR,DSN=ITSXSA3.USER.LOAD()
//SYSLIN   DD  DISP=(OLD,DELETE),DSN=&OPTTBL
//*
//*
//ASMLANGX EXEC PGM=ASMLANGX,
//   PARM=' (ASM LOUD ERROR'
//SYSPRINT DD  SYSOUT=*
//SYSADATA DD  DISP=SHR,DSN=ITSXSA3.USER.SYSADATA
//ASMLANGX DD  DISP=SHR,DSN=ITSXSA3.USER.ASMLANGX
//STEPLIB  DD  DISP=SHR,DSN=SYS1.SASMMOD2
//*
// PEND
//*
//HOW  EXEC ASMLINK,MBR=HOW
//

REXX exec TESTHOW
/*>Insert your program name here<*/
 module_name = "HOW"
/*> <*/
 Parse Arg parmlist
  "ALLOC F(ASM)  DS(ASMIDF.PROFILE)SHR REUS"
  "ALLOC F(CMDLOG)   DS(ASMIDF.CMDLOG) SHR REUS"
  "ALLOC F(ASMLANGX) DS('ITSXSA3.USER.ASMLANGX')   SHR REUS"
  "ALLOC F(ASMLOADX) DS('ITSXSA3.USER.LOAD'   " ,
   "  " ,
") SHR REUS"

  "ASMIDF" module_name ,
  "( AUTOLOAD LIBE ASMLOADX PATH CMDLOG PRO" module_name ,
  "/ " parmlist

  "FREE F(ASM CMDLOG ASMLANGX ASMLOADX)"
 Return

 BROWSEITSXSA3.ASMIDF.PROFILE(HOW)
* Top o
'OREGS'
'MOVE OREGS 1 80'
'REGS'
'OPTIONS'
'MOVE OPTIONS 9 80'
'DISASM'
'STMTSTEP'
'OPEN DUMP'
'MOVE DUMP 15 80'
'OPEN DUMP'
'MOVE =6 30 80'
'FOLLOW =5 R13'
'FOLLOW =6 R11'
'DBREAK (HOW) HOW+80 '
 Bottom

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


Relation between ASMLANGX and EQALANGX

2024-05-16 Thread Seymour J Metz
The HLASM Toolkit includes ASMLANGX and the z/OS debugger includes EQALANGX; 
are their outputs interchangeable, that is, can ASMIDF, ASMIDFB and EQANMDBG 
use the output from either, or does ASMIDF have to use the output from ASMLANGX 
and EQANMDBG have to use the output of EQALANGX?

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

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


HLASM IDF ddnames

2024-05-16 Thread Seymour J Metz
Cross-posted to ASSEMBLER-LIST, IBM-MAIN.

Is there a list of all the ddnames used by IDF and their functions? The manual 
has a section on optional files, but it is missing, e.g., the macro library 
ASM. I tried checking the index, with no luck.

BTW, why did IBM drop the RCF e-mail address? It was an easy, robust way to 
submit comments.

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

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


Re: Fault Analyzer output for executed instructions?

2024-05-15 Thread Seymour J Metz

Convert From Packed has an 8 bit length field, and it can generate IC 07 with 
DXC 0 or 3.

In my case it was an EX of an RP, so both the length and rounding factor are a 
nybble.

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


From: IBM Mainframe Discussion List  on behalf of 
Peter Relson 
Sent: Wednesday, May 15, 2024 10:00 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Fault Analyzer output for executed instructions?

Mike Schwab wrote

Length is a nibble, x0 is one byte, one digit, one sign, xF is 16
bytes, 31 digits, 1 sign.

On Tue, May 14, 2024 at 6:48 PM Seymour J Metz 
mailto:sme...@gmu.edu>> wrote:
>
> I have a program that is getting an S0C7 on an EX instruction. The output 
> from Fault Analyzer contains the target instruction as is, with a zero length 
> field, and only displays one byte of the operand.


Could you explain further? It is certainly not true that “in general”, length 
is a nybble.
And I doubt it is true that it is true for every instruction that can get a PIC 
7 (Seymour’s post did not identify the instruction itself that was the target 
of the execute).

I believe that there was a way to have the processing take the instruction 
text, OR with the value from the low byte of register (which indicates whatever 
it indicates), and use that updated instruction text as the basis for a display.

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: Fault Analyzer output for executed instructions?

2024-05-15 Thread Seymour J Metz
I'm not sure what you're trying to say. Length is either a nybble or an 8-bit 
byte, depending on the instruction, but in any event EX executes a copy of the 
target with a logical or on bits 8-15 of the target: FA is reporting the 
in-storage contents of bits 8-15 and using that unmodified contents to 
determine how much of the target's operand to print.

In this case, R2 contains XL4'D0', the EX target contains X'F005' and 
the report contains 
 only one byte of the target. 

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


From: IBM Mainframe Discussion List  on behalf of 
Mike Schwab <05962a42dc49-dmarc-requ...@listserv.ua.edu>
Sent: Tuesday, May 14, 2024 9:44 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Fault Analyzer output for executed instructions?

Length is a nibble, x0 is one byte, one digit, one sign, xF is 16
bytes, 31 digits, 1 sign.

On Tue, May 14, 2024 at 6:48 PM Seymour J Metz  wrote:
>
> I have a program that is getting an S0C7 on an EX instruction. The output 
> from Fault Analyzer contains the target instruction as is, with a zero length 
> field, and only displays one byte of the operand. Is this a bug or a feature?
>
> Is there a way to force FA to display the entire field as defined in ADATA, 
> or to do the same logical or as the EX does?
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN



--
Mike A Schwab, Springfield IL USA
Where do Forest Rangers go to get away from it all?

--
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: Fault Analyzer output for executed instructions?

2024-05-15 Thread Seymour J Metz
Yes, the report includes field names extracted from IDIADATA. What it does not 
show is the logical or of bits 24-31 of the register with bits 8-15 of the 
executed SRP. The target of the SRP is defined as PL7, but the report only 
shows the first byte.

 EXR2,C2$SRP/* R2 CONTAINS D0   */
 ...
C2$SRP   SRP   WORK(0),62,5 /* 62 = SHIFT RIGHT 2 */

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


From: IBM Mainframe Discussion List  on behalf of 
Hank Oerlemans 
Sent: Tuesday, May 14, 2024 8:30 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Fault Analyzer output for executed instructions?

Have you defined IDIADATA to FA during analysis ?
Label "Data Field Declarations" appears for the execute event in the report 
which shows all of the defined field.

Well in my basic test case anyway.

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


Fault Analyzer output for executed instructions?

2024-05-14 Thread Seymour J Metz
I have a program that is getting an S0C7 on an EX instruction. The output from 
Fault Analyzer contains the target instruction as is, with a zero length field, 
and only displays one byte of the operand. Is this a bug or a feature?

Is there a way to force FA to display the entire field as defined in ADATA, or 
to do the same logical or as the EX does?

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

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


Re: DFSORT newline

2024-05-11 Thread Seymour J Metz
There is no NL character in ASCII. EBCDIC has an NL at '15'X. Unicode has NEL:  
 Next Line, U+0085. Also, any of these may imply a new line:

 LF:Line Feed, U+000A
 VT:Vertical Tab, U+000B
 FF:Form Feed, U+000C
 LS:Line Separator, U+2028
 PS:Paragraph Separator, U+2029

Various operating systems use CR, LF or a combination.

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Saturday, May 11, 2024 9:25 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: DFSORT newline

in <https://www.ibm.com/docs/en/zos/3.1.0?topic=statement-regular-expressions>,
I read:
.   The period symbol matches any one character except the terminal newline 
character.

So how may the programmer match a newline character?
I I read in an apparently related publication,
<https://www.ibm.com/docs/en/zos/3.1.0?topic=functions-regcomp-compile-regular-expression>,
$
The dollar symbol matches the end of the string. (Use \n to match a newline 
character.)

Does "\n" work alike for DFSORT?

What is the code point for the newline character?  It doesn't appear
in Appendix D, Table 109 where it should be because it's mentioned
elsewhere in the Guide.

(I'm guessing it's x'15', but the reader shouldn't need to guess.)

Thanks,
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: [EXTERNAL] Re: JOB card format

2024-05-09 Thread Seymour J Metz
In TUs?

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


From: IBM Mainframe Discussion List  on behalf of 
Pommier, Rex 
Sent: Thursday, May 9, 2024 1:48 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: [EXTERNAL] Re: JOB card format

Subject: [EXTERNAL] Re: JOB card format

On Thu, 9 May 2024 10:44:10 -0500, Steve Beaver  wrote:

>TIME=1440 turns off the timing  -- This depends on whether there is an
>exit controlling the use of 1440
>
I wonder why the designers didn't choose , the  largest possible 4-digit 
value, to mean "forever"?  (OTHH, I get cognitive dissonance with products that 
use
0 to mean "unlimited".)

--
gil

--

Gil et al,

So how did they come up with this one?  From the JCL reference manual:

minutes
Specifies the maximum number of minutes the step can use the processor. Minutes 
must be a number
from 0 through 357912 (248.55 days).

357912 minutes?  My brain isn't coming up with a logical explanation for that 
number.

Rex

--
The information contained in this message is confidential, protected from 
disclosure and may be legally privileged. If the reader of this message is not 
the intended recipient or an employee or agent responsible for delivering this 
message to the intended recipient, you are hereby notified that any disclosure, 
distribution, copying, or any action taken or action omitted in reliance on it, 
is strictly prohibited and may be unlawful. If you have received this 
communication in error, please notify us immediately by replying to this 
message and destroy the material in its entirety, whether in electronic or hard 
copy format. Thank you.


--
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: JOB card format

2024-05-09 Thread Seymour J Metz
 is to large if it's stored in timer units. If that isn't an anachronism, I 
don't know what is.

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Thursday, May 9, 2024 1:09 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JOB card format

On Thu, 9 May 2024 10:44:10 -0500, Steve Beaver  wrote:

>TIME=1440 turns off the timing  -- This depends on whether there is an exit 
>controlling the use of 1440
>
I wonder why the designers didn't choose , the  largest possible 4-digit 
value,
to mean "forever"?  (OTHH, I get cognitive dissonance with products that use
0 to mean "unlimited".)

--
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: JOB card format

2024-05-09 Thread Seymour J Metz
Bletch! Where is that documented?

I find the suspension of JWT by TIME=1440 to not only unintuitive but harmful. 
what if I need to limit the CPU time but allow long waits?

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


From: IBM Mainframe Discussion List  on behalf of 
Phil Smith III 
Sent: Thursday, May 9, 2024 1:12 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JOB card format

Except that TIME=1440 or TIME=NOLIMIT unintuitively overrides that /*JOBPARM 
value, right?

Not that I think IBM has the infodev resources to spend, but the amount of 
discussion this generated suggests to me that the doc is insufficient.

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Thursday, May 9, 2024 1:06 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JOB card format

לא דובים ולא יער

TIME= on the JOB and EXEC is, was and always will be CPU time. It's the TIME= 
on the /*JOBPARM that is wall clock time.

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


From: IBM Mainframe Discussion List  on behalf of 
Hayim Sokolsky <062497e865c9-dmarc-requ...@listserv.ua.edu>
Sent: Thursday, May 9, 2024 11:35 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JOB card format

In truth, TIME= is “wall time” and not CPU time. How many real-world minutes is 
your job allowed to run before it gets cancelled if it runs over.

As there are 1,440 minutes in a 24 hour day, TIME=1440 turns off the timing.


Hayim


Hayim Sokolsky (he/him/his)
Director, Software Engineering
Rocket Software, USA
E: hsokol...@rocketsoftware.com<mailto:hsokol...@rocketsoftware.com>
W:RocketSoftware.com<https://www.rocketsoftware.com/>

The views I have expressed in this email are my own personal views, and are not 
endorsed or supported by, and do not necessarily express or reflect, the views, 
positions or strategies of my employer.

From: IBM Mainframe Discussion List  On Behalf Of 
Phil Smith III
Sent: Wednesday, May 8, 2024 20:59
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JOB card format

EXTERNAL EMAIL


Thanks. I knew it would be something like that!

What I wanted to grok in fullness was the TIME= parameter. Page 394 of that PDF 
talks about it, but is vague about what the time value means. I always thought 
it was CPU time, and the doc says things like "number of minutes the step can 
use the processor", though that's an odd way to say "CPU time" IMHO. And then 
it talks about "continuous wait state", which tends not to use much CPU (!). 
Nowhere does it seem to define things in detail. Or maybe the wait state thing 
is just saying (clumsily) that when CPU time is unlimited (via TIME=1440 or 
TIME=NOLIMIT), the other, usually unrelated maximum wait time is also 
overridden to be unlimited?

What led me to this was an STC we have that's generating
$HASP308  ESTIMATED TIME EXCEEDED BY 345 MINUTES yet total CPU used is 
0.02. Some Googling found this APAR:
https://www.ibm.com/support/pages/apar/OA54766<https://www.ibm.com/support/pages/apar/OA54766>
which says "These values represent Wall-Clock time". That totally confuses me, 
and is perhaps just wrong.

This thread: 
https://bit.listserv.ibm-main.narkive.com/IAGR45k7/hasp308-message<https://bit.listserv.ibm-main.narkive.com/IAGR45k7/hasp308-message>
 talks about trying to limit based on wall-clock time and folks aren't saying 
"Sure, that's what TIME= means".

So...which is it? Seems like wall-clock (with or without the Random Capitals) 
makes little sense?!

-Original Message-
From: IBM Mainframe Discussion List 
mailto:IBM-MAIN@LISTSERV.UA.EDU>> On Behalf Of Mark 
Jacobs
Sent: Wednesday, May 8, 2024 7:45 PM
To: IBM-MAIN@LISTSERV.UA.EDU<mailto:IBM-MAIN@LISTSERV.UA.EDU>
Subject: Re: JOB card format

Google JCL reference manual. You'll find the documentation there. Or just use 
this link, 
https://www.ibm.com/docs/en/SSLTBW_3.1.0/pdf/ieab600_v3r1.pdf<https://www.ibm.com/docs/en/SSLTBW_3.1.0/pdf/ieab600_v3r1.pdf>

Mark Jacobs

Sent from ProtonMail, Swiss-based encrypted email.

GPG Public Key - 
https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com<https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com>


On Wednesday, May 8th, 2024 at 7:38 PM, Phil Smith III 
mailto:li...@akphs.com>> wrote:

> I just spent far longer Googling than I think I should have NOT finding 
> documentation on the format of a JOB card. Surely this exists.?
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to lists...@listserv.ua.edu<mailto:lists...@listserv.ua.edu>
> with the message: INFO IBM-MAIN


Re: JOB card format

2024-05-09 Thread Seymour J Metz
I don't know a Hebrew idiom for that. 

An approximate English equivalent for לא דובים ולא יער would be There ain't no 
such animal.

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Thursday, May 9, 2024 1:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JOB card format

On Thu, 9 May 2024 17:06:01 +, Seymour J Metz wrote:

>לא דובים ולא יער
>
"not my monkeys, not my circus"?

>TIME= on the JOB and EXEC is, was and always will be CPU time. It's the TIME= 
>on the /*JOBPARM that is wall clock time.

--
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: JOB card format

2024-05-09 Thread Seymour J Metz
לא דובים ולא יער

TIME= on the JOB and EXEC is, was and always will be CPU time. It's the TIME= 
on the /*JOBPARM that is wall clock time.

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


From: IBM Mainframe Discussion List  on behalf of 
Hayim Sokolsky <062497e865c9-dmarc-requ...@listserv.ua.edu>
Sent: Thursday, May 9, 2024 11:35 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JOB card format

In truth, TIME= is “wall time” and not CPU time. How many real-world minutes is 
your job allowed to run before it gets cancelled if it runs over.

As there are 1,440 minutes in a 24 hour day, TIME=1440 turns off the timing.


Hayim


Hayim Sokolsky (he/him/his)
Director, Software Engineering
Rocket Software, USA
E: hsokol...@rocketsoftware.com<mailto:hsokol...@rocketsoftware.com>
W:RocketSoftware.com<https://www.rocketsoftware.com/>

The views I have expressed in this email are my own personal views, and are not 
endorsed or supported by, and do not necessarily express or reflect, the views, 
positions or strategies of my employer.

From: IBM Mainframe Discussion List  On Behalf Of 
Phil Smith III
Sent: Wednesday, May 8, 2024 20:59
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JOB card format

EXTERNAL EMAIL


Thanks. I knew it would be something like that!

What I wanted to grok in fullness was the TIME= parameter. Page 394 of that PDF 
talks about it, but is vague about what the time value means. I always thought 
it was CPU time, and the doc says things like "number of minutes the step can 
use the processor", though that's an odd way to say "CPU time" IMHO. And then 
it talks about "continuous wait state", which tends not to use much CPU (!). 
Nowhere does it seem to define things in detail. Or maybe the wait state thing 
is just saying (clumsily) that when CPU time is unlimited (via TIME=1440 or 
TIME=NOLIMIT), the other, usually unrelated maximum wait time is also 
overridden to be unlimited?

What led me to this was an STC we have that's generating
$HASP308  ESTIMATED TIME EXCEEDED BY 345 MINUTES
yet total CPU used is 0.02. Some Googling found this APAR:
https://www.ibm.com/support/pages/apar/OA54766<https://www.ibm.com/support/pages/apar/OA54766>
which says "These values represent Wall-Clock time". That totally confuses me, 
and is perhaps just wrong.

This thread: 
https://bit.listserv.ibm-main.narkive.com/IAGR45k7/hasp308-message<https://bit.listserv.ibm-main.narkive.com/IAGR45k7/hasp308-message>
 talks about trying to limit based on wall-clock time and folks aren't saying 
"Sure, that's what TIME= means".

So...which is it? Seems like wall-clock (with or without the Random Capitals) 
makes little sense?!

-Original Message-
From: IBM Mainframe Discussion List 
mailto:IBM-MAIN@LISTSERV.UA.EDU>> On Behalf Of Mark 
Jacobs
Sent: Wednesday, May 8, 2024 7:45 PM
To: IBM-MAIN@LISTSERV.UA.EDU<mailto:IBM-MAIN@LISTSERV.UA.EDU>
Subject: Re: JOB card format

Google JCL reference manual. You'll find the documentation there. Or just use 
this link, 
https://www.ibm.com/docs/en/SSLTBW_3.1.0/pdf/ieab600_v3r1.pdf<https://www.ibm.com/docs/en/SSLTBW_3.1.0/pdf/ieab600_v3r1.pdf>

Mark Jacobs

Sent from ProtonMail, Swiss-based encrypted email.

GPG Public Key - 
https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com<https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com>


On Wednesday, May 8th, 2024 at 7:38 PM, Phil Smith III 
mailto:li...@akphs.com>> wrote:

> I just spent far longer Googling than I think I should have NOT finding 
> documentation on the format of a JOB card. Surely this exists.?
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to lists...@listserv.ua.edu<mailto: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<mailto: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<mailto:lists...@listserv.ua.edu> with 
the message: INFO IBM-MAIN


Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ 
Main Office Toll Free Number: +1 855.577.4323
Contact Customer Support: 
https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport
Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - 
http://www.rocketsoftware.com/manage-your-email-preferences
Privacy Policy - http://www.rocketsoftware.com/

Re: Restore members in a PDS - how/which tool?

2024-05-09 Thread Seymour J Metz
Alas, if he did a fast bulk erase then they're toast. That's also true for PDS.

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


From: IBM Mainframe Discussion List  on behalf of Tom 
Marchant <000a2a8c2020-dmarc-requ...@listserv.ua.edu>
Sent: Thursday, May 9, 2024 11:04 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Restore members in a PDS - how/which tool?

I believe PDSE member generations won't help if the member was deleted.

--
Tom Marchant

On Thu, 9 May 2024 11:58:59 +, Seymour J Metz  wrote:

>For PDS: PDS96
>
>For PDSE: define it with multiple versions
>
>--
>Shmuel (Seymour J.) Metz
>http://mason.gmu.edu/~smetz3
>עַם יִשְׂרָאֵל חַי
>נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
>
>From: IBM Mainframe Discussion List  on behalf of 
>  <0619bfe39560-dmarc-requ...@listserv.ua.edu>
>Sent: Wednesday, May 8, 2024 9:43 PM
>To: IBM-MAIN@LISTSERV.UA.EDU
>Subject: Restore members in a PDS - how/which tool?
>
>I have screwed up badly as I succeded to delete all members in my rexx ds.
>
>I know that there are tools/methods to restore them but those were among the 
>members I deleted...
>(That is by working with the pds as it is itself.)
>
>Any that info about how?

--
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: JOB card format

2024-05-09 Thread Seymour J Metz
The generic format is in JCL Reference, but your installation may have imposed 
restrictions on the accounting and programmer name fields. 

Is your shop using the accounting field for JES2? If so, that's also in the JCL 
reference.  Or has IBM dropped that option?

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


From: IBM Mainframe Discussion List  on behalf of 
Phil Smith III 
Sent: Wednesday, May 8, 2024 7:38 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: JOB card format

I just spent far longer Googling than I think I should have NOT finding 
documentation on the format of a JOB card. Surely this exists.?

--
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: JOB card format

2024-05-09 Thread Seymour J Metz
There are three distinct limits:

CPU time: controlled by JCL

Execution time limit: controlled by JECL.

Wait time limit: JCL only controls on/off.

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


From: IBM Mainframe Discussion List  on behalf of 
Phil Smith III 
Sent: Wednesday, May 8, 2024 8:58 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JOB card format

Thanks. I knew it would be something like that!

What I wanted to grok in fullness was the TIME= parameter. Page 394 of that PDF 
talks about it, but is vague about what the time value means. I always thought 
it was CPU time, and the doc says things like "number of minutes the step can 
use the processor", though that's an odd way to say "CPU time" IMHO. And then 
it talks about "continuous wait state", which tends not to use much CPU (!). 
Nowhere does it seem to define things in detail. Or maybe the wait state thing 
is just saying (clumsily) that when CPU time is unlimited (via TIME=1440 or 
TIME=NOLIMIT), the other, usually unrelated maximum wait time is also 
overridden to be unlimited?

What led me to this was an STC we have that's generating
$HASP308  ESTIMATED TIME EXCEEDED BY 345 MINUTES
yet total CPU used is 0.02. Some Googling found this APAR:
https://www.ibm.com/support/pages/apar/OA54766
which says "These values represent Wall-Clock time". That totally confuses me, 
and is perhaps just wrong.

This thread: https://bit.listserv.ibm-main.narkive.com/IAGR45k7/hasp308-message 
talks about trying to limit based on wall-clock time and folks aren't saying 
"Sure, that's what TIME= means".

So...which is it? Seems like wall-clock (with or without the Random Capitals) 
makes little sense?!

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Mark Jacobs
Sent: Wednesday, May 8, 2024 7:45 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: JOB card format

Google JCL reference manual. You'll find the documentation there. Or just use 
this link, https://www.ibm.com/docs/en/SSLTBW_3.1.0/pdf/ieab600_v3r1.pdf

Mark Jacobs

Sent from ProtonMail, Swiss-based encrypted email.

GPG Public Key - 
https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com


On Wednesday, May 8th, 2024 at 7:38 PM, Phil Smith III  wrote:

> I just spent far longer Googling than I think I should have NOT finding 
> documentation on the format of a JOB card. Surely this exists.?
>
> --
> 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: Restore members in a PDS - how/which tool?

2024-05-09 Thread Seymour J Metz
For PDS: PDS96

For PDSE: define it with multiple versions

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


From: IBM Mainframe Discussion List  on behalf of 
  <0619bfe39560-dmarc-requ...@listserv.ua.edu>
Sent: Wednesday, May 8, 2024 9:43 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Restore members in a PDS - how/which tool?

I have screwed up badly as I succeded to delete all members in my rexx ds.

I know that there are tools/methods to restore them but those were among the 
members I deleted...
(That is by working with the pds as it is itself.)

Any that info about how?

--
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: Restore members in a PDS - how/which tool?

2024-05-09 Thread Seymour J Metz
PDS is one of the tools that I really miss when I'm somewhere it's not allowed. 
Essential, IMHO.

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


From: IBM Mainframe Discussion List  on behalf of 
Mark Jacobs <0224d287a4b1-dmarc-requ...@listserv.ua.edu>
Sent: Wednesday, May 8, 2024 9:52 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Restore members in a PDS - how/which tool?

Look at this.

https://secure-web.cisco.com/1_JU6nbWFNm684Ub_ghS9mA8tvueJ4APoT_xMG9m2K3HXZ9cOSj__hrVtC_iDiLe8Of5ZmJYflx-5i64cyCkkkTLLXn8FeiMwM839slrBOGQ44cASeyXYVd5gbmFGGXrac3UAVDO0A-Y8dyENGz3e3B_5JF4lOoQR78SHEEzX1UryrX-_q_CNu4QvQRvirq311ix6UaX--TF-ikMtwWFB8-k3FSQvtUWWupn4fxodvI_ZSgE_9MOH3yslMvVoxxJATeq07S4Cb_WVYQfVn7Baa7yHm_OoX2CifuVKp_Q1HoKPUs-1rOl0AGK2RP0DU8zrNdx53uAgy6BFLzaKZP_jGWyWGDFHKWrYnXbdMC2O51f08me6-nI5jXN_HFX4NzXc3rvtTBWqW_FYap_t0g-KdI0GB126pIScaVLgFYme6Eg/https%3A%2F%2Fcbttape.org%2Ffreepds.htm

Mark Jacobs

Sent from ProtonMail, Swiss-based encrypted email.

GPG Public Key - 
https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com


On Wednesday, May 8th, 2024 at 9:43 PM, 
0619bfe39560-dmarc-requ...@listserv.ua.edu 
<0619bfe39560-dmarc-requ...@listserv.ua.edu> wrote:

> I have screwed up badly as I succeded to delete all members in my rexx ds.
>
> I know that there are tools/methods to restore them but those were among the 
> members I deleted...
> (That is by working with the pds as it is itself.)
>
> Any that info about how?
>
> --
> 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: IEFBR14 -- DSCB set? [WAS: Consultation on the Potential Risks of Deleting Specific Datasets]

2024-05-08 Thread Seymour J Metz
Then there is the version that had an eyecatcher.

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


From: IBM Mainframe Discussion List  on behalf of 
Lionel B. Dyck <057b0ee5a853-dmarc-requ...@listserv.ua.edu>
Sent: Wednesday, May 8, 2024 1:14 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: IEFBR14 -- DSCB set? [WAS: Consultation on the Potential Risks of 
Deleting Specific Datasets]

Actually IEFBR14 is

SR 15,15
BR 14

Lionel B. Dyck <><
Github: https://github.com/lbdyck
System Z Enthusiasts Discord: https://discord.gg/sze

“Worry more about your character than your reputation. Character is what you 
are, reputation merely what others think you are.”   - - - John Wooden

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Steve Beaver
Sent: Wednesday, May 8, 2024 12:06 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: IEFBR14 -- DSCB set? [WAS: Consultation on the Potential Risks of 
Deleting Specific Datasets]

BR14 is 2 instructions


LA   15,0
BR14


Sent from my iPhone

No one said I could type with one thumb

> On May 8, 2024, at 12:00, Seymour J Metz  wrote:
>
> Could you be thinking of the option to write an EOF when allocating a new PS?
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on
> behalf of Steve Thompson 
> Sent: Wednesday, May 8, 2024 12:54 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: IEFBR14 -- DSCB set? [WAS: Consultation on the Potential
> Risks of Deleting Specific Datasets]
>
> I remember some releases ago of z/OS that the system will effectively
> do an OPEN if a DSN is created using IEFBR14. But now I can't seem to
> find where that is documented. So far I can't find it in the z/OS 2.2
> or 3.1 JCL User's guide.
>
> I think that if the allocation specified the DCB info (LRECL, RECFM,
> and blksize) that this would be put into the VTOC when
> IEFBR14 was used to do the allocation.
>
> So in a case like this, would the last ref date be "empty"?
>
> Steve Thompson
>
> --
> 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

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


Re: IEFBR14 -- DSCB set? [WAS: Consultation on the Potential Risks of Deleting Specific Datasets]

2024-05-08 Thread Seymour J Metz
What release? There have been multiple code changes over the years.

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


From: IBM Mainframe Discussion List  on behalf of 
Steve Beaver <050e0c375a14-dmarc-requ...@listserv.ua.edu>
Sent: Wednesday, May 8, 2024 1:06 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: IEFBR14 -- DSCB set? [WAS: Consultation on the Potential Risks of 
Deleting Specific Datasets]

BR14 is 2 instructions


LA   15,0
BR14


Sent from my iPhone

No one said I could type with one thumb

> On May 8, 2024, at 12:00, Seymour J Metz  wrote:
>
> Could you be thinking of the option to write an EOF when allocating a new PS?
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf of 
> Steve Thompson 
> Sent: Wednesday, May 8, 2024 12:54 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: IEFBR14 -- DSCB set? [WAS: Consultation on the Potential Risks of 
> Deleting Specific Datasets]
>
> I remember some releases ago of z/OS that the system will
> effectively do an OPEN if a DSN is created using IEFBR14. But now
> I can't seem to find where that is documented. So far I can't
> find it in the z/OS 2.2 or 3.1 JCL User's guide.
>
> I think that if the allocation specified the DCB info (LRECL,
> RECFM, and blksize) that this would be put into the VTOC when
> IEFBR14 was used to do the allocation.
>
> So in a case like this, would the last ref date be "empty"?
>
> Steve Thompson
>
> --
> 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: IEFBR14 -- DSCB set? [WAS: Consultation on the Potential Risks of Deleting Specific Datasets]

2024-05-08 Thread Seymour J Metz
Could you be thinking of the option to write an EOF when allocating a new PS?

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


From: IBM Mainframe Discussion List  on behalf of 
Steve Thompson 
Sent: Wednesday, May 8, 2024 12:54 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: IEFBR14 -- DSCB set? [WAS: Consultation on the Potential Risks of 
Deleting Specific Datasets]

I remember some releases ago of z/OS that the system will
effectively do an OPEN if a DSN is created using IEFBR14. But now
I can't seem to find where that is documented. So far I can't
find it in the z/OS 2.2 or 3.1 JCL User's guide.

I think that if the allocation specified the DCB info (LRECL,
RECFM, and blksize) that this would be put into the VTOC when
IEFBR14 was used to do the allocation.

So in a case like this, would the last ref date be "empty"?

Steve Thompson

--
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: 0C4 pic 11 in stimer exit on retry

2024-05-03 Thread Seymour J Metz
That stems from a bad address. Are you in the correct address mode? Could you 
have done a premature FREEMAIN?

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


From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman <05812645a43c-dmarc-requ...@listserv.ua.edu>
Sent: Friday, May 3, 2024 12:55 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: 0C4 pic 11 in stimer exit on retry

Hi

I have recovery routine which got control on abend of stimer exit irb

On retry I am getting S0C4 PIC 11 reloading my registers from the system
primed r13 I check 13 on input before the abend and at the retry point and
it has the same value

When I abend in the stimer exit does the system do anything to my save area
R13

Thanks

--
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: Testdriving svc in key 9 (was: finding callers key in svc)

2024-05-03 Thread Seymour J Metz
If he's using the binder then requesting REFR will also set RENT, which will 
get him SP252, and hence key 0.

REFRPROT is an unrelated mechanism.

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


From: IBM Mainframe Discussion List  on behalf of 
Peter Relson 
Sent: Friday, May 3, 2024 7:59 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Testdriving svc in key 9 (was: finding callers key in svc)


I managed to show now that the code in the svc is correct, it indicated that 
the caller was in key 9.

Perhaps share, to help others not make the system mistake, what had led you to 
believe that the code was not doing what you wanted.


I've solved the testdriver issue now by marking that routine as REFReshable and 
put it in SYS1.LINKLIB.

This behavior, when marking the module as refreshable, applies only when the 
REFRPROT option of PROGxx is active.
That applies system-wide. As long as that is OK, and you have control of 
setting REFRPROT, have at it.

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: putting refreshable module in subpool 252

2024-05-03 Thread Seymour J Metz
There are two different protection methods here, of different vintages.

The older mechanism is using SP252, and hence key 0, for modules linked RENT 
and loaded from a privileged source. Back in OS/360 that basically meant 
linklist, but APF widened that.

The newer mechanism, REFRPROpartT, simply adds another option; it does not 
eliminate the older mechanism. What you are seeing is exactly what I would 
expect.

Unfortunately, way back when IBM chose to repurpose S0C4 to report a gaggle of 
program interrupts unrelated to IC4; in particular, you get the same ABEND for 
a key violation and for a page violation, albeit with a different reason code.

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


From: IBM Mainframe Discussion List  on behalf of 
Erik Janssen <062c999269e8-dmarc-requ...@listserv.ua.edu>
Sent: Friday, May 3, 2024 11:46 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: putting refreshable module in subpool 252

Hello Peter,

you said:

This behavior, when marking the module as refreshable, applies only when the 
REFRPROT option of PROGxx is active.
>That applies system-wide. As long as that is OK, and you have control of 
>setting REFRPROT, have at it.


I just noticed that my system does not have REFRPROT active, but my module does 
get loaded in subpool 252 (key 0, not fetch protected) if I put it in 
SYS1.LINKLIB.
Is there an explanation why this happens? Is that because I put it in an APF 
authorized library?
And from what I understand, enabling REFRPROT will put all refreshable modules 
in key 0, not fetch protected storage, regardless where they reside?

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


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


Re: IEABRC anomaly

2024-05-01 Thread Seymour J Metz
So I'm not the first to run into this :-(

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


From: IBM Mainframe Discussion List  on behalf of Sri 
Hari Kolusu 
Sent: Wednesday, May 1, 2024 10:44 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: IEABRC anomaly

>> It turns out that IEABRC does not convert NOP to JNOP. Is that a bug or a 
>> feature?

Shmuel,

Check this topic 
https://bit.listserv.ibm-main.narkive.com/H8UrGudQ/a-little-ieabrc-heads-up

Thanks,
Kolusu


--
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 callers key in svc

2024-05-01 Thread Seymour J Metz
No; the dispatcher gets the PSW from the top RB and the registers from the TCB. 
NB: where are the 12 new FP registers and the non-overlapping vector registers.

The PSW at the time of entry is in the caller's RB and the registers at the 
time of entry are in the new RB. Thus it ever was.

Out of curiosity, what are the fields for the GR top halves?

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


From: IBM Mainframe Discussion List  on behalf of 
Steve Austin 
Sent: Wednesday, May 1, 2024 4:03 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: finding callers key in svc

I believe the PSW will be in the PRB rather than the SVRB; the registers
will be in the SVRB.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Erik Janssen
Sent: Tuesday, April 30, 2024 6:14 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: finding callers key in svc

I must be doing something wrong, because if I do that it indicates key 0. I
was expecting key 9 somewhere...

On Tue, 30 Apr 2024 08:50:13 -0500, Wayne Driscoll
 wrote:

>If you are in a Type 2, 3 or 4 SVC, the PSW at the time of the SVC
>instruction is in the SVRB whose address is in R5 upon entry, that is
>the RBOPSW you would want to interrogate. Your code is looking at the
>PSW at the time the callers RB was created, mostly via a LINK or ATTACH
>SVC, since it was a problem program.
>Wayne Driscoll
>Note: all opinions are strictly my own.
>
>On Tue, Apr 30, 2024 at 4:02 AM Erik Janssen <
>062c999269e8-dmarc-requ...@listserv.ua.edu> wrote:
>
>> 
>> >
>> >As to the initial question, as pointed out, it depends on the type
>> >of the
>> SVC. The SVC owner knows what type it is (because they defined it)
>> and can look in the right place for that type of SVC, just as they
>> look in the right place for the caller's regs (for which the answer
>> is different than the psw/key, but similarly depends on the type of the
>> SVC.
>> >
>> 
>>
>> I had the idea that this code in the SVC would give me the key the
>> SVC caller was executing in:
>>
>> USING RBBASIC,R5  POINT TO REQUEST BLOCK
>> L R7,RBLINK   LOAD CALLER RB IN REG 7
>> DROP  R5  DROP SVC RB MAPPING
>> USING RBBASIC,R7  AND NOW MAP CALLER RB
>> L R1,RBOPSW   GET CALLER PSW AND PUT IN REG 1
>> N R1,=X'00F0' ONLY PSW KEY
>> SRL   R1,16   SHIFT TO 00K0
>> STR1,KEY  STORE CALLER KEY
>> DCH'0'FORCE ABEND
>>
>> However, when I call this SVC from an problem program the switches to
>> key
>> 9 before the call:
>>
>>  SPKA  X'90'(0)  SWITCH TO KEY 9
>>  SVC   255
>>
>> I see that R1 has a value of x'0080' (key 8) at the time of the
>> abend, where I was expecting x'0090'.
>> Is see that it is possible that there are more request blocks. I'm I
>> not looking at the right one, and if so, how do you know if you
>> reached the top RB, or is my approach really wrong?
>>
>> 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
>>
>
>
>--
>Wayne Driscoll
>Software Engineer | Mainframe Software Division Broadcom Software
>
>*Office: *630-300-1931* Mobile:* 630-247-1632
>wayne.drisc...@broadcom.com

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

--
This e-mail message has been scanned and cleared by Google Message Security
and the UNICOM Global security systems. This message is for the named
person's use only. If you receive this message in error, please delete it
and notify the sender.

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


IEABRC anomaly

2024-05-01 Thread Seymour J Metz
It turns out that IEABRC does not convert NOP to JNOP. Is that a bug or a 
feature?

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

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


Re: finding callers key in svc

2024-05-01 Thread Seymour J Metz
Even on a S/360 that code is inefficient, but still valid.

 USING RBBASIC,R5  POINT TO REQUEST BLOCK
 LR7,RBLINK  LOAD CALLER RB IN REG 7
 DROP  R5  DROP SVC RB MAPPING
 USING RBBASIC,R7  AND NOW MAP CALLER RB
 SR   R1,R1
 ICR1,RBOPSWB2Key and flags
 NR1,=XL4'F0' Isolate PSW KEY 
*STR1,KEY  STORE CALLER KEY
 DCH'0'FORCE ABEND

As a matter of style I would probably have written

 USING RBBASIC,R5  SVRB address set on entry
 LR7,RBLINK  CALLER's RB
CALLER   USING RBBASIC,R7 
 SR   R1,R1
 ICR1,CALLER.RBOPSWB2Key and flags
 NR1,=XL4'F0' Isolate PSW KEY 
*STR1,KEY  STORE CALLER KEY
 DCH'0'FORCE ABEND

I would take a closer look at the SPKA code.

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


From: IBM Mainframe Discussion List  on behalf of 
Peter Relson 
Sent: Wednesday, May 1, 2024 8:55 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: finding callers key in svc


 USING RBBASIC,R5  POINT TO REQUEST BLOCK
 LR7,RBLINK  LOAD CALLER RB IN REG 7
 DROP  R5  DROP SVC RB MAPPING
 USING RBBASIC,R7  AND NOW MAP CALLER RB
 LR1,RBOPSW  GET CALLER PSW AND PUT IN REG 1
 NR1,=X'00F0'ONLY PSW KEY
 SRL  R1,16  SHIFT TO 00K0
*STR1,KEY  STORE CALLER KEY
 DCH'0'FORCE ABEND


If your SVC is a type 2/3/4 SVC, the code works.
I can't speak to how you are debugging or what you are seeing in a dump because 
you have not shared any of that information.

You could even try this without needing your own SVC by having your code in a 
LINK target, at least to verify that you are seeing the PSW of the SVC issuer 
(SVC 6 in the simplest LINK case). You wouldn't have R5 set on input but can 
easily pick that up via (IHAPSA) PSATOLD -> (IKJTCB) TCBRBP.

It is in general poor form to use RBLINK rather than RBLINKB unless AMODE 24, 
but in your case you would know that the caller's RB is not waiting so the high 
byte will have a 0 wait count so can get away with using the 4-byte name.

These days, the L/N/SRL has many better alternatives, such as
LLC (of the 2nd byte of RBOPSW) / NILL (to clear the low 4 bits if for some 
reason you need to do so).

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 callers key in svc

2024-04-26 Thread Seymour J Metz
MODEST. An SVC that calls another SVC. ...

Multithreading would normally involve multiple TCBs.

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


From: IBM Mainframe Discussion List  on behalf of 
Erik Janssen <062c999269e8-dmarc-requ...@listserv.ua.edu>
Sent: Friday, April 26, 2024 6:02 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: finding callers key in svc

On Fri, 26 Apr 2024 21:36:36 +, Seymour J Metz  wrote:

>NO! Use RBOPSW; the caller might not be in the PSW key.
>
>--

Could you explain in what situation that happens? Is that when the task is 
multihreaded and another thread has changed the key in the psw in between the 
call to the svc and the time of looking at the psw?
Thank you all for the quick reponses by the 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: finding callers key in svc

2024-04-26 Thread Seymour J Metz
NO! Use RBOPSW; the caller might not be in the PSW key.

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


From: IBM Mainframe Discussion List  on behalf of 
Erik Janssen <062c999269e8-dmarc-requ...@listserv.ua.edu>
Sent: Friday, April 26, 2024 4:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: finding callers key in svc

It is a type 3 svc.
I also saw an example that uses the TCBPKF field to determine the key. So I 
guess that is also an option?

On Fri, 26 Apr 2024 20:20:26 +, Seymour J Metz  wrote:

>What type of SVC? The SVRB only exists for 3, 3 and 4.
>
>--

--
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 callers key in svc

2024-04-26 Thread Seymour J Metz
What type of SVC? The SVRB only exists for 3, 3 and 4.

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


From: IBM Mainframe Discussion List  on behalf of 
Erik Janssen <062c999269e8-dmarc-requ...@listserv.ua.edu>
Sent: Friday, April 26, 2024 3:20 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: finding callers key in svc

Hello List,

Is there way to determine the key that the caller of a SVC is executing in? For 
a PC routine doing an ESTA and some shifting seems to be the way to find the 
key, but I'm unsure how the same could be done from a user SVC.
Is it somewhere in the SVRB?
Also, I see this example in the authorized code scanner:
https://www.ibm.com/docs/en/zos/2.4.0?topic=fixes-fetch-vulnerability-example

vulnerable:
   LA R3,copyparms
   MVC 0(4,R3),0(R2)

fixed:
LHI R3,1
ESTA R0,R3
SRDL R0,48
LHI R0,3
LA R3,copyparms
MVCSK 0(R3),0(R2)

I noticed that the length loading in R0 for the MVCSK is 3, while in the 
vulnerable mvc example the length is 4.
The POP for MVCSK says:
L specifies the number of bytes to the right of the first
byte of each operand. Therefore, the length in bytes
of each operand is 1-256, corresponding to a length
code in L of 0-255.

Is there any logic behind why MVC uses the actual byte count and MVCSK uses the 
'number of bytes to the right'?

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

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


Re: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-24 Thread Seymour J Metz
While there is automatic upper casing for TSO command and subcommand names, 
there are still plenty of cases ;-) where case matters. Consider generating 
SYSIN for an IBM service aid or utility. Or generating edit subcommands with 
case-sensitive operands.

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


From: IBM Mainframe Discussion List  on behalf of Jon 
Perryman 
Sent: Monday, April 22, 2024 5:02 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

On Mon, 22 Apr 2024 14:01:23 +, Seymour J Metz  wrote:

>delete foo
>rather than
>'DELETE' foo
>is a simple example. In practise I often need multiple upper case constants in 
>a single expression.

This isn't a valid example because 'delete' will also work. As Andrew said, 
rarely will you find a real need for REXX to uppercase an undefined REXX 
variable name. All parsers handle uppercase as needed. In this case, you're 
ignoring the TSO parser. Consider "alloc dsn('my.dataset') 
path('/my/unix/file')" where everything is specified in lowercase. Lowercase 
TSO commands, command option names, DSN and more are not valid. In this 
example, everthing except '/my/unix/file' will be automatically uppercased 
instead of failing the command because of lowercase.

Truthfully, REXX uppercasing rarely provides real advantages for most z/OS 
environments and is a problem for z/OS Unix where lowercase is the norm.

--
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: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-24 Thread Seymour J Metz
De gustibus. To me the sparse form looks clearer.

Yes, if you refrain from assigning a value to delete then these are equivalent:

delete  foo
'DELETE' foo
'DELETE 'foo
'DELETE ' || foo

Note that abuttal with separating blanks yields a single blank; if you want 
multiple blanks then you must use, e.g., a literal.

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


From: IBM Mainframe Discussion List  on behalf of 
Andrew Rowley 
Sent: Monday, April 22, 2024 8:59 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

On 23/04/2024 12:01 am, Seymour J Metz wrote:
> delete foo
>
> rather than
>
> 'DELETE' foo
>
> is a simple example. In practise I often need multiple upper case constants 
> in a single expression.

In this example, delete *looks like* an instruction rather than a
variable - the fact that it is a variable is likely to surprise people.

It seems to be setting up for a problem like:

if  then
delete = 'yes'
...
if delete = yes then
 delete foo

If I understand your example correctly,
delete foo
concatenates the values of the variable delete (which is 'DELETE' if
hasn't been initialized) and foo, inserting an implied blank between
them, then passes the result to an environment set up previously with an
ADDRESS statement?

This is what I want to avoid using SIGNAL ON NOVALUE.

To me, it is much clearer to be explicit, including the concatenation, e.g.
"DELETE " || foo
seems much clearer about exactly what is happening/expected, which are
variables and which are (expected to be) constant etc.

--
Andrew Rowley
Black Hill Software

--
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: ooRexx forum?

2024-04-22 Thread Seymour J Metz
The rexxla-members list is a good place to start.

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


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Monday, April 22, 2024 3:15 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: ooRexx forum?

References-in-passing to ooRexx are fine here, I suppose, but if I want to get 
into details, where should I go to ask questions?  The ooRexx documentation 
mentions 
http://secure-web.cisco.com/13gB4Pa0zm3lFahp_Pjle6ZJHt7vjrL9K9-Rl40qYrQKy8AFSpa5EjzfY-E0tEQvWSHSWJVV4eOIm0p0VrO4QXy8k_VUhb6baGmjzTdKOf2D-q0P13b6rxss9Db_lfV9Vc-1_FHwR-_BSs1M4NXQglDzbc7ypyhFpvqQ5o4RqJ5nUJ-NX4FvCvbUlv1TITE0BGR4_SkCxUgbrM1nrzGUrPCU4-rW00v-89HwCeMJpyRwbT92vadj0W_4N2DfUWJQFag6A-47-aPvWDGqH7sC2HvA5_MdGmGQnUIjOzsIR_jwcwcsbi59XNH6Mi_W8dKfui4ugrPgNwWLa_x5Amvaznc_nwqEWk4e2yRcHlQ3LJb5uExeVr_g3P41Z3cEA9jDIji033sQmCivcZDQuhbV7B2NObWBkDCqAVAV5oiJRh2A/http%3A%2F%2Fwww.rexxla.org%2Fforum.html,
 but that nets me a 404 error.  And I looked at comp.lang.rexx (also 
recommended by the documentation), but it didn't seem to me any of the recent 
posts there were about REXX, much less ooRexx specifically.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* If you are not being criticized, you may not be doing much.  -Donald 
Rumsfeld */

--
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: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-22 Thread Seymour J Metz
I'm not the who encountered it. I'd love to see the trace i output.

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


From: IBM Mainframe Discussion List  on behalf of Jon 
Perryman 
Sent: Monday, April 22, 2024 1:45 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

On Mon, 22 Apr 2024 01:41:21 +, Seymour J Metz  wrote:

>I was referring to 'I once found CMS ISPF to reauire "address isredit 'isredit 
>'".
>Otherwise the command went to ISPEXEC.', which clearly is b0rk3n.

This seems very unlikely given that IBM does good QA and this would have caused 
a HYPER to fix it. This would have broken a lot of existing customer code. My 
gut tells me that ISREDIT was set causing it not to be "ISREDIT".

--
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: S0c4 creation

2024-04-22 Thread Seymour J Metz
SLIP behaves differently for a program check converted to an ABEND.

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


From: IBM Mainframe Discussion List  on behalf of 
Steve Thompson 
Sent: Monday, April 22, 2024 10:24 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: S0c4 creation

IN line with what was said, you can force it by issuing ABEND (or
related) and telling it what ABEND you want.

You can also EX an EX and get a S0C3. I've never seen that ABEND
by accident (e.g., wild branch into data). And no co-workers I've
had (all of us doing ALC based development) have ever seen that
one by accident.

Steve Thompson

On 4/21/2024 7:39 AM, Bernd Oppolzer wrote:
> I'd suggest to be very careful with such codings;
> a co-worker some years ago did this and - by accident - the
> code ran privileged,
> which caused the whole LPAR to hang.
>
> Same goes for ST at address zero, which was suggested by
> another poster.
>
> Maybe it would be better to write protect your own module and
> try to write
> into your own static CSECT. This would not put other jobs in
> your system in danger.
>
> Or: do your SLIP trap experiments with another sort of ABEND.
>
> Kind regards
>
> Bernd
>
>
> Am 21.04.2024 um 11:21 schrieb Rupert Reynolds:
>> If it's your STC, then include something dirty like
>>
>> BANG NC16(4,R0),16(R0)  AND CVT pointer with
>> itself--should fail
>>
>> although I should say that might raise eyebrows on a
>> production system ;-)
>>
>> Roops
>>
>> On Sun, 21 Apr 2024, 08:45 Peter, <
>> 05e4a8a0a03d-dmarc-requ...@listserv.ua.edu> wrote:
>>
>>> Hello
>>>
>>> Good morning
>>>
>>> Is there any sample Jobs or I can enforce a s0c4 abend in a
>>> Started task ?
>>>
>>> I am trying to teach SLIP trap to a rookie..Is there any
>>> other efficient
>>> way to do this?
>>>
>>> Peter
>>>
>>> --
>>>
>>> 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: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-22 Thread Seymour J Metz
delete foo

rather than

'DELETE' foo

is a simple example. In practise I often need multiple upper case constants in 
a single expression.

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


From: IBM Mainframe Discussion List  on behalf of 
Andrew Rowley 
Sent: Sunday, April 21, 2024 10:00 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

On 22/04/2024 10:09 am, Seymour J Metz wrote:
> It shortens expressions, upper cases automatically and, IMHO, is more 
> readable.

Was that a reply about the usefulness of the default value being the
variable name, uppercase? If so, I still don't see it.

Can you give an example of how you would use it?

--
Andrew Rowley
Black Hill Software

--
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: S0c4 creation

2024-04-22 Thread Seymour J Metz
IBM promised to never use opcode 00, and that's what I use when I want (E)SPIE 
in the skie.

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


From: IBM Mainframe Discussion List  on behalf of 
Darrold Usher <062909c800f7-dmarc-requ...@listserv.ua.edu>
Sent: Monday, April 22, 2024 8:26 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: S0c4 creation

How about create a S0C1?

On Mon, Apr 22, 2024 at 7:21 AM Peter Relson  wrote:

> Bernd O wrote
> 
> I'd suggest to be very careful with such codings;
> a co-worker some years ago did this and - by accident - the code ran
> privileged,
> which caused the whole LPAR to hang.
>
> Same goes for ST at address zero, which was suggested by another poster.
> 
>
> I challenge both of those.
>
> The first will never happen unless something changed to key 0 (being
> privileged is relevant only to the extent that you could then change to key
> 0). And that doesn't happen without intent.
>
> The second will never happen outside of the OS itself in the absence of an
> APARable z/OS error (related to what we refer to as low-core protect).
>
> 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


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


Re: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-21 Thread Seymour J Metz
I was referring to 'I once found CMS ISPF to reauire "address isredit 'isredit 
'".
Otherwise the command went to ISPEXEC.', which clearly is b0rk3n. My apologies 
for not making that clear.

As for "LEAVE = 'date'; LEAVE", it's perfectly valid but don't ever hand that 
in for a class I'm grading ;-)

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, April 21, 2024 8:48 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

On Sun, 21 Apr 2024 23:02:56 +, Seymour J Metz wrote:

>Unclean! Did you report it as a bug?
>
I suspect it's WAD (BAD!)
o LEAVE as the target of an assignment is a variable name.
o Otherwise, LEAVE as the first token of an instruction
  is a keywod (LEAVE NAME)
o Otherwise, LEAVE is a symbol which may be a variable name.

For performance, Rexx gives high priority to detecting assignments.

Alas, them's the rules.  What would you report as a bug?
>
>
>From: Paul Gilmartin
>Sent: Sunday, April 21, 2024 11:50 AM
>
>Astonishment factor with such as "LEAVE = 'date'; LEAVE".  No
>Rexx syntax error, but unexpected result.

--
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: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-21 Thread Seymour J Metz
It shortens expressions, upper cases automatically and, IMHO, is more readable.

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


From: IBM Mainframe Discussion List  on behalf of 
Andrew Rowley 
Sent: Sunday, April 21, 2024 7:03 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

On 22/04/2024 1:19 am, Seymour J Metz wrote:

>   2. There is a decades-long argument about NOVALUE. I am in the camp that
>  believes the default behavior to be too useful to give up; others believe
>  that it is dangerous.

Genuine curiosity: what is the use of the default behaviour? I have
never been able to see anything particularly useful.

--
Andrew Rowley
Black Hill Software

--
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: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-21 Thread Seymour J Metz
Unclean! Did you report it as a bug?

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, April 21, 2024 11:50 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

On Sun, 21 Apr 2024 15:19:40 +, Seymour J Metz  wrote:

>A few comments.
>
> 1. It's best to avoid names that a,e, or are similar to, keywords.
>
Astonishment factor with such as "LEAVE = 'date'; LEAVE".  No
Rexx syntax error, but unexpected result.

> 2. There is a decades-long argument about NOVALUE. I am in the camp that
>believes the default behavior to be too useful to give up; others believe
>that it is dangerous.
>
I'm inconsistent.  I routinely use SIGNAL ON NOVALUE.  It reports most of
my typos.  I very rarely use "set -o no''unset".  The difference may be due
sh marking variables with '$'.

> 3. T e default environment for statements that are expressions is often an
>application rater than the operating system, e.g., ISPEXEC, IISREDIT, 
> XEDIT.
>That behavior is incredibly useful.
>
Water is wet.  I once found CMS ISPF to reauire "address isredit 'isredit 
'".
Otherwise the command went to ISPEXEC.

--
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: REXX vs other languages

2024-04-21 Thread Seymour J Metz
I've seen code that does. I would never bless it in a code review.

To me the big advantage is that adding language features doesn't break existing 
code.

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


From: IBM Mainframe Discussion List  on behalf of 
Robin Vowels <054c2a8bb600-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, April 21, 2024 11:52 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages

On 2024-04-22 00:05, Seymour J Metz wrote:
> While PL/I has no reserved words, it is considered bad form to use a
> keyword as an entry or variable name. The same principle applies to
> Rexx; using, e.g., DO, ELSE, END, EXIT, IF, ITERATE, OTHERWISE,
> PROCEDURE, THEN, WHEN, as a variable name can make the code hard to
> read.

One would not use as variable such common keywords as mentioned above.

The real advantage is that one doesn't need to keep in mind
all those uncommonly-used words that might be used as variable names,

--
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: REXX vs other languages -- EXECIO intuitiveness

2024-04-21 Thread Seymour J Metz
Only in a EUnix environment. I don't know if syscalls is enough or if you 
actually have t be running under the shell.

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


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, April 21, 2024 2:54 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages -- EXECIO intuitiveness

Wait, what?  Are you saying TSO-REXX has LINEIN, CHAROUT and so on?

...Although I do think EXECIO is nicely flexible.  Still, I find myself looking 
up the syntax occasionally when doing something unusual.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* [Hitler] has grasped the falsity of the hedonistic attitude to life. Nearly 
all western thought since the last war, certainly all ‘progressive’ thought, 
has assumed tacitly that human beings desire nothing beyond ease, security and 
avoidance of pain. In such a view of life there is no room, for instance, for 
patriotism and the military virtuesHitler, because in his own joyless mind 
he feels it with exceptional strength, knows that human beings ~don’t~ want 
only comfort, safety, short working-hours, hygiene, birth-control and, in 
general, common sense; they also, at least intermittently, want struggle and 
self-sacrifice, not to mention drums, flags and loyalty-parades. However they 
may be as economic theories, Fascism and Nazism are psychologically far sounder 
than any hedonistic conception of life.  -George Orwell, reviewing _Mein Kampf_ 
in 1940. */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Sunday, April 21, 2024 10:40

Given that REXX in an OMVS environment supports ANSI stream I/O, why use EXECIO?

--- On Sat, 20 Apr 2024 23:58:18 -0400, Steve Thompson wrote:
>I concur about REXX EXECIO I/O is not exactly intuitive.

--
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: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-21 Thread Seymour J Metz
There are languages with a covention that method names end in ain a question 
mark iff they are Boolean.

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


From: IBM Mainframe Discussion List  on behalf of 
Robert Prins <05be6ef5bfea-dmarc-requ...@listserv.ua.edu>
Sent: Saturday, April 20, 2024 4:17 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

Try the two characters that are pretty much unique to REXX, "!" and "?"
especially for small local loops.

Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
<https://secure-web.cisco.com/1CjWWkCtcvllbYna0NsyMECv9i2KfIg00WW6Yy8zbPZbuqNVURWRkkaaDHPSxAZ_golJntB-q0HoHRO4xmjIcVfwgac8gvI2_6SvyVqMCVc8nBCtdx_vO5Q2Mb6qOHdTX83kueLEi2cvem-lpM8UaV0aAwBH0qnnPQiIkLMR7hQBTuXwhq3exW8ZbVHC0J7TTM99lPcVIHdaWP9pe4TrcXgvNwTNKYlBw0xERBl7b02W4mpZgIYGDK1U7nP3xwxQNr4_VOb62DMRnlwtO0arxMzQ7XmC0AUr_AdKYr9LOeWK-o1dHvssi8xa4dh2otNrGqpC7gYoPAmd4FYY9xmEKQFW9YA-PIT0WISlYisIhflCX8DxZSs0aSDaDZwahHyyHa2jShnC3TeZ843rDrfBSLR_W_28JfExRqzKVhvAuiO8/https%3A%2F%2Fprino.neocities.org%2Findex.html>
Some REXX code for use on z/OS
<https://secure-web.cisco.com/1I1tK-MrLJnt0WdLDboV4BPnAvrT6HOway_WfbqRc71O4DYwX2QLPhUWED3iBZa81UrJADr36HbN5u1g3jyqKmBv0piCOFmOc6V913K9OYEEK7V14Ajgt8KD2Jjp6Sg8cJeoCxWESkHKhhZPPwXA_SYdz6-rjucRjHv05hVgJcg41KJ4FbrnfmldqC9DiL0hLKy01Y7dnnLs2CfTHonsMyZna7cWIRmxTApIiNJWZHBWip2YcFhtM5igK5THcJdAebFyfX9CUhqaIF9YN3JkKHPWk2BlDfh8MRTi-MqTu1Q7QLx4yTLpBUNviYRakAswA5ODayfQgbq825wQLtOSw4-WO_rPdAKh5dYUGEnTEn4ihKiQTpDHCUQAc5k_xOEi-uMDQMqcUjPGceoDfu1yzCxtY0Orj__tLTGLTi0koDJE/https%3A%2F%2Fprino.neocities.org%2FzOS%2FzOS-Tools.html>

On Sat, 20 Apr 2024 at 15:08, Bob Bridges <
0587168ababf-dmarc-requ...@listserv.ua.edu> wrote:

> It was while I was coding in REXX that I tried abutting a variable named
> 'x' with another string, and couldn't figure out why the program behaved as
> it did.  Eventually figured out I had inadvertently created a hex
> constant.  Maybe as an overreaction, I have never since used one-character
> variable names, always two or more.  (What do I use for loop counters?, you
> ask.  I use 'j' plus another letter; 'jr' for records, for example, 'jd'
> for days whatever.  More obvious would have been 'i', but there are too
> many two-letter reserved words even in REXX that start with 'i'.)
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Andrew Rowley
> Sent: Friday, April 19, 2024 22:41
>
> It doesn't cause a problem except when it does. One danger is a typo in
> a variable name. When I wrote some complex Rexx I did use SIGNAL ON
> NOVALUE, but I wasn't totally appeased!
>
> --- On 20/04/2024 12:41 am, Rony G. Flatscher wrote:
> > Rexx defines the value of variables that have no explicit value
> > assigned to them to be the name of the variable in uppercase, so it
> > does not cause a problem. (It does cause problems for programmers who
> > got trained to always make sure that a value is assigned to variables.
> > This is the reason why ooRexx has an option to activate checking for
> > the use of uninitialized variables in Rexx programs to appease those
> > who are not accustomed to it or feel that it should not be allowed. ;) )
>

--
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: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-21 Thread Seymour J Metz
A few comments.

 1. It's best to avoid names that are, or are similar to, keywords.

 2. There is a decades-long argument about NOVALUE. I am in the camp that
believes the default behavior to be too useful to give up; others believe
that it is dangerous.

 3. The default environment for statements that are expressions is often an
application rater than the operating system, e.g., ISPEXEC, IISREDIT, XEDIT.
That behavior is incredibly useful.

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


From: IBM Mainframe Discussion List  on behalf of 
Rony G. Flatscher 
Sent: Saturday, April 20, 2024 1:50 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

On 20.04.2024 17:40, Paul Gilmartin wrote:
> On Sat, 20 Apr 2024 11:08:03 -0400, Bob Bridges wrote:
>> It was while I was coding in REXX that I tried abutting a variable named 'x' 
>> with another string, and couldn't figure out why the program behaved as it 
>> did.  Eventually figured out I had inadvertently created a hex constant.  
>> Maybe as an overreaction, I have never since used one-character variable 
>> names, always two or more.  (What do I use for loop counters?, you ask.  I 
>> use 'j' plus another letter; 'jr' for records, for example, 'jd' for days 
>> whatever.  More obvious would have been 'i', but there are too many 
>> two-letter reserved words even in REXX that start with 'i'.)

There are *no* reserved words in Rexx like in many other languages. (This 
alleviates one to have to
learn them by heart. But more importantly, should the language get additional 
keywords over time
they would not break existing Rexx programs that happen to use them already, 
unlike other
programming languages.)

> I like to use longer names with mnemonic value as control variables and,
> if the body of the loop is more than a couple lines, cite the control
> variable at the END so the interpreter verifies nesting.
>
> Rexx is chaotic in context sensitivity of reserved words and in symbols'
> being evaluated almost everywhere with exceptions for e.g. ADDRESS.

There are no reserved keywords therefore it is interesting that you see 
something chaotic there. But
maybe some of the fundamental Rexx rules are not really known or possibly 
forgotten over time.

The Rexx rules are quite simple:

  * everything outside of quotes gets uppercased,

  o the content of quoted strings can be anything and never gets changed 
(truly immutable),

  * blanks around operators get removed,

  * a blank between literals and symbols is the blank concatenation operator

  * a symbol that was not assigned a value evaluates to the symbol itself (its 
name which is the
uppercased string), otherwise it evaluates to its currently assigned value

The next step is to determine what kind of an instruction the resulting string 
represents in order
to carry it out:

  * if the second token is an equal sign then it is an assignment instruction 
that gets carried out:
the expression right of the equal sign (RHS) gets evaluated and assigned to 
the symbol (e.g.
ABC=3+4) to the left of the equal sign (LHS),

  * if it is not an assignment instruction and the first symbol is a keyword 
then it is a keyword
instruction that gets carried out,

  * if it is neither then the resulting string is a command instruction which 
gets handed over to
the operating system for execution, the command's return code can be 
inspected immediately upon
return by using the Rexx variable RC (set by Rexx to make the return code 
of the command
immediately available to the Rexx program).

The ADDRESS keyword instruction is just one of the keyword instructions of Rexx 
which will allow to
control to which Rexx command handler the command instruction gets sent to 
(among other things the
ADDRESS instruction allows to switch among different Rexx command handlers).

> Variable precision arithmetic is a boon.  But there is no convenient
> library of elementary functions, probably the reason for the lack of
> elementary functions in Rexx.

This depends what functionalities you are missing/seeking. There are quite a 
few Rexx function
libraries, many implemented in Assembler or C++.

If using ooRexx there is a free, open-source ooRexx-Java bridge available which 
will make
immediately *all* Java class libraries there are and all their functionality 
available to ooRexx,
really, all of them! The external function and class libraries in this case are 
not implemented in
C++ or Assembler, but in Java. And Java has become *fast*, one of the fastest 
languages there is.

If you look at Java and its standard runtime environment (JRE) you hardly miss 
any functionality
there, from GUIs, to XML processing to secure Internet p

Re: REXX vs other languages -- EXECIO intuitiveness

2024-04-21 Thread Seymour J Metz
Many platforms support ooRexx and Regina, whiinclude ANSI stream I/O. EXECIO is 
nice when portability is an issue, but otherwise I use stream.

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


From: IBM Mainframe Discussion List  on behalf of 
Steve Thompson 
Sent: Saturday, April 20, 2024 11:58 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages -- EXECIO intuitiveness

I concur about REXX EXECIO I/O is not exactly intuitive.

REXX, first implemented in CMS used the CMS I/O utilities
Over in TSO they created EXECIO which does not operate in the
same way as does the CMS EXECIO. And it causes me headaches when
I work on CMS for a year or two and then come back to TSO to have
it NOT be have as it did in CMS. Especially the STEM variable and
trying to write a record.

And so after working in TSO for a year or so to go back to CMS --
I need to learn and make use of PIPEs which is not supported over
on TSO Most shops do not see the need to pay for TSO Pipes.
Sigh.

And so, with Windows I/O is different (still talking REXX), same
problem with Linux. I/O is not handled the same for simple reads
and writes from my perspective.

Never-the-Less, I really appreciate REXX over EXEC, EXEC2 and CLIST.

Steve Thompson


On 4/19/2024 9:28 PM, Andrew Rowley wrote:
> On 20/04/2024 1:42 am, Jay Maynard wrote:
>> Agreed Java is simply far too complex a language and ecosystem
>> to hold in
>> the mind. Python is as ubiquitous and much easier to deal with.
>
> Really? What do you NEED to learn for Java that you don't need
> to learn for other languages? public static void main(String[]
> args)?
>
> Loops, if statements, data types, string processing are things
> you need to learn for all languages. I/O is useful (Rexx EXECIO
> isn't exactly intuitive).
>
>


--
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: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-21 Thread Seymour J Metz
I frequently use single letter control variables in short DO loops. But my 
primary criterion is legibility.

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


From: IBM Mainframe Discussion List  on behalf of 
Bruce Hewson <0499d3d5e892-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, April 21, 2024 12:58 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

Hello Bob,

I use "cnt" for my loop counters. I stopped using FORTRAN style single 
character variable names when I started coding in REXX.

Except I do use them on occasion for building large stem variable lists.

example:-

i=i+1;jcl.i="//BRUCESMP JOB (1234546),'Bruce SMP jobn',"
i=i+1;jcl.i="// CLASS=A,   "
i=i+1;jcl.i="// MSGCLASS=X,"
i=i+1;jcl.i="// MSGLEVEL=(1,1),"
i=i+1;jcl.i="// NOTIFY= "
i=i+1;jcl.i="//*   "

So many ways to use REXX.

Regards
Bruce


On Sat, 20 Apr 2024 11:08:03 -0400, Bob Bridges  wrote:

>It was while I was coding in REXX that I tried abutting a variable named 'x' 
>with another string, and couldn't figure out why the program behaved as it 
>did.  Eventually figured out I had inadvertently created a hex constant.  
>Maybe as an overreaction, I have never since used one-character variable 
>names, always two or more.  (What do I use for loop counters?, you ask.  I use 
>'j' plus another letter; 'jr' for records, for example, 'jd' for days 
>whatever.  More obvious would have been 'i', but there are too many two-letter 
>reserved words even in REXX that start with 'i'.)
>
>---
>Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
>

--
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: REXX vs other languages -- EXECIO intuitiveness

2024-04-21 Thread Seymour J Metz
Given that REXX in an OMVS environment supports ANSI stream I/O, why use EXECIO?

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, April 21, 2024 1:11 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages -- EXECIO intuitiveness

On Sat, 20 Apr 2024 23:58:18 -0400, Steve Thompson wrote:

>I concur about REXX EXECIO I/O is not exactly intuitive.
>
>REXX, first implemented in CMS used the CMS I/O utilities
>Over in TSO they created EXECIO which does not operate in the
>same way as does the CMS EXECIO. And it causes me headaches when
>I work on CMS for a year or two and then come back to TSO to have
>it NOT be have as it did in CMS. Especially the STEM variable and
>trying to write a record.
>
Note the fundamental difference in file specs:
CMS:  FN FT FM
Z/OS: DDNAME
... but I have written portable EXECs -- on z/OS
my  FileSpec variable is one word; on CMS three.

And, irritatingly, the syntax of ADDRESS MVS EXECIO
differs depending on whether the EXEC is started from
a UNIX or non-UNIX address space.

The lack of (VAR string is probably impelled by TSO
RECFM=F, which would have a trailing blank entanglement.

>And so after working in TSO for a year or so to go back to CMS --
>I need to learn and make use of PIPEs which is not supported over
>on TSO Most shops do not see the need to pay for TSO Pipes.
>Sigh.
>
Is TSO Pipes even marketed except, an obsolete version
bundled with BatchPipes?

>And so, with Windows I/O is different (still talking REXX), same
>problem with Linux. I/O is not handled the same for simple reads
>and writes from my perspective.
>
Files on desktop systems are largely character streams; on
mainframes, record oriented.  Beyond that, standard Rexx
stream I/O came late to CMS because developers economized
by using the available EXECIO.

>Never-the-Less, I really appreciate REXX over EXEC, EXEC2 and CLIST.
>
Which Rexx do you use on desktop systems?

BTW, is the Regina mailing list active?

--
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: S0c4 creation

2024-04-21 Thread Seymour J Metz
Do you need to distinguish among possible reasons?

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


From: IBM Mainframe Discussion List  on behalf of 
Peter <05e4a8a0a03d-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, April 21, 2024 3:45 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: S0c4 creation

Hello

Good morning

Is there any sample Jobs or I can enforce a s0c4 abend in a Started task ?

I am trying to teach SLIP trap to a rookie..Is there any other efficient
way to do this?

Peter

--
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: S0c4 creation

2024-04-21 Thread Seymour J Metz
There are addresses guarantied to never be valid. I would suggest using one of 
them rather than relinking a nonrefreshable program into an APF library as RENT.


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


From: IBM Mainframe Discussion List  on behalf of 
Mark Jacobs <0224d287a4b1-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, April 21, 2024 4:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: S0c4 creation

The easiest way that I know is to link a non re-entrant program as re-entrant 
into an APF authorized library and have the STC execute that program. Easy S0C4 
when it modifies itself.

Mark Jacobs

Sent from ProtonMail, Swiss-based encrypted email.

GPG Public Key - 
https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com


On Sunday, April 21st, 2024 at 3:45 AM, Peter 
<05e4a8a0a03d-dmarc-requ...@listserv.ua.edu> wrote:

> Hello
>
> Good morning
>
> Is there any sample Jobs or I can enforce a s0c4 abend in a Started task ?
>
> I am trying to teach SLIP trap to a rookie..Is there any other efficient
> way to do this?
>
> Peter
>
> --
> 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: REXX vs other languages

2024-04-21 Thread Seymour J Metz
While PL/I has no reserved words, it is considered bad form to use a keyword as 
an entry or variable name. The same principle applies to Rexx; using, e.g., DO, 
ELSE, END, EXIT, IF, ITERATE, OTHERWISE, PROCEDURE, THEN, WHEN, as a variable 
name can make the code hard to read.

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


From: IBM Mainframe Discussion List  on behalf of 
Robin Vowels <054c2a8bb600-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, April 21, 2024 5:08 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages

On 2024-04-21 04:22, Paul Gilmartin wrote:
> On Sat, 20 Apr 2024 19:50:56 +0200, Rony G. Flatscher wrote:
>>...
>> There are *no* reserved words in Rexx like in many other languages.
>> (This alleviates one to have to
>> learn them by heart. But more importantly, should the language get
>> additional keywords over time
>>
> I disagree.  Although it's context-sensitive.  But ITERATE and LEAVE
> are
> keywords within DO loops,

Are you confusing reserved words and keywords?
Keywords can be reserved words that cannot be used for other purposes,
as in COBOL.

In some languages, such as PL/I, keywords still have a meaning in the
language, but can be used for other purposes such as identifiers.
Such words are not reserved words.

> which may not be intuitively obvious.  Otherwise
> they would be commands.  RETURN is generally a keyword.  And THEN
> is a keyword in an IF.
>
>> they would not break existing Rexx programs that happen to use them
>> already,
> unlike other programming languages.)
>>
> Not true.  When I first learned Rexx, A='XYZ'B was legal.  Later, it
> became
> a syntax error.

--
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: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-19 Thread Seymour J Metz
Why don't you speak for yourself instead of inventing urban legends?

Both old timers and youngsters are individuals, with vast panoplies of 
different attitudes and opinions. It is presumptuous and rude to make such 
arrogant blanket characterizations.

There are plenty of old timers who like the bleeding edge, and plenty of 
youngsters("young fogies") who are resistant to change.

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


From: IBM Mainframe Discussion List  on behalf of 
David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
Sent: Friday, April 19, 2024 11:25 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

I’m not sure I would use Java as a REXX alternative now we have Python. REXX is 
very much legacy now. The old timers love it because it’s all they know but 
push come to shove Python is much easier to learn then Java with all the OO 
cruft.

> On 19 Apr 2024, at 7:50 AM, Andrew Rowley  
> wrote:
>
> On 18/04/2024 8:29 pm, Rony G. Flatscher wrote:
>> The mileage of people here vary including the Java people themselves who 
>> have started to reduce the need of explicit declarations like the new "var" 
>> (imitating JavaScript) instead of strict types or foregoing the static main 
>> method such that one can at least code the main method without the explicit 
>> declarations. The motivation about these changes is to make Java easier, 
>> reduce typing needs and the like.
>
> The Java var keyword is more like C# than Javascript. The variable still has 
> a strict type - you can only use var if the compiler can figure out the type 
> from other information e.g.
>
> var start = ZonedDateTime.now();
>
> start is a ZonedDateTime. You can't use it before it is defined, you can't 
> assign anything other than a ZoneDateTime to it, you can't create a new 
> variable called start in the same scope, whether or not it is a ZoneDateTime. 
> You can't e.g compare it to a LocalDateTime without specifying a timezone for 
> the LocalDateTime - that is one of those things that helps avoid errors.
>
> var just reduces redundant code, e.g. specifying the type twice in the same 
> statement.
>
>
>> Of course a static and statically typed languages with a compiler must 
>> define as much rules as possible, such that the compiler can check for them 
>> all. The more rules the more time consuming and the more difficult to learn 
>> a language.
>
> I think the syntax rules for Rexx are actually more complex than Java, 
> because it is less likely to flag an error if you do something that's not 
> actually what you want. E.g. string concatenation where variables are 
> expected to be strings but maybe not, might not be initialized, sometimes you 
> need vertical bars but not always etc. If you're used to the language you 
> write it without thinking and avoid the traps, but the rules are there 
> nonetheless.
>
> Java is relatively straightforward, and shares many rules with other 
> languages - C++, C# etc. I'm not saying Java is perfect - it has its own 
> traps (int vs Integer etc) but I find it a much easier language to work with.
>
> --
> Andrew Rowley
> Black Hill Software
>
> --
> 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: grep ascii files...

2024-04-19 Thread Seymour J Metz
It depends on the language and the context. I'm not conversant with Arabic, but 
Hebrew uses both, as does English.

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Thursday, April 18, 2024 12:03 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: grep ascii files...

On Thu, 18 Apr 2024 15:02:41 +, Farley, Peter wrote:

>Re: “When typing Hebrew or Arabic text on a 3270, does tne cursor move 
>right-to-left?”, I can testify that yes it does.  Quite remarkable when you 
>first see it, but then for numeric fields it moves left to right, just like 
>non-Arabic/Hebrew screens.  And while typing non-numeric characters, the 
>characters you already typed can change as you type other characters, 
>according to the language rules.
>
someone conversant with such languages has posted here that the
spoken convention is low-to-high order: "four and twenty blackbirds."

--
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: grep ascii files...

2024-04-18 Thread Seymour J Metz
I believe that bidi processing depends on the model.

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Thursday, April 18, 2024 10:43 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: grep ascii files...

On Thu, 18 Apr 2024 08:24:02 -0500, Lionel B. Dyck wrote:

>Gil - no need to insult.
>
Understood.  I felt I that I was lighthearted, in the spirit of Kirk's
suggestion, after I checked that he did append a smiley to his
arrant pedantry.

More seriously, suppose the pattern isn't EBCDIC?  I'm
imagining Hebrew in UTF-8.  How do regular expessions
play with R-to-L text?

When typing Hebrew or Arabic text on a 3270, does tne
cursor move right-to-left?


>-Original Message-
>From: Paul Gilmartin
>Sent: Thursday, April 18, 2024 8:22 AM
>
>On Thu, 18 Apr 2024 07:36:15 -0500, Kirk Wolf wrote:
>
>>Behold the power of Unix pipelines:
>>
>>$ iconv -f ISO8859-1 -t IBM-1047  myasciifile | grep  MATCH
>>
>>iconv is not "first converting" the the whole file to EBCDIC since both
>>iconv and grep run at the same time :-)
>>
>OK, smartass.  How about "grep -r".

--
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: REXX vs other languages WAS: Rexx numeric digits and scientific notation question

2024-04-15 Thread Seymour J Metz
There is no automatic environment integration. There is an API that makes it 
easy for the developer of an application to support Rexx scripts and there are 
environments whose developers have exploited that API. ooRexx is not inferior 
in that regard.

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


From: IBM Mainframe Discussion List  on behalf of Jon 
Perryman 
Sent: Monday, April 15, 2024 1:08 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: REXX vs other languages WAS: Rexx numeric digits and scientific 
notation question

>Java's not perfect, but it is powerful and it is pretty much universally
>available on z/OS.

People don't understand the ingenuity behind REXX and don't understand the real 
problems it solves. From a language standpoint, REXX is just another language 
but it's real strength is it's environment integration. Instead of the caller 
maintaining libraries, the environment automatically integrates with REXX. For 
instance, REXX in the TSO environment, gives you access to TSO commands 
(address TSO) and z/OS programs (address linkmvs). Start ISPF and address 
ISPEXEC is available. ISPF option 2 gives you address ISREDIT. SYSCALLS ON 
gives you address syscalls.

For product developers, REXX is simple to integrate environments as witnessed 
by the plethora of integrated environments on z/VM, z/OS and probably z/VSE 
(e.g. some addressable environments: automation, CICS, CMS, CP, TSO, UNIX, 
SYSCALLS and more)

OOREXX is not REXX because it does not have the automatic environment 
integration and as you say, using JAVA instead of OOREXX would be preferable. 
REXX on the other hand is preferable over JAVA in many IBM environments. For 
instance, why would you use JAVA as your system automation environment language?

The complication of using OOP REXX is rarely beneficial for most environments. 
Generally, you are not building complicated applications. For instance, system 
automation will be the most complex but managing events under objects would be 
complicated and unmanageable given the current automation environment 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: ./ ADD - which utility?

2024-04-13 Thread Seymour J Metz
The obvious answer is IEBUPDTE, but if you still have a copy of IEBUPDAT that 
would also work as long asyou generated the old syntax. Or install IEBUPDTX 
from CBTTAP.

Why not use XMIT?

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


From: IBM Mainframe Discussion List  on behalf of 
  <0619bfe39560-dmarc-requ...@listserv.ua.edu>
Sent: Saturday, April 13, 2024 10:30 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: ./ ADD - which utility?

Which utility do you use for control statement/input:
./ ADD

A jcl for that would be nice too.

...Embarassed by my lack of memory after 8 years out of this envirinment...

--
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: FORTRAN G/H sources

2024-04-03 Thread Seymour J Metz
Have you checked whether the Hercules or Turnkey web sites have the OS/360 
optional source tapes?

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


From: IBM Mainframe Discussion List  on behalf of 
Peter Sylvester <06091b4185f9-dmarc-requ...@listserv.ua.edu>
Sent: Wednesday, April 3, 2024 12:28 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: FORTRAN G/H sources

Hi,

is there someone who has kept fortran source from the MVT and MVS3 century, at 
least the IO modules
that have been used (and distributed) for SNOBOL4 by University of Arizona ?

TIA


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


VM OpenEdition announcement letters

2024-04-03 Thread Seymour J Metz
Does anybody have links for announcement letters on

 1. The change of VM OpenEdition from optional to standard

 2. The name change from OpenEdition to OpenExtensions

? Thanks

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

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


Re: Attributes of an assemler symbol

2024-04-01 Thread Seymour J Metz
Assembler issues are on-topic in IBM-MAIN. There are more eyes but less focus.

No, I would not expect an enhanced N' attribute to be sensitive to the value, 
only to the repetition count.

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Monday, April 1, 2024 10:35 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Attributes of an assemler symbol

On Mon, 1 Apr 2024 13:38:22 +, Seymour J Metz  wrote:

>The obvious answer, which, alas, isn't supported, would be the N' attribute. 
>RFE?
>
Idea?

This belongs on ASSEMBLER-LIST.

Does it matter that the values in a symbol can vary between repetitions?  E.g.:
TABLE  DC  256AL1(*-TABLE)

>
>From: I Binyamin Dissen
>Sent: Sunday, March 31, 2024 4:53 AM
>
>   FOO   DS   10CL5
>
>which attribute / macro function extracts the repetition count - 10
>
>I assuee that it must exist but I am not finding it.

--
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: Attributes of an assemler symbol

2024-04-01 Thread Seymour J Metz
As currently defined there isn't one, but it's an obvious extension. Of course, 
iBM could also use a different letter, and any RFE should indicate that both 
options are acceptable.

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


From: IBM Mainframe Discussion List  on behalf of 
Binyamin Dissen 
Sent: Monday, April 1, 2024 10:35 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Attributes of an assemler symbol

I don't see an obvious way to use it in macro code. N' already has a meaning,
the number of items in a list.

On Mon, 1 Apr 2024 13:38:22 + Seymour J Metz  wrote:

:>The obvious answer, which, alas, isn't supported, would be the N' attribute. 
RFE?
:>
:>--
:>Shmuel (Seymour J.) Metz
:>http://mason.gmu.edu/~smetz3
:>??? ?? ???
:>?? ???  ??
:>
:>
:>From: IBM Mainframe Discussion List  on behalf of 
Binyamin Dissen 
:>Sent: Sunday, March 31, 2024 4:53 AM
:>To: IBM-MAIN@LISTSERV.UA.EDU
:>Subject: Attributes of an assemler symbol
:>
:>Given
:>
:>   FOO   DS   10CL5
:>
:>which attribute / macro function extracts the repetition count - 10
:>
:>I assume that it must exist but I am not finding it.

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

Director, Dissen Software, Bar & Grill - Israel

--
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: Attributes of an assemler symbol

2024-04-01 Thread Seymour J Metz
The obvious answer, which, alas, isn't supported, would be the N' attribute. 
RFE?

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


From: IBM Mainframe Discussion List  on behalf of 
Binyamin Dissen 
Sent: Sunday, March 31, 2024 4:53 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Attributes of an assemler symbol

Given

   FOO   DS   10CL5

which attribute / macro function extracts the repetition count - 10

I assume that it must exist but I am not finding it.

--
Binyamin Dissen 
http://secure-web.cisco.com/1mKPP3xxM1p1epQ1pHIAibi6FfKm6y_UUXcaDOtb9OTp_fCQd_440Pyx3T1tYj5CWuN3jRC6SmEcT8kQ-AuQJcHT62D4jtp_MIQT4LDy3SQ3hiFTRlA6k3aFcSgrrJeHaK174GVsUnz8LYeSiL07Pl8DE0gqEz44IJ6tqjKYzKy8zei9JRwHyKlQccfd-_gNt-_5mbGSG8EHH7s0OgAax175PGxtv692ZPnWg16sufUqLOpYf1wHhu5W4zWUUI6tJrNvyolfWrU-9mKbub1Go1bWlRw46KMUwuoaMJQNy9sTdC_yHRuKpbfL33C6qvkygj-48D5Tp8mMWG6XcEtGd46oXe_FYCKrFb8nX0ZLV8R9XO__lwxbHfpvGakebDVOQ_tgibqk-WLmRph_X4IFn1gIsf3Kv6wuLLtorLkZYPt4/http%3A%2F%2Fwww.dissensoftware.com

Director, Dissen Software, Bar & Grill - Israel

--
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: How can I determine MVS FQDSN from DD Name in Batch COBOL Program?

2024-03-25 Thread Seymour J Metz
DEVTYPE might suit your needs.

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


From: IBM Mainframe Discussion List  on behalf of 
Cameron Conacher <03cfc59146bb-dmarc-requ...@listserv.ua.edu>
Sent: Monday, March 25, 2024 7:45 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: How can I determine MVS FQDSN from DD Name in Batch COBOL Program?

Hello,
In case anyone needs this….. it seems to work so far.
I did not really need the FQDSN. All I needed to know was whether or not SYSOUT 
was assign to SPOOL.

*
* Work area for the MVS Control Block variables.
*
 01  WS-CONTROL-BLOCK-VARIABLES.
 05  WS-CBV-JOB-NUMBER   PIC X(08).
 05  WS-CBV-JOB-NAME PIC X(08).
 05  WS-CBV-PROGRAM-NAME PIC X(08).
 05  WS-CBV-PROC-STEP-NAME   PIC X(08).
 05  WS-CBV-JOB-STEP-NAMEPIC X(08).
 05  WS-CBV-USER-ID  PIC X(08).
 05  WS-CBV-USER-NAMEPIC X(20).
 05  WS-CBV-PROGRAMMER-NAME  PIC X(20).
 05  WS-CBV-GROUP-NAME   PIC X(20).
 05  WS-CBV-FOUR-BYTES.
 10  WS-CBV-FULL-WORDPIC S9(08) COMP.
 10  WS-CBV-PTR-UNAM REDEFINES WS-CBV-FULL-WORD
 POINTER.
 05  WS-CBV-SUB  PIC S9(04) COMP.
 05  WS-CBV-TIOELINK PIC X(01).
 88  WS-CBV-DDNAME-FOR-DSN  VALUE X'00'.
 88  WS-CBV-DDNAME-FOR-SPOOLVALUE X'02'.


*
* USED WHEN PARSING MVS CONTROL BLOCK DATA.
*
  01  LS-CB-POINTER-AREA-1. *> PSA
  05  LS-CB-POINTER POINTER OCCURS 512 TIMES.
*
* USED WHEN PARSING MVS CONTROL BLOCK DATA.
*
  01  LS-CB-POINTER-AREA-2.
  05  LS-CB-POINTER2 POINTER OCCURS 512 TIMES.
*
*



*
* Get Job Name, Job Step Name and Proc Step Name from
* TIOT Control Blocks.
* See Volume #4 of the MVS Data Areas Page #855.
*
 SET ADDRESS OF LS-CB-POINTER-AREA-1
  TO LS-CB-POINTER (136) *> TCB
 SET ADDRESS OF LS-CB-POINTER-AREA-2
  TO LS-CB-POINTER (004) *> TIOT
 MOVE LS-CB-POINTER-AREA-2 (1:8)
  TO WS-CBV-JOB-NAME   *> JOBNAME

 MOVE LS-CB-POINTER-AREA-2 (9:8)
  TO WS-CBV-PROC-STEP-NAME

 MOVE LS-CB-POINTER-AREA-2 (17:8)
  TO WS-CBV-JOB-STEP-NAME


*
* Iterate over all the DDNAME entries looking for SYSOUT.
* We want to know if it is assigned to SPOOL or not.
*
* In Production DISPLAYs are ignored, so if we are in
* Production and SYSOUT is being sent to the SPOOL, we want
* to be able to disable Tracing.
* On the other hand if SYSOUT is being sent to a DataSet,
* we want to honor the JOB Tracing Parameter for Production.
*
 PERFORM
 VARYING WS-CBV-SUB
FROM +25  *> Start of DDNAME Table
  BY +20  *> Size of DDNAME Table Entry
   UNTIL WS-CBV-SUB > 1120
  OR LS-CB-POINTER-AREA-2 (WS-CBV-SUB + 4:08) =
   LOW-VALUES  *> End of Table
  IF LS-CB-POINTER-AREA-2 (WS-CBV-SUB + 4:08) =
   'SYSOUT  '
 MOVE LS-CB-POINTER-AREA-2 (WS-CBV-SUB + 3:01)
  TO WS-CBV-TIOELINK *> Spool?
 MOVE +1120   TO WS-CBV-SUB  *> Stop Loop
  END-IF
 END-PERFORM

*
* Get Program Name and Job Number from JSCB Control Blocks.
*
 SET ADDRESS OF LS-CB-POINTER-AREA-2
  TO LS-CB-POINTER (46) *> JSCB
 MOVE LS-CB-POINTER-AREA-2 (361:8)
  TO WS-CBV-PROGRAM-NAME

 SET ADDRESS OF LS-CB-POINTER-AREA-2
  TO LS-CB-POINTER2 (80) *> SSIB
 MOVE LS-CB-POINTER-AREA-2 (13:8)
  TO WS-CBV-JOB-NUMBER *> JOBNUM

*
* Get RACF ID from ASCB Control Blocks.
*
 SET ADDRESS OF LS-CB-POINTER-AREA-1
  TO NULL
 SET ADDRESS OF LS-CB-POINTER-AREA-1
  TO LS-CB-POINTER (138) *> ASCB

 SET ADDRESS OF LS-CB-POINTER-AREA-2
  TO LS-CB-POINTER (28)  *> ASXB
 MOVE LS-CB-POINTER-AREA-2 (193:8)
  TO WS-CBV-USER-ID*> RACF ID

*
* Get RACF Group from ACEE Control Blocks.
*
 SET ADDRESS OF LS-CB-POINTER-AREA-2
  TO LS-CB-POINTER2 (51) *> ACEE
 MOVE LS-CB-POINTER-AREA-2 (31:8)
  TO WS-CBV-GROUP-NAME *> GROUP

*
* Get Long Name from UNAM Control Blocks.
*
 SET ADDRESS OF LS-CB-POINTER-AREA-1
  TO LS-CB-POINTER2 (26) *> UNAM
 MOVE ZEROTO WS-CBV-FULL-WORD
 MOVE LS-CB-POINTER-AREA-1 (1:1)
   

Re: How can I determine MVS FQDSN from DD Name in Batch COBOL Program?

2024-03-25 Thread Seymour J Metz
You will always see a FQDSN for an allocated dataset; you will need to parse 
the name to determine whether it is a temporary or SPOOL dataset.

There are several supported was to obtain the DSN,

RDJFCB with a JFCB exit
RDJFCB with an ARL exit
DAIR
SVC 99
BPXWDYN

All but the last are assembler only.

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


From: IBM Mainframe Discussion List  on behalf of 
Cameron Conacher <03cfc59146bb-dmarc-requ...@listserv.ua.edu>
Sent: Monday, March 25, 2024 11:46 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: How can I determine MVS FQDSN from DD Name in Batch COBOL Program?

Hello.
Back again.
Previously I had inquired about retrieving RACF details from the MVS control 
Blocks at runtime.
Name I would like to retrieve the Fully Qualified Data set name for a specific 
DD (SYSOUT).

Why? Well I would like my COBOL program to allow COBOL Displays in Production 
ONLY when the User specified a FQDN.
If the JOB has SYSOUT DD *, then I will skip the COBOL displays to prevent 
filling the SPOOL.
But in emergency, support could override SYSOUT=* with SYSOUT=mydatasetName and 
my program will be able to determine we can honour the DISPLAYs.

Yeah, maybe this is a make work project?
Maybe the pain killers working over time?

Thanks


Cameron Conacher
Senior Engineer

American Express Canada Inc.
GCICS
2225 Sheppard Avenue East, Toronto, ON  M2J 5C2

cameron.conac...@aexp.com<mailto:cameron.conac...@aexp.com>
Office: 1-437-836-5265
Mobile: 1-416-409-5147

https://amex.webex.com/join/cameron.conacher

Note I will be OOO on PTO March 23 throough March 31 2024 inclusive.



American Express made the following annotations

This e-mail was sent to you by a representative of Amex Bank of Canada, P.O. 
Box 3204, Station "F", Toronto, ON, M1W 3W7, http://www.americanexpress.ca/. If 
you no longer wish to receive these e-mails, please notify the sender by reply 
e-mail.

This e-mail is solely for the intended recipient and may contain confidential 
or privileged information. If you are not the intended recipient, any 
disclosure, copying, use, or distribution of the information included in this 
e-mail is prohibited. If you have received this e-mail in error, please notify 
the sender by reply e-mail and immediately and permanently delete this e-mail 
and any attachments. Thank you.

American Express a fait les remarques suivantes
Ce courriel vous a ?t? envoy? par un repr?sentant de la Banque Amex du Canada, 
C.P. 3204, succursale F, Toronto (Ontario) M1W 3W7, 
http://www.americanexpress.ca/. Si, par la suite, vous ne souhaitez plus 
recevoir ces courriels, veuillez en aviser les exp?diteurs par courriel.

Ce courriel est r?serv? au seul destinataire indiqu? et peut renfermer des 
renseignements confidentiels et privil?gi?s. Si vous n'?tes pas le destinataire 
pr?vu, toute divulgation, duplication, utilisation ou distribution du courriel 
est interdite. Si vous avez re?u ce courriel par erreur, veuillez en aviser 
l'exp?diteur par courriel et d?truire imm?diatement le courriel et toute pi?ce 
jointe. Merci.

--
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: // SET with multiple substitutions?

2024-03-22 Thread Seymour J Metz
It turns out that I had the correct syntax but I had an error in a previous 
SET. Thanks.

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


From: IBM Mainframe Discussion List  on behalf of Sri 
Hari Kolusu 
Sent: Friday, March 22, 2024 2:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: // SET with multiple substitutions?

>> I'd like to do something like // SET FOO= and have the values of 
>> both symbols inserted rather than just one. Is there a way to do that?


Seymour,

If you have BAR and BAZ symbols defined before the FOO , it will substitute.

// SET BAR=PARM1
// SET BAZ=PARM2
// SET FOO=

Will result in

2 // SET BAR=PARM1
 3 // SET BAZ=PARM2
 4 // SET FOO=
   /*
   IEFC653I SUBSTITUTION JCL - FOO=PARM1PARM2


Thanks,
Kolusu



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


// SET with multiple substitutions?

2024-03-22 Thread Seymour J Metz
I'd like to do something like // SET FOO= and have the values of both 
symbols inserted rather than just one. Is there a way to do that?

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

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


Re: security and privacy for the 21st century

2024-03-22 Thread Seymour J Metz
It's cost shifting; they do it on the cheap at your expense. Were the 
inconvenience on their end, they would fix it.


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


From: IBM Mainframe Discussion List  on behalf of 
Rick Troth <058ff5c2d0a7-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 22, 2024 11:05 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: security and privacy for the 21st century

Techies will understand.
And maybe it's coddling the non-techies that drives service companies to
provide dumbed-down remedies.
They're still obligated to comply with new and wonderful regulations.
They (the good ones) genuinely try and they (the lazy ones) at least
want to *look* like they're protecting us.

So I got another of these "you have received a secure message" messages,
the kind which come through one channel (objectively *not* secure)
telling me to go to another channel (secured, at some level, but
invariably hard to use).
If the first channel is insecure, how do they know that I'm even getting
the message to go read the message?

I want this crap to go away!
And it's not like it can't go away.
It's just that simple solutions seem to have baggage. "It's too easy, so
it can't possibly be really effective." Why don't we teach the kids
basic LOGIC in school??

The rant is here:

https://github.com/trothr/blog/blob/master/sir.santa/2024/20240223-you-have-received.md

And some will disagree.
That's okay, because you're allowed to be wrong.
But we can talk about it. (The alternatives are debatable.)
I expect the biggest disagreement to come from PKI aficionados. PKI is
great, but it doesn't work well for person-to-person. Long story.


-- R; <><





--
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: Rexx numeric digits and scientific notation question

2024-03-19 Thread Seymour J Metz
That is an issue for any language. If it is going into production then the 
installation needs to manage updates. That typically means that new release of 
external packages go through similar CM and QA management as the inhouse code 
does. You don't use the most recent release; you use the one that your shop has 
vetted.

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


From: IBM Mainframe Discussion List  on behalf of 
Pew, Curtis G 
Sent: Tuesday, March 19, 2024 2:24 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

On Mar 18, 2024, at 6:01 PM, Farley, Peter 
<031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:

The really tricky part of letting programmers use Python is how do they get the 
necessary non-standard libraries for themselves?  I suspect most large shops 
will, in the name of “security”, prevent open access to the PyPi library 
repository, and no doubt highly control it in a bureaucratic snarl, with the 
actual breadth of available packages highly restricted to only those libraries 
that are “approved for use” in a locally maintained private repository.  Sad to 
say, I can see the bureaucratic delays to get access to a library piling up 
already.

We’ve licensed a package manager (Artifactory in our case, but I imagine there 
are others) and have configured pip so that it looks there instead of PyPI. 
This is mostly so we can manage local packages that we’ve developed just for 
use at the University, and it’s actually set up to proxy PyPI for packages it 
doesn’t have already, but I believe it could be used to only allow curated 
packages, which might help with the bureaucrats.


--
Curtis Pew
ITS Campus Solutions
curtis@austin.utexas.edu




--
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: GNU COBOL

2024-03-19 Thread Seymour J Metz
As long as you obtain permission first, it's legitimate.

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


From: IBM Mainframe Discussion List  on behalf of 
Rick Troth <058ff5c2d0a7-dmarc-requ...@listserv.ua.edu>
Sent: Tuesday, March 19, 2024 9:16 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: GNU COBOL

Forgive me.
I really don't mean to be whining about this.
Up to now, the only USS that I've had access to has been that of an
employer, so to use such for building things that I share publicly would
be kinda stealing from them.

Chicory needs really just one thing, and then I could pull-in the
"parent" makefiles and let-er-rip.
It needs a 'chmod 1777' directory named /usr/opt. My usual habit is to
let that physically be /var/opt (and then /usr/opt is a sym-link to it).

For USS, any given FLOSS package might also need the patches which Igor
and the gang on the "z/OS Open Tools" GitHub project have provided.
That will take time, but should eventually fall to automation. They've
got almost 200 packages, including RSYNC (THANK YOU!!), but I have not
found Gnu COBOL. Maybe Gnu COBOL "just works".

-- R; <><



On 3/19/24 08:38, Rick Troth wrote:
> I'd be happy to run Gnu COBOL through it's paces on USS (as well as
> any other FLOSS packages in the Chicory collection).
> I just need a USS environment from which artifacts can be shared
> publicly. (That is, not an employer's USS nor some other similarly
> restricted USS.)
>
> Got shell access where I can throw my SSH keys? Lemme know! Thanks.
>
> -- R; <><
>
>
>
> On 3/18/24 16:59, W Mainframe wrote:
>> Hi,A port to USS OMVS sounds perfect... :)
>> Dan
>>
>>
>> Sent from Yahoo Mail for iPhone
>>
>>
>> On Monday, March 18, 2024, 5:57 PM, Rick Troth
>> <058ff5c2d0a7-dmarc-requ...@listserv.ua.edu> wrote:
>>
>> I try to maintain working copies of Gnu COBOL in the Chicory collection.
>> Presently we have Gnu COBOL 3.2 for FreeBSD (64 bit), AMD/Intel Linux
>> (64-bit and 32-bit), and Z or S390 Linux (64-bit and 31-bit).
>>
>> rsync://chic.casita.net/opt/gnucobol-3.2/
>>
>> -- R; <><
>>
>>
>> On 3/16/24 15:36, Mark Jacobs wrote:
>>> GnuCOBOL "has reached an industrial maturity and can compete with
>>> proprietary offers in all environments," boasted contributor Fabrice
>>> Le Fessant, in a FOSDEM talk.
>>>
>>> https://thenewstack.io/20-years-in-the-making-gnucobol-is-ready-for-industry/
>>>
>>>
>>> Sent from [ProtonMail](https://protonmail.com/), Swiss-based
>>> encrypted email.
>>>
>>> GPG Public Key
>>> -https://api.protonmail.ch/pks/lookup?op=get=markjac...@protonmail.com
>>>
>>> --
>>> For IBM-MAIN subscribe / signoff / archive access instructions,
>>> send email tolists...@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

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


Re: Rexx numeric digits and scientific notation question

2024-03-18 Thread Seymour J Metz
One of the things that makes a language useful is a large library. You can 
start using, e.g., Ada, C++, Java, LaTeX, ooRexx, Perl, Python, with only a 
handful of packages, and look for others as the need arises.

BTDT,GTTS

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


From: IBM Mainframe Discussion List  on behalf of 
Farley, Peter <031df298a9da-dmarc-requ...@listserv.ua.edu>
Sent: Monday, March 18, 2024 7:01 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

IMHO the learning curve for Java and all the libraries you have to know and 
understand to make it at all useful far outweighs its presumptive establishment 
 in the z/OS ecosystem.

Again IMHO Python is intended to be a scripting language and as such it shares 
much design philosophy with Rexx and awk and other scripting languages that are 
primarily interpreted rather than compiled like Java.  Mind you I am not in 
love with the “significant indentation” syntax (far too easy to make a 
structural mistake), but it takes a much smaller learning curve to deal with 
that then learning and remembering all of the lengthy Java library names you 
need to know to do anything useful (in reverse hierarchical order no less, most 
significant qualifier at the end of every “name”? really?  Whose bright idea 
was that?).

Personally I welcome having Python available by default on z/OS (which isn’t 
here yet for most shops, but hopefully will be soon), along with all the other 
open source programs and utilities being actively ported to z/OS.  The really 
tricky part of letting programmers use Python is how do they get the necessary 
non-standard libraries for themselves?  I suspect most large shops will, in the 
name of “security”, prevent open access to the PyPi library repository, and no 
doubt highly control it in a bureaucratic snarl, with the actual breadth of 
available packages highly restricted to only those libraries that are “approved 
for use” in a locally maintained private repository.  Sad to say, I can see the 
bureaucratic delays to get access to a library piling up already.

As has been said many times before:  “You can’t win, you can’t break even, and 
you can’t get out of the game.  That’s Life.”

Peter

From: IBM Mainframe Discussion List  On Behalf Of 
Andrew Rowley
Sent: Monday, March 18, 2024 6:18 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question


On 16/03/2024 11:17 am, David Crayford wrote:

> IBM and ISVs are working on Python APIs for products right now. And they will 
> be better than the REXX versions.



Why Python? I know it's the latest hot language, but what advantages

does it have over e.g. Java (well established on z/OS)?



I have looked into it a few times, but get as far as "significant

indentation" and "no variable declarations" and decide it's not

something I want to use. Is it a sign of weakness to ask the compiler to

help me avoid bugs?



--



This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


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

2024-03-18 Thread Seymour J Metz
Keep in mind that ESPOL had a statement for every B6700 opcode, althogh I 
suspect that they were used very sparsely in MCP.

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


From: IBM Mainframe Discussion List  on behalf of 
Laurence Chiu <05c4ba336ee7-dmarc-requ...@listserv.ua.edu>
Sent: Monday, March 18, 2024 3:47 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Algol

I cut my teeth on Algol also at university - on a Burroughs B6700 mainframe
running MCP.  Burroughs at the time were unique in that there was no
assembler language. Everything was written in a HLL, MCP was written in
ESPOL, the compiler for which was written in DCAlgol. That was just Algol
with additional functions for comms handling.  Algol was certainly my
favourite language at the time and it was cool that Burroughs even provided
source code for the compiler which was a great learning opportunity for CS
majors.

On Sun, Mar 17, 2024 at 2:33 AM Bob Bridges <
0587168ababf-dmarc-requ...@listserv.ua.edu> wrote:

> I did a lot of coding in Algol during my time at a local University in the
> late '70s.  My impression at the time was that it had a serious paucity of
> built-in functions, but that it enabled me to write my own and make them
> easily available to my programs.  So I stuffed a library full of I/O and
> string-handling functions and got along just fine, it seemed to me.
>
> Haven't encountered it since; I don’t know what advances may have been
> made in that arena.
>
> ---
> Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
>
> /* That sort of wit which employs itself insolently in criticizing and
> censuring the words and sentiments of others in conversation is absolute
> folly; for it answers none of the ends of conversation.  He who uses it
> neither improves others, is improved himself, nor pleases anyone.  -Poor
> Richard’s Almanack, 1756 */
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Rupert Reynolds
> Sent: Saturday, March 16, 2024 09:07
>
> developing a language which is effectively the best bits (IMHO) of
> Rexx, C and even older languages such as Algol 68 (much underrated in my
> book) and hints of PL/1
>
> --
> 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: Rexx numeric digits and scientific notation question

2024-03-18 Thread Seymour J Metz
Ruby is available on *ix and W; if you're going by use then you probably want 
Java and Python.

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


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Monday, March 18, 2024 9:38 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

Perl...what environment(s) is it available in?  My usual coding platforms are 
z/OS (specifically TSO) and Windows, mostly MS Office.

I don't actually know PowerShell; I've been exposed to it, see that it's very 
powerful for some purposes, and have modified PS scripts in minor ways.  In 
other words my facility with PS is very much like younger mainframers' with 
JCL.  But since I'm supposed to be a security jock, and sometimes have reason 
to extract data from AD to compare with RACF/TSS/ACF2, I see that really 
learning PS would be a good thing.

As I've probably said here before, I lusted after ooRexx from the first day I 
heard about it, but at first couldn't see where I'd actually use it; I can't 
hand ooRexx code to clients, unless they already use it (and no one does).  I 
finally broke down and got myself a copy for a small 
plain-text-to-formatted-PDF conversion I did for an error manual; I tried 
converting the plain text to formatted RTF using VBA, but gave it up as a bad 
job and did it in ooRexx, after taking a few days off to learn what I don't 
know.  (There's a lot more to it than I expected.)  Now I use it for automation 
on my own machine, but that’s all.

Ruby -- no, never have.  Again, what environment(s) is it available on?

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* When I have a little money, I buy books; and if I have any left, I buy food 
and clothes.  -Erasmus */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Sunday, March 17, 2024 15:14

CLIST will never go away, but I avoid it as much as possible. There is a very 
limited set of use cases for it, IMHO, and REXX has been my goto scripting 
language for decades, with a grudging nod to Perl when CPAN can make my life 
easier.

PowerShell suggests that you're not limited to Z, inwhich case it's worth 
looking at ooRexx.

Have you looked at Ruby?


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 7:58 PM

I can tell you how it happened to me, at any rate.  I was a long-time CLISTer, 
and then one day, back in the mid '80s it might have been, I ran across a 
warning from IBM that someday soon CLIST might go away and REXX would be the 
only supported language for system automation (or something like that).  I took 
them seriously - I didn't know at the time that they used to issue that warning 
periodically - and sat down with a manual to start learning REXX.  I quickly 
realized that it's ~much~ superior to CLIST, and have been an enthusiast ever 
since.

But that needn't stop me from tacking on other languages; I'm not tired of that 
yet, and I still have ambitions of adding more.  Python is better, you say?  
But can I use it in the TSO environment?  If it's only for Unix, I may pass for 
now.  I still work for multiple clients and it seems to me I could usefully 
focus on languages that the clients are likely to use themselves.  That means 
TSO REXX, VBA and VBS, SQL, assembler, probably PowerShell, maybe PL/1...  What 
else?  Seriously I'm open to the next one I should tackle.  I keep hearing 
about Python, Lua, Ruby, C++ and others, but in what environment(s) would I use 
them?

--
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: Learning one's tools

2024-03-17 Thread Seymour J Metz
We don't seem to have the same definition of clever. To me, code that has me 
asking "Why didn't I think of that?" is clever; code that has me asking for 
hours "How does this work?", not so much. Sometimes the difference is good 
choice of label and helpful comments.

Expect the code to be modified by someone with significantly less knowledge of 
the problem domain, even if they are an expert in the language.

Bad standards are stifling and inefficient; that doesn't mean that all 
standards are bad. Good standards save time in the long run.

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


From: IBM Mainframe Discussion List  on behalf of 
Jared Hunter 
Sent: Sunday, March 17, 2024 4:20 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Learning one's tools

Dave Beagle wrote:
> Code reviews are dumb and not needed by good programmers

Counterpoint: Code reviews are -most- essential when the authors are experts.

Why is that?  Because experts are most able to churn out code that functions 
correctly for today’s requirements, but that some less-expert future maintainer 
will have a difficult time modifying to suit a new requirement without 
introducing a bug.

“Standards” may feel stifling and inefficient to someone who wants to output 
“working” code as quickly as possible, and especially one with a deep desire to 
display their cleverness. [Dear reader, does that sound like anyone you know?]

In general, code written for the set of list-relevant platforms should be 
reviewed with the expectation that it will be maintained for decades longer 
than the original author is employed, and eventually by a generalist with 
significantly less overall depth of compiler-specific or arcane platform 
knowledge.  It’s an extremely hard balance to strike, to be sure, but it’s 
never too early or too late to start trying.

Jared Hunter
Rocket Software


Rocket Software, Inc. and subsidiaries ¦ 77 Fourth Avenue, Waltham MA 02451 ¦ 
Main Office Toll Free Number: +1 855.577.4323
Contact Customer Support: 
https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport
Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - 
http://www.rocketsoftware.com/manage-your-email-preferences
Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy


This communication and any attachments may contain confidential information of 
Rocket Software, Inc. All unauthorized use, disclosure or distribution is 
prohibited. If you are not the intended recipient, please notify Rocket 
Software immediately and destroy all copies of this communication. Thank you.

--
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: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
CLIST will never go away, but I avoid it as much as possible. There is a very 
limited set of use cases for it, IMHO, and REXX has been my goto scripting 
language for decades, with a grudging nod to Perl when CPAN can make my life 
easier.

PowerShell suggests that you're not limited to Z, inwhich case it's worth 
looking at ooRexx.

Have you looked at Ruby?

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


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 7:58 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

I can tell you how it happened to me, at any rate.  I was a long-time CLISTer, 
and then one day, back in the mid '80s it might have been, I ran across a 
warning from IBM that someday soon CLIST might go away and REXX would be the 
only supported language for system automation (or something like that).  I took 
them seriously - I didn't know at the time that they used to issue that warning 
periodically - and sat down with a manual to start learning REXX.  I quickly 
realized that it's ~much~ superior to CLIST, and have been an enthusiast ever 
since.

But that needn't stop me from tacking on other languages; I'm not tired of that 
yet, and I still have ambitions of adding more.  Python is better, you say?  
But can I use it in the TSO environment?  If it's only for Unix, I may pass for 
now.  I still work for multiple clients and it seems to me I could usefully 
focus on languages that the clients are likely to use themselves.  That means 
TSO REXX, VBA and VBS, SQL, assembler, probably PowerShell, maybe PL/1...  What 
else?  Seriously I'm open to the next one I should tackle.  I keep hearing 
about Python, Lua, Ruby, C++ and others, but in what environment(s) would I use 
them?

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Sometimes you feel like a nut.  After a day of working on a walnut farm, you 
don't.  -Mike Rowe of the TV show "Dirty Jobs" */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
David Crayford
Sent: Friday, March 15, 2024 18:41

REXX can indeed be quite tricky to navigate. I recently conducted a session 
titled "Python for REXX programmers" at work, and during the preparation, I was 
surprised (although not entirely) by the numerous traps and pitfalls inherent 
in REXX. When you add to this its absence of basic functionalities like sorting 
lists, it begs the question: Why opt for REXX when we have a plethora of 
alternatives available today?

The obvious answer may be familiarity, but in our industry, this argument seems 
rather weak unless you're confined to a limited environment. After all, I 
wouldn't want to revert to using a 1990s-era flip-top phone, let alone a rotary 
dial from the 1970s.

--
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: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
I probably would use ":=" for assignment and "=" for equality.

Are you supporting SMF-like structures?

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


From: IBM Mainframe Discussion List  on behalf of 
Rupert Reynolds 
Sent: Sunday, March 17, 2024 2:08 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation 
question

It's too soon to publish much, especially when I have a full time job doing
something else. To be honest I probably never will, because it only suits
my pet bigotries :-)

But briefly, I looked at day 1 notes (on back of a gas bill). They included
these, not all of which will ever make it into use of course:

. fairly terse {} syntax, borrowing from 'C' etc.

. strongly typed by default

. one type is bignum--arbitrary precision and base arithmetic, trig, logs

. correctness and flexibility more important than speed (like external
functions in Rexx scripts, for example)

. project to include thorough test cases, and any bugs/unintended quirks in
either impl or tests will be fixed ruthlessly, not supported. If it fails
the test, it is not the real thing.

. compiled code could include interpreter for scripting

. preserves case, but keywords and functions etc. not case sensitive

. all keywords can be abbreviated (eg. if min abbreviation is 3, 'fun' is
same as 'function')

. '=' not required for assignment!

. ability to convert 'C' style strings and call 'C' code

. all built-in functions for handling null-terminated data and UTF-16 to be
prefixed gk_ (short for "ghastly kludge" ;-) )

Feel free to laugh/crjticise, but please be kind--I was drinking during
lockdown when I finished that list :-)

I made some progress on the bignum logarithms and trig early, borrowing
heavily on the external Rexx functions I used under Windows.

It does basics such as finding and moving files interpreted, so I can use
it to test my Rexx admin scripts, and vice versa, but there are *huge*
gaps, and I'm moving house this year, so... :-)

Roops


On Sun, 17 Mar 2024, 16:58 Seymour J Metz,  wrote:

> >  I'm developing a language
>
> Have you published any details?
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf
> of Rupert Reynolds 
> Sent: Saturday, March 16, 2024 9:07 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation
> question
>
> My experience of modern scripting languages, compared with classic Rexx, is
> that they all do something new more easily, but also I can't think of one
> that doesn't have an obvious pitfall (such as, for example, stumbling badly
> over certain byte values such as NUL in strings).
>
> Classic Rexx under TSO and Regina Rexx under Windows and Linux, despite
> certain old-fashioned quirks, are still sometimes what I reach for when I
> want to process some data while avoiding those pitfalls.
>
> The differences are so strong to me that I'm developing a language which is
> effectively the best bits (IMHO) of Rexx, C and even older languages such
> as Algol 68 (much underrated in my book) and hints of PL/1. I don't make
> that much effort without reason :-)
>
> By definition it works the same interpreted or compiled, which brings a
> couple of restrictions I'm willing to live with :-)
>
> Roops
> p.s. I'm not convinced that that familiarity is a reason to criticise
> choosing a language. Using something you know well is often a way of giving
> bettet value and reliability for ones employers.
>
>
>
>
>
> On Sat, 16 Mar 2024, 11:49 David Crayford, <
> 0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:
>
> > Hey Rony,
> >
> > From what I understand, you haven't had experience working on z/OS. Let's
> > stick to the topic and focus on discussing REXX as it functions on z/OS.
> > This means no discussions about ooRexx or Java bridges, as they don't
> exist
> > and are unlikely to in the future on z/OS.
> >
> > The majority of REXX programmers here utilize classic TSO REXX and
> > primarily work within a TSO/ISPF environment. In this setup, REXX lacks a
> > module system. Therefore, any routines or libraries need to be manually
> > copied and pasted wherever they're needed, or you have to create a
> > pre-processor to merge source files together. If your language lacks the
> > fundamental basic features to sort an array then to me that’s a good
> > indication you should use one that does.
> >
&

Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
> every function call carries a potential side effect.

Function calls in most languages carry potential side effects. In that respect 
REXX is superior because PROCEDURE drops access to everything except what you 
expose.

> When I hear about adapting to quirks, it seems to translate to "I acknowledge 
> REXX's flaws,
>  but I stick with it because it's what I'm familiar with, even if I have to 
> tolerate it.”

Not even close: it translates to "as with any other language, you have to carve 
the bird at the joints."

> brought attention to the shortcomings and limitations of REXX as a 
> programming language.

IMHO, if you can't recognize the shortcomings and limitations of foo then you 
don't understand foo.

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


From: IBM Mainframe Discussion List  on behalf of 
David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 7:35 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

Working with REXX doesn't feel comfortable to me at all. I'm troubled by the 
fact that every function call carries a potential side effect. While we can 
resort to procedures, we then encounter the challenge of dealing with 
telescoping exposure lists. When I hear about adapting to quirks, it seems to 
translate to "I acknowledge REXX's flaws, but I stick with it because it's what 
I'm familiar with, even if I have to tolerate it.” The recent discussions on 
this forum have brought attention to the shortcomings and limitations of REXX 
as a programming language.

In comparison to other platforms, Z/OS used to offer limited options in terms 
of programming languages. However, that's no longer the case. What struck me as 
ironic during my recent presentation was that the majority of the audience were 
millennials who were unfamiliar with REXX. This might come as a surprise to 
seasoned veterans of mainframes who are used to REXX, but in today's landscape, 
familiarity with it isn't necessary.

> On 16 Mar 2024, at 7:19 am, Seymour J Metz  wrote:
>
> Every language has pitfalls. While I generally prefer strongly typed 
> languages, I find Rexx and ooRexx to be comfortable to work with, and it is 
> not difficult to adapt to its quirks:
>
> <http://www.rexxla.org/Newsletter/9812safe.html>
> <http://www.rexxla.org/Newsletter/9901safe.html>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf of 
> David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
> Sent: Friday, March 15, 2024 6:40 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Rexx numeric digits and scientific notation question
>
> REXX can indeed be quite tricky to navigate. I recently conducted a session 
> titled "Python for REXX programmers" at work, and during the preparation, I 
> was surprised (although not entirely) by the numerous traps and pitfalls 
> inherent in REXX. When you add to this its absence of basic functionalities 
> like sorting lists, it begs the question: Why opt for REXX when we have a 
> plethora of alternatives available today?
>
> The obvious answer may be familiarity, but in our industry, this argument 
> seems rather weak unless you're confined to a limited environment. After all, 
> I wouldn't want to revert to using a 1990s-era flip-top phone, let alone a 
> rotary dial from the 1970s.
>
>> On 16 Mar 2024, at 2:47 am, Charles Mills  wrote:
>>
>> Well, that explains a mystery. I did not realize that SIGNAL ON was pushed 
>> and popped on subroutine calls. I have had this vague problem where my 
>> SIGNAL ON NOVALUE did not seem to work but at the time of an error it is 
>> always easier to fix the NOVALUE condition than troubleshoot the SIGNAL ON.
>>
>> Thanks!
>> Charles
>>
>> On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker  
>> wrote:
>>
>>> On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills  wrote:
>>>> And the answer is ... "The three numeric settings are automatically saved 
>>>> across internal and external subroutine and function calls."
>>>> I was setting numeric digits in an initialization subroutine, so Rexx 
>>>> helpfully unset it on return from initialization. I thought I had done it 
>>>> that way before but I guess I have not.
>>>
>>> Funny, I work with a lot of code that has a common subroutine for 
>>> retrieving a TRACE setting to set in the main routine, and I never eve

Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
CALL ON is intend for exception handlers that return; that code should never 
have survived review.

It's SIGNAL ON that unwinds the stack.

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 7:47 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

On Fri, 15 Mar 2024 23:24:38 +, Seymour J Metz wrote:

>CALL ON or SIGNAL ON?
>
???
CALL ON to a procedure coded in front of the main loop and drop
through without RETURN?  That would make things worse.

He would have wanted ITERATE ON.

>
>From:  Paul Gilmartin
>Sent: Friday, March 15, 2024 5:38 PM
>On Fri, 15 Mar 2024 19:36:12 +, Seymour J Metz wrote:
>
>>"unwinds" in a very disruptive and partial fashion.  I once debugged a naive 
>>co-workers
>program which handled an exception in a subroutine by SIGNAL to top of main 
>loop.
>Worked fine in a modest test data set.  Overflowed CALL/RETURN stack on a 
>larger
>data set.

--
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: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
For OMVS and z/Linux, ooRexx is the gold standard and comparisons to classic 
Rexx are irrelevant.

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


From: IBM Mainframe Discussion List  on behalf of 
David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 8:17 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

> On 16 Mar 2024, at 7:45 am, Jay Maynard 
> <05997213d6c2-dmarc-requ...@listserv.ua.edu> wrote:
>
> That depends. Can you use, say, Python to implement all the scripting kinds
> of things you can use REXX for?

Like what, TSO? I don’t find I need to do that any more as I work in a UNIX 
shell. Let me flip that around. Can I use REXX to implement the kind of 
scripting that I do in Python? For example, process a YAML configuration file. 
We need to do that stuff on z/OS now. CICS resource definitions can be defined 
as YAML documents, configuration as code and all that stuff. DevOps, Git repos. 
REXX is a pretty poor language for anything modern.

IBM and ISVs are working on Python APIs for products right now. And they will 
be better than the REXX versions.

>
> On Fri, Mar 15, 2024 at 6:36 PM David Crayford <
> 0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:
>
>> Working with REXX doesn't feel comfortable to me at all. I'm troubled by
>> the fact that every function call carries a potential side effect. While we
>> can resort to procedures, we then encounter the challenge of dealing with
>> telescoping exposure lists. When I hear about adapting to quirks, it seems
>> to translate to "I acknowledge REXX's flaws, but I stick with it because
>> it's what I'm familiar with, even if I have to tolerate it.” The recent
>> discussions on this forum have brought attention to the shortcomings and
>> limitations of REXX as a programming language.
>>
>> In comparison to other platforms, Z/OS used to offer limited options in
>> terms of programming languages. However, that's no longer the case. What
>> struck me as ironic during my recent presentation was that the majority of
>> the audience were millennials who were unfamiliar with REXX. This might
>> come as a surprise to seasoned veterans of mainframes who are used to REXX,
>> but in today's landscape, familiarity with it isn't necessary.
>>
>>> On 16 Mar 2024, at 7:19 am, Seymour J Metz  wrote:
>>>
>>> Every language has pitfalls. While I generally prefer strongly typed
>> languages, I find Rexx and ooRexx to be comfortable to work with, and it is
>> not difficult to adapt to its quirks:
>>>
>>> <http://secure-web.cisco.com/1AatOlNoQ_1AfQlinDttzfh317YDeo-4sTIzlpTQgzz972u1_a0Uc6Zjajez1X0fOgNwevYuxc3iXlnJrVcDP32Tuud8_YL99u1ssdNKutkPojNTTkGX_RUaqKJE989FehJd2D0x03lNc7Uv894CKNjAr9OrwJBwMhkh1-UjSLcA-LFnZRaQT05KZm3AFiNLGXoxpseHTdEYJUUuNLoGsu_zUd26CMLdcjitDnXq4HDv_F2aeY2jvQ4ZaZ6cyYikm1syDEzCTNddqJ6eo2fobR-7yA3ZxZy0mU1e9V_Pn1HzbxZUqJpIkiVWTiNCcGP06aS1zCODlm79HQX-r4Jx1vGhHZ2OwD5GhOciwrJQwoPtdlnhzEsKpdQh13cy2mO-jeu0DcUIbvA6gBdoPBjAdtPhmeKhh3I_vb77MATAh4Wg/http%3A%2F%2Fwww.rexxla.org%2FNewsletter%2F9812safe.html>
>>> <http://secure-web.cisco.com/1bQGzBCAzgINWEPx1EI4ITocCLWfjE3LWLYMvDqkSE01h_Gu3KHIh0Ij1onPd_24i0uwINVK7YZ6hAqCLr2RBz8nH4uQaIbzFpMUBt_lpSFys7jDAvamt_NffhO1U55zrap4UPSv15I87TcL8MhCliSyVWWcxnNd-26yPXYxSm8bredfUj1zcO0x8Uc5g6Fivf1uLVgURxNX0gICHg366LufM4etYVXfx4poXzsmQMDiZvZlDTrwQsMYp7k5_dMvgEmKKnuOJgDbByHXTgTo1KB7IAq_YrtRGjt85E0OyFMGuxYb7FtGaiKqGyHf6CARWxYV-7W5-M4GK6xMMoY1uCSyABaV5lne6hldEbt8mHFjI0_vNr1lJD0VCOUwhWzulOBrJTh0nSrgtaPqAtOlVjuG4RdKj1DHGtLBNfncxRpg/http%3A%2F%2Fwww.rexxla.org%2FNewsletter%2F9901safe.html>
>>>
>>> --
>>> Shmuel (Seymour J.) Metz
>>> http://mason.gmu.edu/~smetz3
>>> עַם יִשְׂרָאֵל חַי
>>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>>>
>>> 
>>> From: IBM Mainframe Discussion List  on
>> behalf of David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
>>> Sent: Friday, March 15, 2024 6:40 PM
>>> To: IBM-MAIN@LISTSERV.UA.EDU
>>> Subject: Re: Rexx numeric digits and scientific notation question
>>>
>>> REXX can indeed be quite tricky to navigate. I recently conducted a
>> session titled "Python for REXX programmers" at work, and during the
>> preparation, I was surprised (although not entirely) by the numerous traps
>> and pitfalls inherent in REXX. When you add to this its absence of basic
>> functionalities like sorting lists, it begs the question: Why opt for REXX
>> when we have a plethora of alter

Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
Every language has warts, including PL/I and REXX, but I believe that they are 
the best choices for writing ISPF dialogs, especially if you are allowed to use 
PCRE.

I don't supposed that a fully supported IBM port of Ruby to z/OS will ever 
happen, but it would catch my eye if it did. Likewise replacing the current 
backlevel REXX with ooRexx.

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


From: IBM Mainframe Discussion List  on behalf of 
David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
Sent: Saturday, March 16, 2024 7:49 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation 
question

Hey Rony,

From what I understand, you haven't had experience working on z/OS. Let's stick 
to the topic and focus on discussing REXX as it functions on z/OS. This means 
no discussions about ooRexx or Java bridges, as they don't exist and are 
unlikely to in the future on z/OS.

The majority of REXX programmers here utilize classic TSO REXX and primarily 
work within a TSO/ISPF environment. In this setup, REXX lacks a module system. 
Therefore, any routines or libraries need to be manually copied and pasted 
wherever they're needed, or you have to create a pre-processor to merge source 
files together. If your language lacks the fundamental basic features to sort 
an array then to me that’s a good indication you should use one that does.

I'm not spreading fear, uncertainty, and doubt (FUD). I'm simply stating my 
observations based on over 30 years of using REXX on z/OS, including developing 
extensions. I believe this gives me a significant level of expertise to offer 
commentary on the matter.


> On 16 Mar 2024, at 6:03 pm, Rony G. Flatscher  wrote:
>
> On 16.03.2024 01:17, David Crayford wrote:
>>> On 16 Mar 2024, at 7:45 am, Jay 
>>> Maynard<05997213d6c2-dmarc-requ...@listserv.ua.edu>  wrote:
>>>
>>> That depends. Can you use, say, Python to implement all the scripting kinds
>>> of things you can use REXX for?
>> Like what, TSO? I don’t find I need to do that any more as I work in a UNIX 
>> shell. Let me flip that around. Can I use REXX to implement the kind of 
>> scripting that I do in Python? For example, process a YAML configuration 
>> file.
> Yes, if you wanted, it is fairly easy BTW and would not be as potentially 
> dangerous if done in REXX than done with Perl or Python (cf. 
> <https://en.wikipedia.org/wiki/YAML#Security>).
>> We need to do that stuff on z/OS now. CICS resource definitions can be 
>> defined as YAML documents, configuration as code and all that stuff. DevOps, 
>> Git repos. REXX is a pretty poor language for anything modern.
>
> Again, unsubstantiated and derogative, please just stop behaving like a 
> religious warrior and stick to facts and discuss sorberly, stop your FUD 
> please!
>
>> IBM and ISVs are working on Python APIs for products right now.
> That is fine. On slides and in imaginations everything in the future is 
> always much better than what is available at present.
>> And they will be better than the REXX versions.
>
> Well, that has yet to be seen. If improvements materialize, then it would a) 
> be fine and b) be a reason to look into the existing, working REXX versions 
> for the same improvements then.
>
> A massive improvement for the mainframes were to make ooRexx available on 
> them.
>
> Combine ooRexx with the ooRexx-Java bridge and software engineers have 
> immediately gained the ability to use *any* Java API from ooRexx, without a 
> need to learn Java at all, it suffices to be able to read the HTML 
> documentation of Java classes. The easiness and the productivity gains can be 
> inferred if you know that my novices can do this successfully during the last 
> two months of the semester even becoming able to exploit the SSL/TLS Java 
> socket classes, besides awt/swing, JavaFX and some more.
>
> The potential savings for the mainframe users would be enormeous if they 
> started to exploit that combination. It is actually available already today 
> in the Linux subsystems such that one can assess the technology (I know of 
> deployments that exploit this combination in production, using ooRexx to run 
> programs that interact with DB2 using JDBC).
>
> ---rony
>
>>> On Fri, Mar 15, 2024 at 6:36 PM David Crayford <
>>> 0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:
>>>
>>>> Working with REXX doesn't feel comfortable to me at all. I'm troubled by
>>>> the fact that every function call carries a potential side effect. While we
>>>> can resort to procedures, we then encounter the challen

Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
>  I'm developing a language

Have you published any details?

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


From: IBM Mainframe Discussion List  on behalf of 
Rupert Reynolds 
Sent: Saturday, March 16, 2024 9:07 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation 
question

My experience of modern scripting languages, compared with classic Rexx, is
that they all do something new more easily, but also I can't think of one
that doesn't have an obvious pitfall (such as, for example, stumbling badly
over certain byte values such as NUL in strings).

Classic Rexx under TSO and Regina Rexx under Windows and Linux, despite
certain old-fashioned quirks, are still sometimes what I reach for when I
want to process some data while avoiding those pitfalls.

The differences are so strong to me that I'm developing a language which is
effectively the best bits (IMHO) of Rexx, C and even older languages such
as Algol 68 (much underrated in my book) and hints of PL/1. I don't make
that much effort without reason :-)

By definition it works the same interpreted or compiled, which brings a
couple of restrictions I'm willing to live with :-)

Roops
p.s. I'm not convinced that that familiarity is a reason to criticise
choosing a language. Using something you know well is often a way of giving
bettet value and reliability for ones employers.





On Sat, 16 Mar 2024, 11:49 David Crayford, <
0595a051454b-dmarc-requ...@listserv.ua.edu> wrote:

> Hey Rony,
>
> From what I understand, you haven't had experience working on z/OS. Let's
> stick to the topic and focus on discussing REXX as it functions on z/OS.
> This means no discussions about ooRexx or Java bridges, as they don't exist
> and are unlikely to in the future on z/OS.
>
> The majority of REXX programmers here utilize classic TSO REXX and
> primarily work within a TSO/ISPF environment. In this setup, REXX lacks a
> module system. Therefore, any routines or libraries need to be manually
> copied and pasted wherever they're needed, or you have to create a
> pre-processor to merge source files together. If your language lacks the
> fundamental basic features to sort an array then to me that’s a good
> indication you should use one that does.
>
> I'm not spreading fear, uncertainty, and doubt (FUD). I'm simply stating
> my observations based on over 30 years of using REXX on z/OS, including
> developing extensions. I believe this gives me a significant level of
> expertise to offer commentary on the matter.
>
>

--
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: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation question

2024-03-17 Thread Seymour J Metz
On z/Linux? Already here? In TSO? I wish, but won't hold my breathe.

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


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Saturday, March 16, 2024 9:26 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Hmm, 3 ... (Re: Rexx numeric digits and scientific notation 
question

Surely that's moon-pie and dreamscapes?  There's no serious suggestion that 
that will ever happen, is there?  I'm all for it, but don't expect it ever.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Sometimes you feel like a nut.  After a day of working on a walnut farm, you 
don't.  -Mike Rowe of the TV show "Dirty Jobs" */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Rony G. Flatscher
Sent: Saturday, March 16, 2024 06:03

A massive improvement for the mainframes were to make ooRexx available on them.

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

2024-03-17 Thread Seymour J Metz
ALGOL 68 was a big step forward, but the standard was hard to read because it 
lacked adequate comments in the formal definition.

Simula was based on ALGOL 60 and was arguably the first OO language. Ada was 
derived from ALGOL via Pascal.

And, of course, PL/I owes a lot to ALGOL 60.

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


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Saturday, March 16, 2024 9:32 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Algol

I did a lot of coding in Algol during my time at a local University in the late 
'70s.  My impression at the time was that it had a serious paucity of built-in 
functions, but that it enabled me to write my own and make them easily 
available to my programs.  So I stuffed a library full of I/O and 
string-handling functions and got along just fine, it seemed to me.

Haven't encountered it since; I don’t know what advances may have been made in 
that arena.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* That sort of wit which employs itself insolently in criticizing and 
censuring the words and sentiments of others in conversation is absolute folly; 
for it answers none of the ends of conversation.  He who uses it neither 
improves others, is improved himself, nor pleases anyone.  -Poor Richard’s 
Almanack, 1756 */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Rupert Reynolds
Sent: Saturday, March 16, 2024 09:07

developing a language which is effectively the best bits (IMHO) of Rexx, C 
and even older languages such as Algol 68 (much underrated in my book) and 
hints of PL/1

--
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: Learning one's tools

2024-03-17 Thread Seymour J Metz
That looks more like programming around deficiencies in the compiler than 
finding better algorithms. Between PL/I F V4 and V5 there was a serious 
degradation of code quality, anf there were  cases where the "optimizing" 
compiler was worse than F. I ran into that processing SMF data.

I'd be interested in seeing what the current Enterprise PL/I did with, e.g., 
unaligned bit strings, refers.

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


From: IBM Mainframe Discussion List  on behalf of 
Robert Prins <05be6ef5bfea-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, March 17, 2024 10:44 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Learning one's tools

On Sun, 17 Mar 2024 at 11:42, Tom Harper <
05bfa0e23abd-dmarc-requ...@listserv.ua.edu> wrote:

> David,
>
> Yes, assembler can be used to improve performance.
>
> In the 64 years I have been programming, I have used COBOL for three
> years, C++ for six years, and assembler for 55 years.
>
> But it’s not just the language that affects performance. Design is
> critical and arranging your algorithms in the correct sequence is of the
> utmost importance.
>

It's way more important!

Here are statement counts obtained by the old PL/I Optimizing compiler for
the procedure(s) that produce one particular table:

My old algorithm:

NAT_SCAN  13,685,293,297  99.6441458%

The current algorithm, thanks to a Paul Greeen, and the result from a post
to comp.lang.pascal.borland, almost 26 years ago.

NAT_SCAN 246,805   0.6623430%
DISPOSE_RUN   14,064   0.0377431%
SETUP_RUN162,060   0.4349154%
CHECK_RUNS 1,229,773   3.3003039%

And for what it's worth, the old counts are probably correct, the transient
library of the optimizing compiler cannot handle counts over 2^31-1, so I
had to add code to emulate the loops according to the PL/I manual, using
FIXED DEC (15) variables.

Now this is only a private program <
https://prino.neocities.org/resources/lift.pli.html>, but I've updated PL/I
code myself reducing ***CPU*** time from well over three hours to just 20
minutes, by just changing two declarations, and while working at a Dutch
airline company, I reduced CPU usage of two PL/I programs calculating CRCs
by more than 99.5%, removing calls to the PL/I library. Hell, if you look
at the current Enterprise PL/I Programming Guide, GI13-5620-00, on PDF page
372 (book page 316) in the "Avoiding calls to library routines" paragraph,
the text that reads


When your code refers to a member of a BASED structure with REFER, the
compiler often has to generate
one or more calls to a library routine to map the structure at run time.
These calls can be expensive, and
so when the compiler makes these calls, it will issue a message so that you
can locate these potential
hot-spots in your code.

If you do have code that uses BASED structures with REFER, which the
compiler flags with this message,
you might get better performance by passing the structure to a subroutine
that declares a corresponding
structure with * extents. This will cause the structure to be mapped once
at the CALL statement, but there
will no further remappings when it is accessed in the called subroutine.


is almost a literal copy of text in an email I sent to IBM's Peter Elderon
close to 30 years ago, and if you use PL/I to build linked lists, and/or
trees using BASED storage, I'd suggest you think about the second
(area-reference) parameter of the ALLOC builtin function, and the NEXTALLOC
builtin, both are the result of my RFEs, and combining them with the EMPTY
builtin, well think about it. ;)

Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather <https://prino.neocities.org/index.html>
Some REXX code for use on z/OS
<https://prino.neocities.org/zOS/zOS-Tools.html>

--
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: Learning one's tools

2024-03-17 Thread Seymour J Metz
The difference is that you not only learn how to do it better next time, you 
get to improve it this time. Taking ownership doesn't mean keeping people off 
your turf; a professional should always be open to informed criticism.

I've exchanged code with a number of people over the years, and have always 
been glad when they've showed me a better way to do something. Sometimes you 
can even learn from your students.

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


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, March 17, 2024 9:40 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Learning one's tools

I suppose code reviews are like post-battle debriefs, in which every choice of 
the commander is questioned, and when challenged with a better option he can 
only say "I didn't think of that at the time".  It must be extremely painful 
for the guy in the glare of the spotlight, but if it's done right -- too late 
to blame anyone now, we're just trying to make sure everyone has a chance to 
learn how to do it better next time -- it's also extremely valuable.  I truly 
hated having the code reviewers poke at my baby, and at the start of this 
thread I pointed out ways in which they didn't do it right.  But I agree with 
Shmuel, when done right you might even say they're necessary.

(And post-surgical reviews, too.  The patient lived, or the patient died, fine, 
but now we want to know what to do differently next time.)

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* The kingdom of Heaven is not for the well-meaning; it is for the desperate.  
-James Denney (1856-1917) */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Sunday, March 17, 2024 00:41

However, disagree vehemently about "Code reviews are dumb and not needed by 
good programmers." The first two things that a good programmer learns are that 
nobody has a monopoly on good ideas and that "Even Jove nods". Code reviews are 
like auditors and tech writers: when they are good they are very very good, and 
when they are bad they are horrid.

--
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: Learning one's tools

2024-03-17 Thread Seymour J Metz
Is this code clear? How can we improve the comments?

Have we considered all of the edge cases?

Is there a better way to do this?

How easy will it be to extend this?

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


From: IBM Mainframe Discussion List  on behalf of 
Colin Paice <059d4daca697-dmarc-requ...@listserv.ua.edu>
Sent: Sunday, March 17, 2024 10:42 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Learning one's tools

I think code reviews are very useful, especially for not yet experts.  It
is good education for all levels.
We had reviews, and comments like
- Do you need a latch across these instructions for when there is
concurrent execution?
- If it abends here, how will the frr code ...
- Would it help capturing foot prints to show how we got here, before the
following code which may abend.
- Some customers will not send us a dump, so we need to capture as much as
we can in registers.
Colin

On Sun, 17 Mar 2024 at 13:40, Bob Bridges <
0587168ababf-dmarc-requ...@listserv.ua.edu> wrote:

> I suppose code reviews are like post-battle debriefs, in which every
> choice of the commander is questioned, and when challenged with a better
> option he can only say "I didn't think of that at the time".  It must be
> extremely painful for the guy in the glare of the spotlight, but if it's
> done right -- too late to blame anyone now, we're just trying to make sure
> everyone has a chance to learn how to do it better next time -- it's also
> extremely valuable.  I truly hated having the code reviewers poke at my
> baby, and at the start of this thread I pointed out ways in which they
> didn't do it right.  But I agree with Shmuel, when done right you might
> even say they're necessary.
>
> (And post-surgical reviews, too.  The patient lived, or the patient died,
> fine, but now we want to know what to do differently next time.)
>
> ---
> Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
>
> /* The kingdom of Heaven is not for the well-meaning; it is for the
> desperate.  -James Denney (1856-1917) */
>
> -----Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Seymour J Metz
> Sent: Sunday, March 17, 2024 00:41
>
> However, disagree vehemently about "Code reviews are dumb and not needed
> by good programmers." The first two things that a good programmer learns
> are that nobody has a monopoly on good ideas and that "Even Jove nods".
> Code reviews are like auditors and tech writers: when they are good they
> are very very good, and when they are bad they are horrid.
>
> --
> 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: Learning one's tools

2024-03-16 Thread Seymour J Metz
Sturgeon's law rules.

However, disagree vehemently about "Code reviews are dumb and not needed by 
good programmers." The first two things that a good programmer learns are that 
nobody has a monopoly on good ideas and that "Even Jove nods". Code reviews are 
like auditors and tech writers: when they are good they are very very good, and 
when they are bad they are horrid. 

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


From: IBM Mainframe Discussion List  on behalf of 
Dave Beagle <0525eaef6620-dmarc-requ...@listserv.ua.edu>
Sent: Saturday, March 16, 2024 12:18 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Learning one's tools

Just like any profession, 20% of the IT professionals are highly qualified. The 
rest have achieved by luck, nepotism, favoritism, or connections. Of all the 
managers I’ve had, the best ones don’t micromanage because they were confident 
in their ability to hire qualified people. I’ve worked on code that was written 
by imbeciles and I’ve worked on code that was brilliant. Back when I first 
started, I supported code that was written in the 60’s. No documentation 
(written or inside the code) and nearly impossible to follow. Those hired in 
1960’s IT had very little if any IT experience, very little training, (the 
company trained them) and most had nothing more than a high school diploma.

Code reviews are dumb and not needed by good programmers.

Good programmers today can command a very good wage.

AI people are easily making 6 figures.


Sent from Yahoo Mail for iPhone


On Friday, March 15, 2024, 8:24 PM, Don Leahy  wrote:

I try to never show my code to a manager. No good can come from it.

On Fri, Mar 15, 2024 at 4:25 PM Seymour J Metz  wrote:

> You have to love it when a  manager tells you not to use a COBOL verb but
> instead to use COBOL..
>
> Fortunately, some <https://mason.gmu.edu/~smetz3/#bosses> bosses are
> better than that.
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>
> 
> From: IBM Mainframe Discussion List  on behalf
> of Farley, Peter <031df298a9da-dmarc-requ...@listserv.ua.edu>
> Sent: Friday, March 15, 2024 4:19 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Learning one's tools
>
> +1 from me on continuing to learn the tools of our profession.  I use
> STRING and UNSTRING where they make sense, and I am still learning new
> things about their use every now and then.  Life-long learning is the only
> path to happiness and success.
>
> I got the same ridiculous pushback from a senior manager one time on the
> use of “sophisticated” SORT verbs like JOIN because “. . . no one but you
> will know how to fix it when it breaks . . . let someone do it in COBOL
> instead . . .”.
>
> Peter
>
> From: IBM Mainframe Discussion List  On Behalf
> Of Bob Bridges
> Sent: Friday, March 15, 2024 12:38 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Learning one's tools
>
>
> To rant on a related subject, I once worked at a company that instituted
> code reviews; a new program would be gone over by a half-dozen coworkers to
> be sure it adhered to local standards.  This sort of thing is always
> painful to the coder, and nevertheless (I admit reluctantly) can have
> considerable value if done right.  One problem I had with it, though, is
> that the standards we created for ourselves admitted that there are times
> when exceptions should be made for special cases, and yet when those cases
> arose no exceptions were ever allowed; the team invariably flinched, leaned
> back in their seats and said "no, that's not according to our standards".
>
>
>
> One particular example always rankled:  Whenever someone felt the need to
> use a STRING or UNSTRING command (I should have said we were COBOL
> developers), the team always struck it down on the grounds that STRING and
> UNSTRING are unusual commands and some COBOL coders would be unfamiliar
> with it.  My contention here is that that's absolutely true, and it's the
> job of the COBOL coder to ~learn~ the STRING and UNSTRING statements, as
> tools of his profession.  I never persuaded anyone to that view, though.
>
>
>
> ---
>
>
>
> This message and any attachments are intended only for the use of the
> addressee and may contain information that is privileged and confidential.
> If the reader of the message is not the intended recipient or an authorized
> representative of the intended recipient, you are hereby notified that any
> dissemination of this communication is strictly prohibited. If you have
> received this communication in error, please n

Re: Algol

2024-03-16 Thread Seymour J Metz
I don't believe that ALGOL 68had much influence on later languages, possibly 
because the formal definition was seriously under-commented.

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


From: IBM Mainframe Discussion List  on behalf of 
Rupert Reynolds 
Sent: Saturday, March 16, 2024 2:39 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Algol

Algol 68 was quite a lot different from the previous version, from memory,
and seems to have influenced everything else since, including C.

I wish I'd used '68 more when I had the chance.

Alan Kay described computing as a 'pop culture' and I see his point--we
don't often learn from history and we often re-invent things and 'solve'
problems that have already been solved before :-)

Roops

On Sat, 16 Mar 2024, 13:32 Bob Bridges, <
0587168ababf-dmarc-requ...@listserv.ua.edu> wrote:

> I did a lot of coding in Algol during my time at a local University in the
> late '70s.  My impression at the time was that it had a serious paucity of
> built-in functions, but that it enabled me to write my own and make them
> easily available to my programs.  So I stuffed a library full of I/O and
> string-handling functions and got along just fine, it seemed to me.
>
> Haven't encountered it since; I don’t know what advances may have been
> made in that arena.
>
> ---
> Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
>
> /* That sort of wit which employs itself insolently in criticizing and
> censuring the words and sentiments of others in conversation is absolute
> folly; for it answers none of the ends of conversation.  He who uses it
> neither improves others, is improved himself, nor pleases anyone.  -Poor
> Richard’s Almanack, 1756 */
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Rupert Reynolds
> Sent: Saturday, March 16, 2024 09:07
>
> developing a language which is effectively the best bits (IMHO) of
> Rexx, C and even older languages such as Algol 68 (much underrated in my
> book) and hints of PL/1
>
> --
> 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: Rexx numeric digits and scientific notation question

2024-03-15 Thread Seymour J Metz
CALL ON or SIGNAL ON?

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 5:38 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

On Fri, 15 Mar 2024 19:36:12 +, Seymour J Metz wrote:

>The SIGNAL statement unwinds the stack in a very disruptive fashion; its 
>behavior is unlike GOTO in any language that I am familiar with. Use it for 
>anything but exception handling at your peril.
>
>"unwinds" in a very disruptive and partial fashion.  I once debugged a naive 
>co-workers
program which handled an exception in a subroutine by SIGNAL to top of main 
loop.
Worked fine in a modest test data set.  Overflowed CALL/RETURN stack on a larger
data set.

--
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: Rexx numeric digits and scientific notation question

2024-03-15 Thread Seymour J Metz
Every language has pitfalls. While I generally prefer strongly typed languages, 
I find Rexx and ooRexx to be comfortable to work with, and it is not difficult 
to adapt to its quirks:

<http://www.rexxla.org/Newsletter/9812safe.html>
<http://www.rexxla.org/Newsletter/9901safe.html>

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


From: IBM Mainframe Discussion List  on behalf of 
David Crayford <0595a051454b-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 6:40 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

REXX can indeed be quite tricky to navigate. I recently conducted a session 
titled "Python for REXX programmers" at work, and during the preparation, I was 
surprised (although not entirely) by the numerous traps and pitfalls inherent 
in REXX. When you add to this its absence of basic functionalities like sorting 
lists, it begs the question: Why opt for REXX when we have a plethora of 
alternatives available today?

The obvious answer may be familiarity, but in our industry, this argument seems 
rather weak unless you're confined to a limited environment. After all, I 
wouldn't want to revert to using a 1990s-era flip-top phone, let alone a rotary 
dial from the 1970s.

> On 16 Mar 2024, at 2:47 am, Charles Mills  wrote:
>
> Well, that explains a mystery. I did not realize that SIGNAL ON was pushed 
> and popped on subroutine calls. I have had this vague problem where my SIGNAL 
> ON NOVALUE did not seem to work but at the time of an error it is always 
> easier to fix the NOVALUE condition than troubleshoot the SIGNAL ON.
>
> Thanks!
> Charles
>
> On Thu, 14 Mar 2024 12:04:00 -0500, Glenn Knickerbocker  
> wrote:
>
>> On Wed, 13 Mar 2024 11:01:30 -0500, Charles Mills  wrote:
>>> And the answer is ... "The three numeric settings are automatically saved 
>>> across internal and external subroutine and function calls."
>>> I was setting numeric digits in an initialization subroutine, so Rexx 
>>> helpfully unset it on return from initialization. I thought I had done it 
>>> that way before but I guess I have not.
>>
>> Funny, I work with a lot of code that has a common subroutine for retrieving 
>> a TRACE setting to set in the main routine, and I never even thought about 
>> why, or about all the stuff that gets saved across calls!  From CALL 
>> HELPREXX on VM:
>>
>>> The status of DO loops and other structures:
>> --though, importantly, not the *indices* of the loops!
>>> Trace action:
>>> NUMERIC settings:
>>> ADDRESS settings:
>>> Condition traps: (CALL ON and SIGNAL ON)
>>> Condition information:
>>> Elapsed-time clocks:
>>> OPTIONS settings:
>
> --
> 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: Learning one's tools

2024-03-15 Thread Seymour J Metz
<https://www.goodreads.com/book/show/546936.Up_the_Organizationhttps://www.goodreads.com/book/show/546936.Up_the_Organization>
<https://en.wikipedia.org/wiki/Peter_principle>

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


From: IBM Mainframe Discussion List  on behalf of 
Michael Oujesky 
Sent: Friday, March 15, 2024 4:23 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Learning one's tools

Wonder how he made senior. Politics and not skills or expertise.

At 03:19 PM 3/15/2024, Farley, Peter wrote:
>Content-Transfer-Encoding: base64+1 from me on
>continuing to learn the tools of our
>profession.  I use STRING and UNSTRING where
>they make sense, and I am still learning new
>things about their use every now and
>then.  Life-long learning is the only path to happiness and success.
>
>I got the same ridiculous pushback from a senior
>manager one time on the use of “sophisticated”
>SORT verbs like JOIN because “. . . no one but
>you will know how to fix it when it breaks . . .
>let someone do it in COBOL instead . . .”.
>
>Peter
>
>From: IBM Mainframe Discussion List
>Sent: Friday, March 15, 2024 12:38 PM
>To: IBM-MAIN@LISTSERV.UA.EDU
>Subject: Learning one's tools
>
>
>To rant on a related subject, I once worked at a
>company that instituted code reviews; a new
>program would be gone over by a half-dozen
>coworkers to be sure it adhered to local
>standards.  This sort of thing is always painful
>to the coder, and nevertheless (I admit
>reluctantly) can have considerable value if done
>right.  One problem I had with it, though, is
>that the standards we created for ourselves
>admitted that there are times when exceptions
>should be made for special cases, and yet when
>those cases arose no exceptions were ever
>allowed; the team invariably flinched, leaned
>back in their seats and said "no, that's not according to our standards".
>
>
>
>One particular example always rankled:  Whenever
>someone felt the need to use a STRING or
>UNSTRING command (I should have said we were
>COBOL developers), the team always struck it
>down on the grounds that STRING and UNSTRING are
>unusual commands and some COBOL coders would be
>unfamiliar with it.  My contention here is that
>that's absolutely true, and it's the job of the
>COBOL coder to ~learn~ the STRING and UNSTRING
>statements, as tools of his profession.  I never
>persuaded anyone to that view, though.
>
>
>
>---
>
>
>
>This message and any attachments are intended
>only for the use of the addressee and may
>contain information that is privileged and
>confidential. If the reader of the message is
>not the intended recipient or an authorized
>representative of the intended recipient, you
>are hereby notified that any dissemination of
>this communication is strictly prohibited. If
>you have received this communication in error,
>please notify us immediately by e-mail and
>delete the message and any attachments from your system.
>
>
>--
>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: Learning one's tools

2024-03-15 Thread Seymour J Metz
You have to love it when a  manager tells you not to use a COBOL verb but 
instead to use COBOL..

Fortunately, some <https://mason.gmu.edu/~smetz3/#bosses> bosses are  better 
than that.

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


From: IBM Mainframe Discussion List  on behalf of 
Farley, Peter <031df298a9da-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 4:19 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Learning one's tools

+1 from me on continuing to learn the tools of our profession.  I use STRING 
and UNSTRING where they make sense, and I am still learning new things about 
their use every now and then.  Life-long learning is the only path to happiness 
and success.

I got the same ridiculous pushback from a senior manager one time on the use of 
“sophisticated” SORT verbs like JOIN because “. . . no one but you will know 
how to fix it when it breaks . . . let someone do it in COBOL instead . . .”.

Peter

From: IBM Mainframe Discussion List  On Behalf Of Bob 
Bridges
Sent: Friday, March 15, 2024 12:38 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Learning one's tools


To rant on a related subject, I once worked at a company that instituted code 
reviews; a new program would be gone over by a half-dozen coworkers to be sure 
it adhered to local standards.  This sort of thing is always painful to the 
coder, and nevertheless (I admit reluctantly) can have considerable value if 
done right.  One problem I had with it, though, is that the standards we 
created for ourselves admitted that there are times when exceptions should be 
made for special cases, and yet when those cases arose no exceptions were ever 
allowed; the team invariably flinched, leaned back in their seats and said "no, 
that's not according to our standards".



One particular example always rankled:  Whenever someone felt the need to use a 
STRING or UNSTRING command (I should have said we were COBOL developers), the 
team always struck it down on the grounds that STRING and UNSTRING are unusual 
commands and some COBOL coders would be unfamiliar with it.  My contention here 
is that that's absolutely true, and it's the job of the COBOL coder to ~learn~ 
the STRING and UNSTRING statements, as tools of his profession.  I never 
persuaded anyone to that view, though.



---



This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


--
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: Learning one's tools

2024-03-15 Thread Seymour J Metz
That sounds like a hostile working environment. The people doing a code review 
should know the language and the local standards; nit sounds like they knew 
neither.

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


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 12:37 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Learning one's tools

To rant on a related subject, I once worked at a company that instituted code 
reviews; a new program would be gone over by a half-dozen coworkers to be sure 
it adhered to local standards.  This sort of thing is always painful to the 
coder, and nevertheless (I admit reluctantly) can have considerable value if 
done right.  One problem I had with it, though, is that the standards we 
created for ourselves admitted that there are times when exceptions should be 
made for special cases, and yet when those cases arose no exceptions were ever 
allowed; the team invariably flinched, leaned back in their seats and said "no, 
that's not according to our standards".

One particular example always rankled:  Whenever someone felt the need to use a 
STRING or UNSTRING command (I should have said we were COBOL developers), the 
team always struck it down on the grounds that STRING and UNSTRING are unusual 
commands and some COBOL coders would be unfamiliar with it.  My contention here 
is that that's absolutely true, and it's the job of the COBOL coder to ~learn~ 
the STRING and UNSTRING statements, as tools of his profession.  I never 
persuaded anyone to that view, though.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* Democracy is where you can say what you think even if you don't think. */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Rupert Reynolds
Sent: Thursday, March 14, 2024 22:22

There's nothing wrong with 'signal', of course, except that a lot of people 
reading the code won't be expecting it :-)

--
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: Rexx numeric digits and scientific notation question

2024-03-15 Thread Seymour J Metz
The SIGNAL statement unwinds the stack in a very disruptive fashion; its 
behavior is unlike GOTO in any language that I am familiar with. Use it for 
anything but exception handling at your peril.

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


From: IBM Mainframe Discussion List  on behalf of Bob 
Bridges <0587168ababf-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 15, 2024 12:30 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx numeric digits and scientific notation question

My problem is that I think of SIGNAL as a sort of careless GOTO.  No doubt it's 
often used that way (and really I have nothing against GOTO, when used in 
moderation), but since I know it isn't ~exactly~ a GOTO, in practice I don't 
use it at all because I don't feel I understand exactly what it does.  I don't 
trust it, and I haven't yet bothered to learn to be comfortable with it.

---
Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313

/* As a father, I have a vested interest in seeing my children do well in 
school.  If they don't, they won't graduate, and will probably wind up living 
in my house until they are thirty years old.  This will interfere with my plan 
to reach retirement age without killing another human being.  -W Bruce Cameron, 
_Study Habits_ (2001) */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Rupert Reynolds
Sent: Thursday, March 14, 2024 22:22

As a style thing, I'd be quite happy to initialise everything inline once, but 
if I need to re-initialise then I'd want to be sure everything is the same 
second time around, so I'd probably use 'procedure expose' to initialise (and 
'signal on novalue' as well, to avoid being caught out by different behaviour 
on the second time around).

There's nothing wrong with 'signal', of course, except that a lot of people 
reading the code won't be expecting it :-)

--
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: BASE64 Decode / EPOCH Conversion Code Samples

2024-03-09 Thread Seymour J Metz
HLASM.

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


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Saturday, March 9, 2024 3:34 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: BASE64 Decode / EPOCH Conversion Code Samples

On Sat, 9 Mar 2024 19:47:13 +0200, Binyamin Dissen wrote:
>
>Actually not, as the base64 document survives character conversion.
>
I agree there's no loss of information.

>An assembler routine running using EBCDIC will provide the same result (with
>EBCDIC) as the routine running using ASCII with ASCII, i.e., 'A' translates to
>the same binary code on both systems.
>
What assembler runs on both ASCII and EBCDIC systems?

There's an ambiguity.  If you don't know whether your base64 is represented
in ASCII or EBCDIC, suppose it contains the character at code point x'4E'.
You don't know whether that's an EBCDIC '+' or ASCII 'N'.  It matters.

--
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: IRB interrupt code

2024-03-08 Thread Seymour J Metz
RBOPSW reflects the most recent interrupt. That's true for every RB, not  just 
an IRB.

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


From: IBM Mainframe Discussion List  on behalf of 
Joseph Reichman <05812645a43c-dmarc-requ...@listserv.ua.edu>
Sent: Friday, March 8, 2024 12:02 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: IRB interrupt code

Jim

First thanks I’m a little confused here and I’m obviously not an expert

But if the interruption was because of a load SVC wouldn’t RBOPSW - 2 = X’0A’


More so I would think that there were more than 2 reason for RB to get 
interrupted

The first 2 abend what I mean by that is a program check and second SVC 
interrupt

In the case of an IRB which is a asynchronous exit it would be and forgive me 
if I’m not using the right terminology external interrupt or timer interrupt

Thanks

> On Mar 8, 2024, at 11:53 AM, Jim Mulder  wrote:
>
>  SVC 8   (LOAD).
>
> Jim Mulder
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of 
> Joseph Reichman
> Sent: Friday, March 8, 2024 11:09 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: IRB interrupt code
>
> I thought all list of all the interrupt codes were in the z/os pops I looked
> at chapter 6interruptions there was a description for a number of them
>
> Just not a list with a code
>
> Anyway for my IRB the previous RB which was my program PRB had RBINTCOD value 
> X'020008'
>
> Where can I find out what the interrupt code is
>
> thanks
>
> --
> 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


  1   2   3   4   5   6   7   8   9   10   >