Re: Dump Analysis Best Training / Documentation
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)
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?
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?
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?
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?
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
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
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
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?
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?
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?
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?
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
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
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
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
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
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
לא דובים ולא יער 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?
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
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
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?
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?
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]
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]
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]
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
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)
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
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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...
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...
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
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?
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
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
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
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
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
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?
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?
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?
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?
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
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
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
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
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
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
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
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
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
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
> 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
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
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
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
> 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
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
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
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
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
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
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
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
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
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
<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
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
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
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
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
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