Re: ./ ADD - which utility? (RANT)

2024-05-18 Thread Robert Prins
https://github.com/dmolony/Xmit by Dennis Molony, written in Java, so
Windoze, Linux and Mac are supported, as are user-defined code-pages.

Robert

On Sat, 18 May 2024 at 21:37, Mike Schwab <
05962a42dc49-dmarc-requ...@listserv.ua.edu> wrote:

> Here's what is available.  Please submit any additions you may know.
>
> https://www.cbttape.org/xmitview.htm
>
> On Sat, May 18, 2024 at 4:32 PM Paul Gilmartin
> <042bfe9c879d-dmarc-requ...@listserv.ua.edu> wrote:
> >
> > On Sat, 18 May 2024 23:15:26 +0200, Radoslaw Skorupka  wrote:
> > >...
> > >Yes, we have some freeware XMIT viewers, we have some homegrown REXX
> > >scripts, etc.
> > >
> > for which desktop target platforms?
> >
> > >But it is continuous reinventing the wheel.
> > >IMHO it is up to IBM to assign few folks for few weeks to prepare such
> > >tools. It need not to be officially supported.
> > >IBM invest a lot of effort in z/OSMF and other "modernization", but such
> > >simple things like PDS to directory are still left.
> > >
> > for which desktop target platforms?
> >
> > But if it's  Java, it might be nonpartisan.
> >
> > --
> > gil
> >
> > --
> > 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
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


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

2024-04-20 Thread Robert Prins
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 
Some REXX code for use on z/OS


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


Re: PASSPORT 3270 emulator (PC) problem w transferring files

2024-04-10 Thread Robert Prins
On Wed, 10 Apr 2024 at 10:19,   <
0619bfe39560-dmarc-requ...@listserv.ua.edu> wrote:

> I will check those and other options in PASSPORT but for the moment it is
> occupied with a transfer.
>
> As I mentioned in my earlier comment installation of a new software isn't
> possible in my situation.
>

You're probably paid a fair amount of dosh, so it would be in the best
interest of your client to give you the tools to do your job in the best
possible way, so you could even suggest you pay for Vista yourself, it's
only USD 30, I doubt that that would break the bank, and ask your client to
install it. And for ftp, FileZilla is free.

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: PASSPORT 3270 emulator (PC) problem w transferring files

2024-04-10 Thread Robert Prins
I'm also using IND$FILE, with Tom Brennan's Vista tn3270, running something
I shouldn't be running under Hercules, i.e. all on the same PC. It's still
not as fast as ftp, but I regularly transfer nearly 5 Gb from z/OS to the
PC, which doesn't take that long.

It may not be the same for PASSPORT, but I use "DFT" mode with the
(apparent) maximum blocksize of 32,000, rather than the 2,500 default. Just
try to change, if they're available those settings,  or get a 30-day trial
copy of Vista, and see if that makes any difference.

Robert

On Wed, 10 Apr 2024 at 08:17,   <
0619bfe39560-dmarc-requ...@listserv.ua.edu> wrote:

> I'have recenctly returned to the job life  after I retired in 2016.
>
> As I'm working remote I'm using the PASSPORT 3270 emulator program.
>
> But the file transfers (IND$FILE) is VERY/EXTREMELY slow from PC to MF.
>
> My internet connection or my local network should not be the problem. Have
> a 500Mb/500Mb connection and my network have no problem with anything else.
> The connection is going through a VPN software (Check Point Mobile Version
> VPN E86.20) that seems to work as intended, e g no error or warning
> messages. Otherwise Windows 10 at a laptop provided by my client (a large
> bank in Sweden).
>
> The speed for e g 7MB is about 2.5 hours.
>
> Any suggestions to speed it up?
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: Learning one's tools

2024-03-17 Thread Robert Prins
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 
Some REXX code for use on z/OS


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


Re: Can DFSORT assign custom Return Code values?

2024-03-04 Thread Robert Prins
On Mon, 4 Mar 2024 at 16:13, Sri Hari Kolusu  wrote:

> Please send an offline email with your complete requirement and I will
> show you a way to do it.
>

After all, why would anyone else be interested in it?

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: Can DFSORT assign custom Return Code values?

2024-03-04 Thread Robert Prins
Or this, posted on  @ Tue
Jul 28, 2009 11:59 pm

//* Use a tiny Rexx exec to check both month and year
//* If 1st of month, return number of month, else return 99
//MAKEREXX EXEC PGM=IEBUPDTE,PARM=NEW
//SYSINDD  DATA
./ADD   NAME=CHKDATE
 if substr(date(u),4,2)=1 then return substr(date(u),1,2); return 99
/*
//SYSUT2   DD  DISP=(,PASS),SPACE=(TRK,(1,1,2),RLSE),UNIT=VIO,
// DCB=(LRECL=80,BLKSIZE=80,DSORG=PS,RECFM=F)
//SYSPRINT DD  DUMMY
//*  Now run the exec to get a return code
//SETMAXCC EXEC PGM=IRXJCL,PARM='CHKDATE'
//SYSEXEC  DD  DSNAME=*.MAKEREXX.SYSUT2,DISP=(OLD,DELETE)
//SYSTSIN  DD  DUMMY
//SYSTSPRT DD  DUMMY
/*  Proceed as in other solutions
//JAN  EXEC PGM=IEFBR14,COND=(1,NE,SETMAXCC)
//*
//FEB  EXEC PGM=IEFBR14,COND=(2,NE,SETMAXCC)
//*
// ...

On Mon, 4 Mar 2024 at 16:02, Cameron Conacher <
03cfc59146bb-dmarc-requ...@listserv.ua.edu> wrote:

> Hello everyone,
> From what I have read this is not possible, but I decided to throw it out
> there to see if something is possible.
>
> I have a block of JCL with a bunch of steps.
> I have symbolic parameters assigned. (JP1/JP2 SYSPLEX Symbolics for DFSORT)
>
> I was looking for a Utility that would examine the value of a Symbolic and
> assign a User Return Coe value. RC1 = Development; RC2 = Pre-Production;
> RC3 = Production?
> I need a Return Code value to be able to conditionally execute subsequent
> JOB steps. I cannot execute steps conditionally based on Symbolic Variable
> values.
> IF Step001.RC = 0 ….Development
>
> I could write a tine program to do this.
> I was hunting around for a utility to do this.
> DFSORT is my go to Utility but as mentioned, I believe it is not suitable
> for this task.
> I believe I could set RC0 or RC4 or RC16. RC0 and RC4 generate a message
> and continue, but RC16 generates a message and terminates. I think this
> (Termination) would be unsuitable.
>
> I was to be able to assign one of three different Return Code values (any
> value) that I can let check to determine if I am running in Development,
> Pre-Prod or Production, and then execute steps related to the specific
> environment.
> Not something I absolutely need since I could write a tiny program for
> this.
>
> Just curious, and I think my ADHD has just sent me down another rabbit
> hole 
>
> I could do this in Easytrieve. Or COBOL. Or Assembler. Or Rexx. Or …..
>
> Hope this makes sense.
>
> Thanks
>
>
> Cameron Conacher
> Senior Engineer
>
> American Express Canada Inc.
> GCICS
> 2225 Sheppard Avenue East, Toronto, ON  M2J 5C2
>
> cameron.conac...@aexp.com
> Office: 1-437-836-5265
> Mobile: 1-416-409-5147
>
> https://amex.webex.com/join/cameron.conacher
>
>
>
> 
> 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, 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,
> 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
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


[Very much off-topic] Re: AI is the real deal.

2024-02-22 Thread Robert Prins
AI?

More AS!

This is on LinkedIn, it's AI generated and you can probably sue them for
jaw-dislocation due to excessive laughter:

<
https://www.linkedin.com/advice/0/how-can-developers-take-ownership-bugs-skills-system-development-x9cve
>

On Wed, 21 Feb 2024 at 23:37, Dave Beagle <
0525eaef6620-dmarc-requ...@listserv.ua.edu> wrote:

> Well, today was NVIDIA earnings day. They are the bellwether for AI.
> Theirs is the premier AI chip commanding top dollar. And they didn’t
> disappoint. Their revenues are up 400% in the last year. To 22 billion in
> the latest quarter. They’ve got another chip on tap this year which should
> continue the incredible growth. If you had invested $10,000 five years ago,
> you’d have earned 2000%, and would have $200,000. If you had
> invested $10,000 ten years ago, you’d have earned over 16,465%. And have
> 1.65 million. AI is only in its infancy. It will be bigger than the
> internet. Microsoft, META, Google, and nearly every IT company is
> betting big on AI. That spending will continue. NVIDIA’s market cap is
> approaching 2 trillion.  It’s now the 3rd largest company in the world by
> market cap. (Behind Microsoft & Apple) To think AI is just a passing fad is
> foolish.
>
>
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: JES2 JOBDEF DUPL_JOB=NODELAY - Any gotchas?

2024-02-01 Thread Robert Prins
Doing this regularly, my biggest problem is that a set of jobs running ISPF
in batch, all with //ISPPROF set to a temporary dataset fall over, because
it's in use. Adding a second or so delay between submitting them solves the
issue, most of the time.

On Thu, 1 Feb 2024, 19:15 Charles Mills,  wrote:

> I am not a sysprog but I occasionally play one in my spare time. I am
> thinking of changing a system that I control to DUPL_JOB=NODELAY. Any
> gotchas? Anything I need to consider before I do this? Do most/many of you
> run with NO_DELAY?
>
> I am trying to solve a problem where I have jobs delayed because the names
> are duplicates. I can't easily change the jobnames.
>
> I can't think of any issues. We don't have any significant automation. I
> can't think of anything where jobs are referenced by name rather than Job
> ID.
>
> What should I be considering?
>
> Thanks,
> Charles
>
> --
> 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: Custom ISPF command

2024-01-23 Thread Robert Prins
On Tue, 23 Jan 2024 at 13:55, Tom Marchant <
000a2a8c2020-dmarc-requ...@listserv.ua.edu> wrote:

> "Obviously, you still need to restart ISPF to enable the new commands."
>
> It isn't obvious to me. For another example of modifying the command
> table dynamically, see Gilbert Saint-Fluor's FASTPATH command on the
> CBT tape. I use it regularly. Issuing the FASTPATH command within ISPF
> adds some commands to the command table and they are immediately usable.
>

Those are, if I'm correct, all tools to dynamically add commands, and yes
they are immediately available. I wrote my exec to actually edit the
command table, to make the new commands permanently available, and for that
reason you need to restart ISPF, although I'm sure someone might be able to
figure out a way of actually intercepting the addition of new commands, to
also add them dynamically to the in-use command table, by modifying the
panel. I'm doing something similar, i.e. modifying a panel, to make the
ISPF clipboards available outside Edit and View, see <
https://prino.neocities.org/zOS/zOS-Tools.html#editclip>

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>

-- 
> Tom Marchant
>
> On Tue, 23 Jan 2024 14:03:30 +, Robert Prins <
> robert.ah.pr...@gmail.com> wrote:
>
> >Here's the free-of-any errorchecking, I've only ever used it myself, small
> >exec to update command tables using the standard ISPF dialog. Obviously,
> >you still need to restart ISPF to enable the new commands. And of course
> >saving them, like I do, in my private EXEC library could be omitted.
> >
> >Enjoy
> >
> >/* REXX exec to update my command tables  */
> >/*** trace ?r * \| *
> >*   (C) Copyright Robert AH Prins, 2009-2010   *
> >
> >*  --  *
> >* | Date   | By   | Remarks  | *
> >* |+--+--| *
> >* ||  |  | *
> >* |+--+--| *
> >* | 2010-05-13 | RAHP | Use ISPTABL, not ISPPROF | *
> >* |+--+--| *
> >* | 2009-04-16 | RAHP | Now RAHP- and HERECMDS   | *
> >* |+--+--| *
> >* | 2009-04-08 | RAHP | Initial version  | *
> >* |+--+--| *
> >
> >* UCMDS is a REXX exec to update my site-independent (RAHPCMDS) and*
> >* site-specific (HERECMDS) tables. Because it is not possible to   *
> >* update an open ISPF command table, this exec copies it to CMDS,  *
> >* invokes ISPUCM (the command table update program) with a parameter   *
> >* of  and then copies the updated table back to USERCMDS. Note *
> >* that is necessary to restart ISPF to enable any new commands.*
> >*  *
> >* Copies of the new command tables are saved to my exec library.   *
> >*  *
> >* Note:*
> >*  *
> >* *"GETVAR" is my routine that retrieves site-dependent information,**
> >* *such as the names of my datasets allocated to ISPF etc.*  *
> >
> >* Send questions, suggestions and/or bug reports to:   *
> >*  *
> >* rob...@prino.org / robert.ah.pr...@gmail.com *
> >*  *
> >* Robert AH Prins  *
> >* Ozkiniu gatve 48 *
> >* Vilnius 08405*
> >* Lithuania*
>

OT-ish: Very old IBM hardware & manuals available

2024-01-23 Thread Robert Prins
Hi all,

My father worked for IBM in the Netherlands for more than 30 years,
starting as a CE in the late 1950'ies. Last year he was diagnosed with
Alzheimer, and over the past few months my siblings and me have been
emptying his apartment and storage room, and we've come across a sizeable
quantity of IBM "stuff", from manuals for the 650 to old square cm
"integrated circuits" and even a magnetic core memory card. My siblings
weren't in the least interested in any of it, so I took it, and although
it's nice to look at, our house is already full enough as it is, so...

If anyone thinks they can offer a good home to these things, and I will,
hopefully soon, put pictures of everything that surfaces on my website,
feel free to contact me off this list and we can take it from there. You'll
most definitely be paying for shipping (from Lithuania), and based on what
I'm going to find out on fleabay, I might ask for a bit more.

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: Custom ISPF command

2024-01-23 Thread Robert Prins
Here's the free-of-any errorchecking, I've only ever used it myself, small
exec to update command tables using the standard ISPF dialog. Obviously,
you still need to restart ISPF to enable the new commands. And of course
saving them, like I do, in my private EXEC library could be omitted.

Enjoy

/* REXX exec to update my command tables  */
/*** trace ?r * \| *
*   (C) Copyright Robert AH Prins, 2009-2010   *

*  --  *
* | Date   | By   | Remarks  | *
* |+--+--| *
* ||  |  | *
* |+--+--| *
* | 2010-05-13 | RAHP | Use ISPTABL, not ISPPROF | *
* |+--+--| *
* | 2009-04-16 | RAHP | Now RAHP- and HERECMDS   | *
* |+--+--| *
* | 2009-04-08 | RAHP | Initial version  | *
* |+--+--| *

* UCMDS is a REXX exec to update my site-independent (RAHPCMDS) and*
* site-specific (HERECMDS) tables. Because it is not possible to   *
* update an open ISPF command table, this exec copies it to CMDS,  *
* invokes ISPUCM (the command table update program) with a parameter   *
* of  and then copies the updated table back to USERCMDS. Note *
* that is necessary to restart ISPF to enable any new commands.*
*  *
* Copies of the new command tables are saved to my exec library.   *
*  *
* Note:*
*  *
* *"GETVAR" is my routine that retrieves site-dependent information,**
* *such as the names of my datasets allocated to ISPF etc.*  *

* Send questions, suggestions and/or bug reports to:   *
*  *
* rob...@prino.org / robert.ah.pr...@gmail.com *
*  *
* Robert AH Prins  *
* Ozkiniu gatve 48 *
* Vilnius 08405*
* Lithuania*

* This program is free software: you can redistribute it and/or*
* modify it under the terms of the GNU General Public License as   *
* published by the Free Software Foundation, either version 3 of   *
* the License, or (at your option) any later version.  *
*  *
* This program is distributed in the hope that it will be useful,  *
* but WITHOUT ANY WARRANTY; without even the implied warranty of   *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
*  *
* You should have received a copy of the GNU General Public License*
* along with this program. If not, see   *
***/
parse source source
parse value source with . . moi .

user.  = -1
user.1 = 'RAHP'
user.2 = 'HERE'

"ispexec vget (ucmds) shared"

if rc = 0 then
  do
"ispexec verase (ucmds) shared"

temp = copies('$', length(ucmds))

"isredit macro"
"isredit (MEM) = member"

select
  when mem = temp'CMDS' then
"isredit c '"temp"CMDS' '"ucmds"CMDS' first"

  /* irrelevant code removed */

  otherwise
end

"isredit end"

exit
  end

!tabl = getvar('ispTABL')

drop isptabl
drop exec

"ispexec lminit dataid("isptabl") ddname(isptabl) enq(shrw)"
"ispexec lminit dataid("exec")",
   "dataset('"getvar('execRAHP')"') enq(shrw)"

do u = 1 by 1 while user.u \= -1
  temp  = copies('$', length(user.u))
  ucmds = user.u

  "alloc f(i) da('"!tabl"("user.u"cmds)') shr reu"
  "alloc f(o) da('"!tabl"("temp"cmds)') shr reu"

  "execio * diskr i (finis"
  

Re: How to configure using PDS members in JCL.

2024-01-08 Thread Robert Prins
On Mon, 8 Jan 2024 at 12:16, Colin Paice  wrote:

> I have a PDS with configuration definitions in it and want to make it easy
> to configure.
>
> I want to have PDS members with content like PERMIT ... ACCESS(READ)
> CLASS(...) ID()
> and want the  to be substituted for example in JCL // SET ID=COLIN, and
> be able to change the value on each run.
> However JCL symbols only work with SYSIN DD * type data not within dataset
> members.
>
> What is the best way of doing this?
>
> - I could have an inline IEBUPDTE which does the substitution and creates
> the members.
> - I've found references to IPOUPDTE.  Is there a modern version of this
> provided by IBM?
>

https://www.jaymoseley.com/hercules/cbt_ware/pdsupdte.htm

Comes with source, so can be changed to handle, like my version, lowercase,
and doesn't need the IPOUPDTE required $$$COIBM member.

Of course you're aware that edit macros change ISPF stats, which may not be
desirable, and large number of changes may fill up a PDS...

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: PL/X Open Source and PL/I - Helping to save the world and cut CPU Cycles and electricity

2023-10-02 Thread Robert Prins

On 2023-10-02 13:03, Clem Clarke wrote:
What would it take for IBM to Open Source the Windows and Linux version of PL/I 
and PL/X?


Why?  To potentially make the Internet faster and safer.  How?


It's pretty naive to think that open-sourcing PL/I will help, no C(++/#) 
programmer is going to switch, and even if they would consider switching, it 
would be more than likely to Rust, Go, Python, etc.


We know that C searches for a byte with a binary zero to find how long a string 
is.  This takes time. And then it take time to copy a string elsewhere, 
especially if it is done a byte at a time (often true, depending on the C 
compiler - some do a word at a time).


Most, if not all, modern compilers on x86/AMD64 scan (at least) 4/8 bytes at a 
time, and it using YMM, or even ZMM registers on AMD64 it might actually scan 
32, or even 64 bytes at a time, in just 2,3,4 cycles.


And as for other code improvements, there is PL/I code that compiles to shorter 
code with the old OS V2.3.0 compiler, than with Enterprise PL/I, and factoring 
out the common instructions, you end up with ONLY extra instructions generated 
by EPLI... Go figure! And everyone knows, the fastest instructions are those 
that are never executed!
PL/I, Pascal and even Assembler know how long a string is.  They don't have to 
waste cycle looking for the length of a string. Most of the time, they know how 
long the receiving string is, and won't go past the end, as C will. >
IBM still has the "authority" to do this.  


Even Raincode doesn't make an evaluation version of its PL/I compiler available.


And it morally should.


Big companies do not have morals, with maybe some, I don't know which ones, 
exceptions.


Anyway, it never will, the best you can hope for is that someone decides to 
reverse-engineer VA PL/I or RDz PL/I for Windows, but that would open a whole 
lot of cans of worms, and although I do have a copy of Hex Rays' IDA Pro, life's 
way too short to even think about it. I think someone once in a very grey past 
disassembled the old Digital Research PL/I compiler.



Just do it, IBM.  Help save the planet.


I'd better not reply anything to that.

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html


Clem Clarke





Wayne Bickerdike wrote:

So many acronyms.
I've Been Married
I've Been Moved
It's Better Manual
I Broke Microcode

etc..

On Mon, Oct 2, 2023 at 4:17 AM David Spiegel <
0468385049d1-dmarc-requ...@listserv.ua.edu> wrote:


Hi Peter,
I was generalizing the problem. Allowing access to PL/ wouyld also
solve the lack of PDFs.

This reminds me of a joke.
Q: What does IBM Stand for?
A: Ich Bin M'shugoh

Regards,
David

On 2023-09-30 08:18, Peter Relson wrote:

There is another solution

What are you thinking the "problem" is for which you mention a

"solution"? The first post I saw was asking about PDF's, not about access
to PL/X. Was there a post that did not show up in the daily digest? The
"access-to-PL/X ship" sailed long ago.

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


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


Re: Converting Assembler TPUTS to ISPF

2023-08-22 Thread Robert Prins
On Tue, 22 Aug 2023 at 18:40, Lionel B. Dyck  wrote:

> For some it is easier to install a single rexx exec than multiple rexx,
> panels, msgs, skels.
>

And for what it's worth, even adding a loadlib, should that be required,
can be done by storing it into the exec, either in XMIT format, or, with
even less manual interaction, AMATERSE'd. The exec I use to convert
basically anything to inline REXX is <
https://prino.neocities.org/zOS/epanq.exec.html> <
https://prino.neocities.org/zOS/qh.exec.html> contains, Doug Nadel's
ISPFHTML, in XMIT format, vannot find anything I AMATERSE'd.

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS



>
> Lionel B. Dyck <><
> Website: https://www.lbdsoftware.com
> Github: https://github.com/lbdyck
>
> “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
> Seymour J Metz
> Sent: Tuesday, August 22, 2023 1:36 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Converting Assembler TPUTS to ISPF
>
> It might be easier to use ISPF dynamic panels, but that should work.
> However, is it really bothersome to distribute multiple elements?
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf
> of
> Jeremy Nicoll [jn.ls.mfrm...@letterboxes.org]
> Sent: Tuesday, August 22, 2023 1:23 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Converting Assembler TPUTS to ISPF
>
> On Tue, 22 Aug 2023, at 17:44, Rupert Reynolds wrote:
>
> > Store the panel somewhere in the ISPPLIB allocation, or add your own
> > panel library (I forget the name of the service to do that).
>
>   LIBDEF ?
>
> I never tried "being clever" but I wonder if one could dynamically write a
> panel definition into a temporary PDS that's been libdeffed, then use the
> DISPLAY command to pick up & use that panel definition?
>
> If that doesn't work (maybe ispf caches the panel PDS's directory?) then
> one
> could presumably do it with
>
>   - allocate a temp pds
>   - write a single panel definition member to it
>   - libdef that temp pds (by ddname)
>   - display
>   - undo the libdef
>   - delete the temp pds
>
> --
> Jeremy Nicoll - my opinions are my own.
>
>
>

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


Re: Accessing JCL SETs in Rexx

2023-08-04 Thread Robert Prins
In essence, I've not used this since about forever, but when we, as in I,
decided we needed to start using parametrized procs at Willis around the
Y2K  time, and people were frustrated by not being able to see the wood
from the trees, I very quickly knocked up the code below, I have no clue if
it's still working, but we used it in SDSF on the JCL of TYPRUN=SCAN
submitted jobs, to get rid of all the IEF653I messages. Feel free to play
around with it, if you see to improve it, please share your code, and if
you don't like GPL'ed code, though!

Robert

/* REXX edit macro to clean up JCL*/
/*** trace ?r * \| *
*   (C) Copyright Robert AH Prins, 1995-2015   *

*  --  *
* | Date   | By   | Remarks  | *
* |+--+--| *
* ||  |  | *
* |+--+--| *
* | 2015-12-28 | RAHP | Add routine to find SET symbols  | *
* |+--+--| *
* | 2001-06-04 | RAHP | New version of SDSF (column changes) | *
* |+--+--| *
* | 1997-05-16 | RAHP | Cater for just one parameter on proc | *
* |+--+--| *
* | 1995-04-06 | RAHP | Initial version  | *
* |+--+--| *

* EUNSUB is a REXX edit macro to remove IEFC653I substitution  *
* messages from submitted JCL. *

* Send questions, suggestions and/or bug reports to:   *
*  *
* rob...@prino.org / robert.ah.pr...@gmail.com *
*  *
* Robert AH Prins  *
* Ozkiniu gatve 48 *
* Vilnius 08405*
* Lithuania*

* This program is free software: you can redistribute it and/or*
* modify it under the terms of the GNU General Public License as   *
* published by the Free Software Foundation, either version 3 of   *
* the License, or (at your option) any later version.  *
*  *
* This program is distributed in the hope that it will be useful,  *
* but WITHOUT ANY WARRANTY; without even the implied warranty of   *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
*  *
* You should have received a copy of the GNU General Public License*
* along with this program. If not, see   *
***/
"ISREDIT MACRO (PARM)"
parm  = translate(parm)
/*
signal get_set
exit
*/

"isredit (L) = line 1"
if pos(' JOB ', l) = 0 then
  exit 1

p = pos('//', l)

numeric digits 32

iefc653i= 'IEFC653I'

lin = right('//', p + 1)
"isredit line_after .zl = (LIN)"

"isredit x 'EXEC PGM=' all"
"isredit x '*' all" p + 2

"isredit f ' EXEC ' first nx"
do while rc = 0
  "isredit LABEL .zcsr = .EF 0"
  "isredit (EF) = linenum .EF"
  "isredit f ' EXEC ' next nx"

  if rc = 0 then
"isredit LABEL .zcsr = .EL 0"
  else
"isredit LABEL .zl   = .EL 0"

  "isredit (EL) = linenum .EL"

  "isredit (EXEC) = line .EF"

  parse value exec with '//' . 'EXEC ' proc ',' .
  if length(proc) > 8 then
parse value exec with '//' . 'EXEC ' proc ' ' .

  "isredit f 'XX"proc"' .EF .EL first"
  "isredit LABEL .zcsr = .EP 0"
  "isredit (EP) = linenum .EP"

  if ep - ef > 1 then
rc = process(+ef + 1, +ep - 1)

  "isredit f p'^'" p + 2 ".EP .EL first"
  "isredit f p'^'" p + 2 ".EP .EL next"
  "isredit LABEL .zcsr = .EE 0"
  "isredit (EE) = linenum .EE"

  if ee - ep >= 1 then
rc = process(+ep, +ee - 1)

  call delete_iefc653i

  "isredit f ' EXEC ' first nx .EL .ZL"
end

"isredit reset"
exit

/***
* SUBSTITUTE:   

Re: PCRE2 source code ....

2023-06-11 Thread Robert Prins
Try this  which can handle XMIT'ed
datasets as PDS members

On Sun, 11 Jun 2023 at 15:40, Dave Jones  wrote:

> Thanks, Joe.
> I have downloaded the XMIT file from the CBT site to my Winows 11 laptop
> here and used the XmitManager app to open it. I see several members that
> appear to be plain text files (the notes, JCL, etc.) but the SCRE member
> doesn't appear to be just plain text. Maybe an unloaded PDS? How can I
> access that from my Windows PC?
> Many thanks, again.
> DJ
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: ISPF HILITE Question

2023-05-18 Thread Robert Prins
On Thu, 18 May 2023 at 20:20, Steve Thompson  wrote:

> Or have I stumbled on a situation where ISPF and COBOL 6.x are
> not in synch?
>

This used to be the "normal" situation for PL/I, and with PL/I builtins
multiplying like rabbits, it may well be the case again. Ditto for COBOL...

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: Rexx Exec to Build 10,000 PDS Members: ALLOC vs ISPF Services vs ?

2023-04-20 Thread Robert Prins
There's a program on one of the CBTTape site "tapes" (I'm sure someone will
jump in with the number of the tape) called UPDTE that can handle any
LRECL, been using it for years.

Robert

On Thu, 20 Apr 2023 at 15:46, Lennie Dymoke-Bradshaw <
032fff1be9b4-dmarc-requ...@listserv.ua.edu> wrote:

> This is a good solution but I have a feeling this only works with certain
> DCBs. I think it is limited to a maximum LRECL of 80 bytes.
> Lennie
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Wendell Lovewell
> Sent: 20 April 2023 15:18
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Rexx Exec to Build 10,000 PDS Members: ALLOC vs ISPF Services
> vs ?
>
> I don't know about the logic required to create a member -- Kolusu might
> have the  best idea.  But creating one long sequential file with all the
> members and using IEBUPDTE is pretty simple:
>
> //STEP1EXEC PGM=IEBUPDTE,PARM=MOD
> //SYSPRINT DD   SYSOUT=*
> //SYSUT1   DD   DISP=OLD,DSN=SOME.PDSE
> //SYSUT2   DD   DISP=OLD,DSN=SOME.PDSE
> //SYSINDD   DATA
> ./ADD   NAME=BLUE1
>
> The sky appears blue because of a
> phenomenon called Rayleigh scattering.
>
> ./ADD   NAME=BLUE2
>
> When sunlight enters the Earth's
> atmosphere, it is scattered in all
> directions by the gases and particles in the air.
>
> ./ADD   NAME=BLUE3
>
> Blue light has a shorter
> wavelength and is more easily scattered
> than other colors, which is why we see
> the sky as blue during the day.
>
> /*
> //
>
> (I've included blank lines around the text for clarity here.  All that's
> needed between members is the ./ ADD NAME=membername.)
>
> This assumes you want to recreate the PDSE each time.  "Monica" says
> IEBUPDTE won't delete from a PDSE like it will from a PDS.  (I've not found
> "Monica" to be all that accurate so far though.)
>
> Hth,
>
> Wendell
>
> --
> 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
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: [EXTERNAL] ISPF usage question

2023-04-14 Thread Robert Prins
On Fri, 14 Apr 2023 at 16:58, Lionel B. Dyck  wrote:

> You could try something like this:
>
> 1. while in edit (or view) exclude all
> 2. then md to convert all
> 3. then do a compare *
>
> Now all the 'new' records will have a indicator in the record number field
> - I don't recall if you can access that but suspect you might be able to do
> so.
>
> /* REXX edit macro to get information about line changes  */
/*** trace ?r * \| *
*   (C) Copyright Robert AH Prins, 2001-2001   *

*  +--+--  *
* | Date   | By   | Changes  | *
* |+--+--| *
* ||  |  | *
* |+--+--| *
* | 2001-05-15 | RAHP | Initial version  | *
* |+--+--| *

* ELS is an edit macro that uses the 'line_status' command to display  *
* information about datalines in the member currently being edited.*

* Send questions, suggestions and/or bug reports to:   *
*  *
* robert.ah.pr...@gmail.com*

* This program is free software: you can redistribute it and/or*
* modify it under the terms of the GNU General Public License as   *
* published by the Free Software Foundation, either version 3 of   *
* the License, or (at your option) any later version.  *
*  *
* This program is distributed in the hope that it will be useful,  *
* but WITHOUT ANY WARRANTY; without even the implied warranty of   *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
*  *
* You should have received a copy of the GNU General Public License*
* along with this program. If not, see   *
***/
"isredit macro"
"ispexec control errors return"
"isredit (LS) = line_status .ELS"

if rc \= 0 then
  do
zedsmsg = ''
zedlmsg = 'Mark the line for which you want to get information ' ||,
  'with the label ''.ELS'''

"ispexec setmsg msg(ISRZ001)"
exit 1
  end

if substr(ls, 1, 1) = '1' then
  line = ' - Line is an original line'
else
  if substr(ls, 2, 1) = '1' then
line = ' - Line was created using the M(ove) line command'
  else
if substr(ls, 3, 1) = '1' then
  line = ' - Line was created using the C(opy) or R(epeat) ' ||,
 'line command'
else
  if substr(ls, 4, 1) = '1' then
line = ' - Line was created using the M(ove) primary ' ||,
   'or macro command'
  else
if substr(ls, 5, 1) = '1' then
  line = ' - Line was created using the C(opy) primary ' ||,
 'or macro command'
else
  if substr(ls, 6, 1) = '1' then
line = ' - Line was created using the TE line command'
  else
if substr(ls, 7, 1) = '1' then
  line = ' - Line was created using the I(nsert) ' ||,
 'line command'

"isredit line_before .ELS = noteline (LINE)"

if substr(ls, 8, 1) = '0' then
  do
line = ' - Line was not changed'
"isredit line_before .ELS = noteline (LINE)"
  end
else
  do
if substr(ls, 9, 1) = '1' then
  do
line = ' - Data on line was typed over'
"isredit line_before .ELS = noteline (LINE)"
  end

if substr(ls, 10, 1) = '1' then
  do
line = ' - Data on line was changed by the C(hange) or ' ||,
   'O(verlay) command'
"isredit line_before .ELS = noteline (LINE)"
  end

if substr(ls, 11, 1) = '1' then
  do
line = ' - Data on line was changed by the (, ((, ) or ' ||,
   ')) command'
"isredit line_before .ELS = noteline (LINE)"
  end

if substr(ls, 12, 1) = '1' then
  do
line = ' - Data on line was changed by the <, <<, > or ' ||,
 '>> command'
"isredit line_before .ELS = noteline (LINE)"
  end

if substr(ls, 13, 1) = '1' then
  do
line = ' - Data on line was changed by the TE, TF or ' ||,
   'TS command'

Re: [EXTERNAL] Re: ISPF usage question

2023-04-11 Thread Robert Prins
Create a REXX exec that displays the member in View, on my own system,
don't ask, I have about a dozen "Vx" commands that open various members (or
memberlists) in  my REXX, CNTL, PROC, PL/I, DATA, etc datasets if entered
with a (partial) membername, which would solve half of the problem. As for
referencing non-data lines, if "CONTROL REFRESH" actually updates the
display from within an edit macro, you could use the ZSCREENx variables to
capture the screen and parse that out yourself. (Never tried this myself,
and right now am too busy sewing a new hitchhiking bag to actually IPL the
system to give it a try)

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


On Mon, 10 Apr 2023 at 21:58, Pommier, Rex  wrote:

> Thanks, Bob,
>
> I have 1 of the developers in the habit of doing just that, but I can
> already hear the howls from some of the others when they're in edit instead
> of view and accidentally overlay their JCL with the cluttered up version.
> :-)  That's why I was asking if there was some way of getting the search
> capability from within edit w/o the possibility of saving the messages and
> notes as data.
>
> Rex
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Bob Bridges
> Sent: Monday, April 10, 2023 4:41 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: [EXTERNAL] Re: ISPF usage question
>
> Not what you're looking for, perhaps, but if I don't want to change my
> code accidentally I've managed to thoroughly habituate myself to using View
> rather than Edit.  Pretty much all the functions you can use in Edit also
> work in View, so I expect you'll still be able to see notes and msgs.  And
> you can make them data without worrying about saving them accidentally.
>
> There may be a more direct method; I don't want to forestall any better
> answers.
>
> ---
> Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
>
> /* If our religion is something objective, then we must never avert our
> eyes from those elements in it which seem puzzling or repellent; for it
> will be precisely the puzzling or the repellent which conceals what we do
> not yet know and need to know.  -CS Lewis, "The Weight of Glory" */
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Pommier, Rex
> Sent: Monday, April 10, 2023 17:26
>
> Yes, this is an ISPF question but I don't know of anybody in the z/OS
> world that doesn't use ISPF - and I don't know if the ISPF list (if it is
> still operational) has much traffic.  So here goes.
>
> Running certain ISPF macros and/or  commands, we get lines added to the
> ISPF edit screen with "=NOTE=" or "==MSG>" lines.  Is there a way to make
> these lines searchable without converting them to full data lines?  The
> specific instance I'm asking about is running a third party JCL checker,
> the lines output from the checker are typically notes or messages.  The
> nice thing about them being such, is they aren't really part of the member
> being edited/checked so if I save the member, these lines aren't included
> in the member being saved.  The drawback of them is that they aren't
> searchable, so for example, if I'm looking at output with a called PROC,
> and I want to search for a particular piece of substituted JCL, I can't do
> so (that I know of) unless I do a full "make data" on the member, which
> then makes me vulnerable to accidentally saving the member with all the
> notes and messages still there.
>

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


Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

2023-03-29 Thread Robert Prins
 On Wed, 29 Mar 2023 at 11:20, Seymour J Metz  wrote:

> "You can write FORTRAN in any language."
>
> Too be fair, much of what I take for granted in PL/I control structures
> was not in the original version, and IBM rejected the original SHARE
> requirement for a CASE statement.
>

But the SELECT statement that they added (before my time) later beats the
crap out of CASE in C & Pascal.

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: Virtual Storage Manager - LDA.

2023-03-08 Thread Robert Prins
Massimo,

Can you give some idea of the logic in the program?

You may be able to allocate the small areas inside an AREA variable (which
allows you to zap them with a simple "AREA=EMPTY()" statement, rather than
individual FREE statements, and the ALLOCNEXT() builtin generates very fast
inline code to allocate chunks of storage inside an AREA variable. By using
a sizeable AREA variable, you may prevent a lot of fragmentation of the
heap.

Look for https://ibm-z-software-portal.ideas.ibm.com/ideas/PLIVUE-I-61 &
https://ibm-z-software-portal.ideas.ibm.com/ideas/PLIVUE-I-207 I had
similar issues and requested these two enhancements/

Robert

On Wed, 8 Mar 2023 at 10:31, Massimo Biancucci  wrote:

> Thanks to everybody for your support.
> As usual I learnt a lot.
>
> The problem was (as usual business) between my seat and my keyboard.
> The PLI FREE statement was not consistent with ALLOCATE. The size of the
> area to be free was not correct.
> I thought it was not so important and I was wrong. The manual states it
> counts.
>
> Anyway my program suffers of HEAP fragmentation because of a mix of (lot)
> small areas that I often need to allocate and free and (few) big areas that
> I need to free and allocate rarely (root cause of the problem).
> To trigger the issue I ran the program with a small region size, hopefully
> with a bigger region I'll run ok.
> It seems there's no way to ask PLI/LE for heap defrag.
>
> Best regards.
> Max.
>
>
> Il giorno dom 5 mar 2023 alle ore 22:07 Seymour J Metz  ha
> scritto:
>
> > VSMLIST is certainly the best way to test what z/OS has allocated in
> large
> > blocks, but I believe that the OP would be better served by using PL/I
> > facilities to allocate and report the storage.
> >
> >
> > --
> > Shmuel (Seymour J.) Metz
> > http://mason.gmu.edu/~smetz3
> >
> > 
> > From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf
> > of Peter Relson [rel...@us.ibm.com]
> > Sent: Saturday, March 4, 2023 9:13 AM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: Virtual Storage Manager - LDA.
> >
> > Updates to the LDA are done synchronously with respect to the request.
> > Fields such as LDALOAL, LDAHIAL, LDAELOAL, LDAEHIAL might be of interest
> > depending on what you're doing (subpool and whether the virtual is above
> or
> > below 16M, in particular). I don't recall, but those might reflect
> > allocation of anything within a given page rather than indicating the
> exact
> > number of bytes allocated.
> >
> > If you want details from a program, use VSMLIST. Or take a dump and look
> > at one of the IPCS VSMDATA reports.
> > And GTF tracing of getmain/freemain/storage requests is available to you.
> >
> > 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
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: How long for an experiened z/OS sysprog to come up to speed on a new environment?

2023-02-21 Thread Robert Prins
On Tue, 21 Feb 2023 at 18:26, Wayne Bickerdike  wrote:

> I have a whole collection of handy ISPF panel driven utilities and use the
> excellent Frank Clarke IMBED utilities. This makes them extremely portable,
> everything in one piece of REXX code, no need to go looking for panels,
> messages and skeletons in random places.


You might also try EPANQ 
with some samples in E123 
and  which uses an embedded
load library (that's for obvious reasons not deleted at the end…)

I did know about FC's IMBED, not sure if it can handle LOAD libraries, I've
used EPANQ with load libraries converted to XMIT format, which requires a
manual "ENTER". but a not-kept experiment with a AMATERSE'd load library
did not.

Robert

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


Re: Contents of "Command" field on standard login screen - where to find it

2023-01-19 Thread Robert Prins

On 2023-01-19 14:45, Walt Farrell wrote:

On Thu, 19 Jan 2023 15:02:06 +, Robert Prins  
wrote:


And then you realise that the question should have been, "How do I get at
it (control-block chasing-wise) in REXX?".



At what time in the user's logon, and where is the REXX exec running?


The REXX exec is running from the parm-field logon procedure


And why are you trying to do this from REXX? What problem are you really
trying to solve?


Having the command field present causes problems for dynamic ISPF.

Anyway, I found an email from 2016 that I had moved off-line that gives the 
answer, it might be useful for others:


This is some code from the "ISP" exec that's used to sort-of implement another
way of dynamic ISPF on "that" system (aka FanDeZhi):

Here's the partial code:

  /*---+
Find out if the user has specified a command on the command field
of the LOGON panel - if they have this will be executed before any
pushed commands. If the user specified command starts ISPF, any
command pushed here will only be executed after ISPF is terminated.
In this case, i.e. when a user-defined command is detected, we may
assume that we are dealing with a smart user, one who can start
ISPF all by themselves, and just exit this exec.
  */
  parse source v1 v2 v3 v4 v5 v6 v7 v8 v9

  if v5 \= '?' then
do
  numeric digits 20

  psaold   = storage(224, 4)
  ascbasxb = storage(d2x(c2d(psaold) + 108), 4)
  asxblwa  = storage(d2x(c2d(ascbasxb) + 20), 4)
  lwalgcmd = storage(d2x(c2d(asxblwa) + 186), 80)

  if lwalgcmd \= '' then
return 0

  /*
Allow user to do some private pre-ISPF processing - if this
fails it's their problem and they will end up at the READY
prompt and will have to start ISPF manually.

The user is allowed to use either a REXX exec or a CLIST to do
the pre-ISPF processing.
  */
  uexit = userid()'.exec(#logon)'
  rc= sysdsn("'"uexit"'")
  if rc \= 'OK' then
do
  uexit = userid()'.clist(#logon)'
  rc= sysdsn("'"uexit"'")
end

  if rc = 'OK' then
push "ex '"uexit"'"
end

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: Contents of "Command" field on standard login screen - where to find it

2023-01-19 Thread Robert Prins
And then you realise that the question should have been, "How do I get at
it (control-block chasing-wise) in REXX?".

Apologies

Robert


On Thu, 19 Jan 2023 at 12:14, John McKown 
wrote:

> If you mean "where is this field stored", is is in the TSO segment in RACF.
> I don't know about other ESMs.
>
> On Thu, Jan 19, 2023, 06:09 Robert Prins 
> wrote:
>
> > Userid===>
> >
> > Password  ===>
> >
> > Procedure ===>
> >
> > Acct Nmbr ===>
> >
> > Size  ===> 1048576
> >
> > Perform   ===>
> >
> > Command   ===> ex 'prino.rahp.exec(prino)'   <=== ***This one***
> >
> > I used to know, and used it on the now defunct FanDeZhi system to allow
> > advanced users break out of the standard logon exec, but cannot find it
> any
> > more. Can anyone help me?
> >
> > Thanks,
> >
> > 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
>


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


Contents of "Command" field on standard login screen - where to find it

2023-01-19 Thread Robert Prins
Userid===>

Password  ===>

Procedure ===>

Acct Nmbr ===>

Size  ===> 1048576

Perform   ===>

Command   ===> ex 'prino.rahp.exec(prino)'   <=== ***This one***

I used to know, and used it on the now defunct FanDeZhi system to allow
advanced users break out of the standard logon exec, but cannot find it any
more. Can anyone help me?

Thanks,

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: Markup languages - RTF and bloooooooooooooooooooatware...

2022-12-23 Thread Robert Prins
On Fri, 23 Dec 2022 at 01:35, Bob Bridges  wrote:

> I thought about RTF.  It is a markup language, after all, and I was
> recently able to write a REXX program that converts plain text to RTF with
> formatting including lots of fonts and a two-column layout (the
> error-message part of a friend's product manual).  I may still attempt
> that.  But I have no idea yet how I'd handle internal and external links,
> text constants, legal-style paragraph numbering and a few other items.
> Maybe I'm just a coward; everything I used on that other project I found
> eventually in the RTF specs.
>
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Mike Schwab
> Sent: Thursday, December 22, 2022 20:03
>
> I used to save my documents in Rich Text Format .RTF.  All the markup
> codes are stored in text (notepad) and several editors that use it.
>

I've been creating RTF files outside of Word since forever, both on Windoze
and z/OS. None of the files are very sophisticated, mostly pre-formatted
tables with bold headings. The key for getting to grips with the
intricacies of RTF is to take a simple text file, save it as RTF and then
start hacking away, M$ puts amazing loads of completely irrelevant crap in
files, see .
Samples of the output files are @ <
https://prino.neocities.org/miscellaneous/liftrtf.rar> and I've also got
some REXX (and Pascal) code to convert UTF-8 to the required \u escape
sequences, where the z/OS code relies on some extra (comment) data in the
input file, which makes the conversion independent of the transfer method
(IND$FILE/ftp/WSA).It should also work on Windoze or Linux.

Drop me a line if you need it, and I'll put the html-ised lot on my website
next time I start my z/OS system, after 24/5/6 December, and talking about
those days,

Enjoy the holidays!

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: RLSE - A question about releasing unused tracks in a DASD dataset

2022-12-22 Thread Robert Prins
You might be able to do something similar to what I'm doing with the panel
displayed on "CUT DISPLAY" (ISRECUTL) in my "editclip" macro/command, i.e.
extract it on the fly, add modify it by adding a bit of panel-REXX and use
the modified panel via a LIBDEF. Source is @ <
https://prino.neocities.org/zOS/editclip.exec.html> If you succeed in
getting something that works, please share it!

Robert

On Thu, 22 Dec 2022 at 13:10, Seymour J Metz  wrote:

> I was thinking of LMINIT/LMOPEN/LMCLOSE; I don't know how to simulate a
> line command on an existing non-edit panel.
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf
> of Timothy Sipples [sipp...@sg.ibm.com]
> Sent: Thursday, December 22, 2022 1:42 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: RLSE - A question about releasing unused tracks in a DASD dataset
>
> Dave Gibney wrote:
> >The F line command from ISPF 3.4
>
> David Cole wrote:
> >Thanks Dave. I hadn't thought of that. Unfortunately, this has got to
> >run in the batch (either normally or within batch TSO), so issuing a
> >shortcut command interactively would not work for me.
>
> I think Seymour alluded to this already, but (for future reference at
> least) here's how you can drive ISPF commands from batch programs:
>
>
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fsupport%2Fpages%2Fhow-use-ispf-batch=05%7C01%7Csmetz3%40gmu.edu%7Cc05c622cc091436198fc08dae3e7b29a%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638072881537158478%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=SobxXToVIq1Bffqm8XgtM2xJGcJJkwFkRQAx8zdYJuo%3D=0
>
> — — — — —
> Timothy Sipples
> Senior Architect
> Digital Assets, Industry Solutions, and Cybersecurity
> IBM zSystems/LinuxONE, Asia-Pacific
> sipp...@sg.ibm.com
>
>
> --
> 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
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: Rexx function STORAGE with weird behavior on Netview

2022-12-19 Thread Robert Prins
That's why you will come across truckloads of

/***
* PTR & STG & SWAREQ:  *
*  *
* Utility procedures to access z/OS control blocks *
***/
ptr: return c2d(storage(d2x(arg(1)), arg(2)))
stg: return storage(d2x(arg(1)), arg(2))

swareq: procedure
  if right(c2x(arg(1)), 1) \= 'F' then  /* SWA=BELOW ?*/
return c2d(arg(1)) + 16 /* Yes, return SVA + 16   */

  sva  = c2d(arg(1))/* Convert to decimal */
  tcb  = ptr(540, 4)/* TCB PSATOLD*/
  jscb = ptr(tcb + 180, 4)  /* JSCB TCBJSCB   */
  qmpl = ptr(jscb + 244, 4) /* QMPL JSCBQMPI  */
  qmat = ptr(qmpl + 24, 4)  /* QMAT QMADD */
  do while sva > 65536
qmat = ptr(qmat + 12, 4)/* Next QMAT QMAT + 12*/
sva  = sva - 65536  /* 010006F -> 06F */
  end

return ptr(qmat + sva + 1) + 16

In many REXX routines...

Robert

On Mon, 19 Dec 2022 at 17:12, Rupert Reynolds  wrote:

> On Mon, 19 Dec 2022, 15:16 Paul Gorlinsky,  wrote:
>
> > Results from a zos 2.4 system
> >
> > /* */
> > Say c2x(Storage("10",8))
> > Say c2x(Storage(10+0,4))
> > Say c2x(Storage(10+4,4))
> > Z = c2x(Storage(10,4))
> > Say c2x(Storage(Z,8))
> >
> > Results:
> >
> > 00FD4EA8
> > 00FD4EA8
> > 
> > 021800FED054
> >
> > Any comments?
> >
> > --
>
> From memory*, if you want 8 bytes at CVTPTR then that last line should be
> say c2x(storage(c2x(Z),8)).
>
> I'm thinking the return from storage is raw data, so to use it as a pointer
> represented in hex for storage() you need c2x().
>
> *memory is old, and there are more hex and bin functions available now than
> there were back in the '90s.
>
> Roops
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: Question on writing PL/I to use EXEC PARM/PARMDD

2022-11-20 Thread Robert Prins
Oops fat finger, "CHAR(*) VAR"

On Sun, 20 Nov 2022 at 19:16, Robert Prins 
wrote:

> No it doesn't EPLI 5.3+ now gives a warning when you use "CHAR(100) VAR".
> You should nowadays code "CHAT(*) VAR"!
>
> RTFM!
>
> On Sun, 20 Nov 2022 at 16:59, Robin Vowels  wrote:
>
>> On 2022-11-21 02:29, Steve Smith wrote:
>> > Not necessarily.
>>
>> My example code (which preceded) comes straight from the manual,
>> and is required when main PROCEDURE statement is as I showed,
>> namely,
>> M: PROC (PARAM) OPTIONS (MAIN);
>> DECLARE PARAM CHARACTER(100) VARYING;
>>
>> >  Assuming using an LE compiler, the EXECOPTS compile
>> > option controls this.
>>
>> It doesn't.
>> Read the manual.
>> What I wrote applies then EXECOPS is not used.
>>
>> > On Sun, Nov 20, 2022 at 2:30 AM Robin Vowels 
>> > wrote:
>> >
>> >> The string passed to the main procedure needs to start with
>> >> a slash, because everything up to and including the slash
>> >> is omitted when passed.
>>
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>>
>
>
> --
> 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>
>


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


Re: Question on writing PL/I to use EXEC PARM/PARMDD

2022-11-20 Thread Robert Prins
No it doesn't EPLI 5.3+ now gives a warning when you use "CHAR(100) VAR".
You should nowadays code "CHAT(*) VAR"!

RTFM!

On Sun, 20 Nov 2022 at 16:59, Robin Vowels  wrote:

> On 2022-11-21 02:29, Steve Smith wrote:
> > Not necessarily.
>
> My example code (which preceded) comes straight from the manual,
> and is required when main PROCEDURE statement is as I showed,
> namely,
> M: PROC (PARAM) OPTIONS (MAIN);
> DECLARE PARAM CHARACTER(100) VARYING;
>
> >  Assuming using an LE compiler, the EXECOPTS compile
> > option controls this.
>
> It doesn't.
> Read the manual.
> What I wrote applies then EXECOPS is not used.
>
> > On Sun, Nov 20, 2022 at 2:30 AM Robin Vowels 
> > wrote:
> >
> >> The string passed to the main procedure needs to start with
> >> a slash, because everything up to and including the slash
> >> is omitted when passed.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: SPF/Pro crashes (was SPF/SE is available ...)

2022-11-04 Thread Robert Prins
I have IDA Pro, but Ghidra may also be an option. You're unlikely to ever
get the source back, but this year I have used IDA to reconstruct the
screwed up backups of old Pascal programs, which, given that they were
written in Turbo Pascal V3, a totally non-optimizing compiler, turned out
to be rather easy, but also pretty time-consuming. The FLIRT technology
used by IDA may help, and Hex-Rays also has a decompiler that builds C code
from the disassembly, although the generated code may be hard to
understand.

Robert

On Fri, 4 Nov 2022 at 16:54, Steve Thompson  wrote:

> Question: How difficult is it to reverse engineer it (SPF/PRO, or
> whatever)?
>
> Can it be "disassembled" back into some resemblance of the
> original source language or some other source that matches a
> currently supported compiler?
>
> If the answers to either of the above is yes, then the question
> of legality needs to be addressed. What constitutes, legally,
> abandonment such that the contracts (should they have a reverse
> engineering clause of some kind) would be void?
>
> Figured it was time to ask these questions.
>
> Regards,
> Steve Thompson
>
> On 11/4/22 12:16, Seymour J Metz wrote:
> > What broke my heart was that I will never be able to buy Tritus SPF 3.0,
> and the source code for 2.8.8 is unavailable. I'll stop using it when they
> pry it out of my cold, dead fingers.
> >
> > 
> > From: IBM Mainframe Discussion List  on
> behalf of David Cole 
> > Sent: Friday, November 4, 2022 11:55 AM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: SPF/Pro crashes (was SPF/SE is available ...)
> >
> > I am a die-hard SPF/pro user! There is no other PC based editor I've
> > tried that serves my needs as well as SPF/Pro. (I never did care for
> > SPF/SE, so Pro was where I settled.)
> >
> > Sadly, at the time it was orphaned by Command Technology, SPF/Pro
> > still had several bugs, including total crashes that sometimes even
> > damaged its global files to the point where it would refuse to restart!
> >
> > However, there was no other editor I tried that I liked as much as
> > SPF/Pro. So over the years, I have developed strategies that minimize
> > both the occurrence and consequences of the crashes, including an
> > easy recovery from the occasional destruction of the global files.
> >
> > Today, I still use SPF/Pro, and my productivity boost from it remains
> > quite high.
> >
> > Anyway, a few years ago, I took the time to write a comprehensive
> > in-house document with specific discussions of the kinds of problems
> > and failures that can occur, how to avoid or mitigate them and how to
> > recover when they do occur.
> >
> > In light of the news of the death of Mr. Tetivia, and the permanent
> > loss of the SPF/Pro source code, I have decided to release my "Notes,
> > Comments and Cautions about Using SPF/Pro" as a pdf.
> >
> > Temporarily, you can find the pdf at my personal website:
> > "dbcole.com/misc/usingspfpro.pdf".
> >
> > Be aware... dbcole.com is a bare bones, old school Apache accessed
> > website with no extra security on it. Eventually, we will be moving
> > the pdf to somewhere at colesoft.com. I'll post again when that happens.
> >
> >
> > I hope some of you will find this document useful.
> >
> >
> >
> > This is a sad loss.
> > David Cole
> > President
> > Colesoft
> >
> > PS: Michael Knigge, I have the binary for SPF/Professional 5.0.4. As
> > far as I know, this is the last published release of SPF/Pro. Do to
> > want/need it? -dbc
> >
> >
> >
> >
> >
> >
> > At 11/1/2022 03:01 PM, Schmitt, Michael wrote:
> >> [snip]
> >>
> >> I really don't know why CTC made the big break from SPF/Pro to
> >> SPF/SE. I still like SPF/Pro much better, but as I said, it crashes
> >> on newer Windows more than SPF/SE (which for version 3.5 also
> >> crashes).  SPF/Pro just now crashed on me with MEM_BAD_POINTER from
> >> SmartHeap Library.
> > --
> > 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
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: SPF/SE is available for free

2022-11-01 Thread Robert Prins
You might want to try DOSBox-X, 

Robert

On Tue, 1 Nov 2022 at 19:03, Schmitt, Michael 
wrote:

> The problem with SPF/PC in DOSBox isn't memory management, it was
> something about text modes. The problem was that DOSBox was created for
> running DOS games, not text applications like SPF/PC. I don't have DOSBox
> installed right now, but I /think/ the problem was that DOSBox running
> SPF/PC was slow, because it was treating the window as a graphic image
> instead of as text. So you lost the whole point of SPF/PC which was
> lighting fast response time.
>
> I think I've got my SPF history mixed up.
>
> SPF/Win was released. One version was from 1995.
>
>
> SPF/Professional was from 1996 or so. I think it was SPF/Win renamed, with
> integration with CA-Realia and Micro Focus Workbench. Plus it could run
> ISPF dialogs! That's the version I beta tested.
>
> I'm running SPF/Pro 5.0.Beta3 Dialog Developer Edition. Does this mean
> that CTC never released SPF/Pro?
>
> I have the files for SPF/Pro, and the original install media (micro floppy
> of course).
>
>
> SPF/SourceEdit was from 1997, and dropped REXX for having the macros in C.
> Which meant that you it isn't compatible with z/OS REXX macros at all. And
> it dropped the emulation of the ISPF dialog manager.
>
> I really don't know why CTC made the big break from SPF/Pro to SPF/SE. I
> still like SPF/Pro much better, but as I said, it crashes on newer Windows
> more than SPF/SE (which for version 3.5 also crashes).  SPF/Pro just now
> crashed on me with MEM_BAD_POINTER from SmartHeap Library.
>
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Schmitt, Michael
> Sent: Tuesday, November 1, 2022 10:56 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: SPF/SE is available for free
>
> Cool!
>
> I still use SPF/SE, in fact was using it just yesterday. But I have SPF/SE
> 3.5 build 614 so yours is a lot newer.
>
> CTC had different iterations of the product:
>
>  - SPF/PC: ran in DOS, but used special memory management to edit larger
> files. SPF/PC can still run under DOSBox but not very well
>
>  - SPF/Win: SPF for Windows. I think I beta tested it but it was never
> released?
>
>  - SPF/Professional: The first released SPF for Windows? Still runs but
> crashes sometimes
>
>  - SPF/SE
>
> In my opinion, the best SPF was SPF/Pro:
>
>  - Closer emulation of ISPF Edit than SPF/SE
>  - Runs REXX Edit Macros
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Michael Knigge
> Sent: Tuesday, November 1, 2022 9:22 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: SPF/SE is available for free
>
> FYI:
>
> I guess some of you guys use SPF/SE (SPF SourceEdit) from Command
> Technology. The editor was developed by Tim Tetivia, who unfortunately died
> in 2022 as a result of a corona infection. With some research and help from
> other SPF users (namely Peter aka Verizon), it was possible to contact
> Tim's wife Bonnie. She gave us permission to distribute the editor for free
> (sadly the source code is “lost” forever).
>
> On my GitHub (
> https://clicktime.symantec.com/15tStaqvHaWmhJEwKL5vF?h=k8C7L5Qfruh4B5XLObxAA9jbAcEwjGal4BxXv4aqqBA==https://clicktime.symantec.com/15uBY2TEUMBPKjdD7Gs5P?h=wCfUoHcHszVrATO96Ke5bYHZd6rw1qtnd_p7Srrdf4U==https://github.com/michaelknigge/spf-editor%29
> I made some releases available, together with product keys. I also provide
> a “professional” installer created with InnoSetup that installs SPF/SE
> together with some useful macros, file profiles and color schemes (a color
> scheme that makes SPF/SE look like ISPF).
>
> The original releases can be found here:
> https://clicktime.symantec.com/15tT4FEVCosxXBtnQStDV?h=a42samARJUjgBVHNnAkLJC62sUfwYr-r52P2hTOol2s==https://clicktime.symantec.com/15uBhgqoPaYa9dH4CPfNd?h=oEt5eCV4ImsXasjn5RS9LX6t0lpHrAtuLb67MZ-D1ek==https://github.com/michaelknigge/spf-editor/tree/main/binaries
>
> My installers can be found here:
> https://clicktime.symantec.com/15tSyR3CkCCN7F4rrtV4s?h=JETYbGTlNFfLh2RSQ0-u8IF48iTbmm4wmhcTxO4DALQ==https://clicktime.symantec.com/15uBcreWvxryjgT8eqGE1?h=s5UECHYEIYvYIKLamz_1q2dsbFSHwWlvBKGx2Noi7eU==https://github.com/michaelknigge/spf-editor/releases
>
>
> Bye,
> Michael
>
>
>
> Mit freundlichen Grüßen
>
> Michael Knigge
> Software Engineer
>
> SET GmbH
> Rühmkorffstraße 5
> 30163 Hannover
>
> Telefon: +49 511 330 998 23
> Fax: +49 511 330 998 65
> michael.kni...@set.de
>
> https://clicktime.symantec.com/15tT95RmfRZYw8ihx1HN7?h=7ofgJ9w9U3b-adSx3AxSaLomMG-qA7Pwc3Crx6mjfBM==https://clicktime.symantec.com/15uBnX35rCEAZa6yjx4XF?h=0_3vNBl_wuwArMnd3yB_OPkLgsYQwSCJMddoBoNGNu8==https://set.de
> Hinweise zum Datenschutz:
> https://clicktime.symantec.com/15tTDud483F9M5YdVZgWj?h=0L9dIKHdM3HSaykOpjBgBycNV_YAIf0fbanoNNOpkT4==https://clicktime.symantec.com/15uBsMENJoukyWvuHWTfs?h=zDuxYaHBfvX0CehSFQOu_Uq4hOxfnZH736IjWf3cwxA==https://set.de/datenschutz
>
> Handelsregister: Amtsgericht 

Re: MVS Update

2022-10-04 Thread Robert Prins
 Download and install Java 17 <https://jdk.java.net/17/> and JavaFX 17
<https://gluonhq.com/products/javafx/>, which are now separate downloads...

And

MacOS or Linux shell file

/path/to/jdk-17.jdk/Contents/Home/bin/java\
--module-path /path/to/javafx-sdk-17/lib  \
--add-modules=javafx.controls \
-Dfile.encoding=UTF-8 \
-jar /path/to/XmitApp.jar


On Tue, 4 Oct 2022 at 17:56, Paul Gilmartin <
042bfe9c879d-dmarc-requ...@listserv.ua.edu> wrote:

> On Tue, 4 Oct 2022 20:14:49 +, Robert Prins wrote:
>
> >Cross platform:
> >
> >https://github.com/dmolony/Xmit
> >
> Tantalizing, but I get:
>
> 765 $ java -jar XmitApp.jar
> Error: Could not find or load main class com.bytezone.xmit.gui.XmitApp
> Caused by: java.lang.NoClassDefFoundError: javafx/application/Application
> 763 $
> 763 $ uname -sv
> Darwin Darwin Kernel Version 21.6.0: Mon Aug 22 20:17:10 PDT 2022;
> root:xnu-8020.140.49~2/RELEASE_X86_64
>
> Where can I get the other piece(s)?  Is there something I need in
> CLASSPATH?
>
> --
> gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


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


Re: MVS Update

2022-10-04 Thread Robert Prins
Cross platform:

https://github.com/dmolony/Xmit

On Tue, 4 Oct 2022 at 15:07, esst...@juno.com  wrote:

> .
> .
>  I was able to obtain CBT830.zip
>  I extracted it, and it creates a xmi file.
>  However I can't open it  CBT830.xmi
>  I tried changing the suffix to doc and docx and txt
>  Is there anything special to open this file ?
>
> Paul
> -- Original Message --
> From: Sri h Kolusu 
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: MVS Update
> Date: Mon, 3 Oct 2022 02:59:02 +
>
> Paul,
>
> CBT Tape File 830 contains 926 articles (with their code, as an EBCDIC
> pds) from Xephon's MVS Update magazines, ranging from July 1987 thru
> December 1996.
>
>
> https://bit.listserv.ibm-main.narkive.com/q69XU7Zi/please-explore-cbt-tape-file-830-xephon-mvs-articles
>
> Here is the link to download File # 830 XEPHON MVS articles from 07/1987
> thru 12/1996 EBCDIC
>
> https://www.cbttape.org/ftp/cbt/CBT830.zip
>
> Checking CBT830 it has the following articles from October of 1987
>
> "B2D3A01C"-An on-line MVS/XA CSA monitor -October   1987
> "F863B8BD"-Determining VSAM buffer allocations   -October   1987
> "U75306DC"-Issuing operator commands through JCL -October   1987
> "TE2F0969"-IPOUPDTE  -October   1987
> "YFB389AC"-MVS authorisation -October   1987
> "XA332F6C"-Protecting catalogued tape files  -October   1987
> "Q0F37C0C"-TSO response time monitor -October   1987
> "C813F37C"-Verifying whether a job is currently active   -October   1987
> "C503910D"-Volume pooling using IGGPRE00 -October   1987
> "TD9355BC"-Writing a cross memory program-October   1987
>
> 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
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: COBOL - z/OS 2.1 vs 2.4

2022-10-03 Thread Robert Prins
https://www.fiverr.com/devoutoccamist/answer-your-questions-regarding-zos-and-the-mainframe-3a9c

And are you going to share the proceeds. Do you by any chance work for a
company that provides support to companies that have cancelled their
support contracts with IBM?

Just asking, I've opted not to sign a contract with them...

Robert

On Fri, 30 Sept 2022 at 13:24, Crusty Old Guy 
wrote:

> We have a client with loadmods that are ancient.  Some are very ancient.
> All of those loadmods are currently running under z/OS 2.1.
> Under z/OS 2.4, some of these loadmods are abending.  Others are creating
> incorrect output.
>
> What could account for this behavior?  What has changed between 2.1 & 2.4?
>
> Regards,
> Crusty Old Guy
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: Net nanny voodoo [was: RE: Assembler courses]

2022-09-18 Thread Robert Prins
And ahem, human (self-censored) is not trimming the whole fluckin' mess
when you reply to posts.

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


And it's not even Friday

2022-07-26 Thread Robert Prins
https://ibmmainframes.com/viewtopic.php?t=68675

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


Re: REXX outside TSO

2022-06-30 Thread Robert Prins
Brainfcuk? Better look at this <
http://www.99-bottles-of-beer.net/language-malbolge-995.html>

On Thu, 30 Jun 2022, 20:49 Paul Gilmartin, <
042bfe9c879d-dmarc-requ...@listserv.ua.edu> wrote:

> On Wed, 29 Jun 2022 19:44:15 -0400, Bob Bridges  wrote:
>
> >I've heard the word "awk", but never been exposed to it.  I had the
> impression, though, that I've heard of it in the context of Unix; am I
> mistaken?
> >
> Somewhere in this tangle of threads someone mentioned  BASIC for brevity.
> I converted
> the BASIC sample to Rexx and posted it.  It was 10% shorter.
>
> Converting to awk:
> BEGIN {
> for ( Bottle = 100; Bottle>=1; Bottle -- ) {
>  print( Bottle " bottles of beer on the wall, " Bottle " bottles of beer" )
>  print( "Take one down and pass it around, " Bottle-1 " bottles of beer on
> the wall" )
>  }; exit
> }
> Very similar to the BASIC and Rexx, and very slightly longer than BASIC.
>
> But it's a wretched misuse of awk, ignoring not only regex but especially
> the
> data-driven character of awk.  It's comparable to solving the problem
> using DFSORT.  I'm surprised no one has proposed a DFSORT solution.
>
> or: 
>
> --
> 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: Old PL/I Optimizing compiler - COUNT & FLOW options

2022-06-22 Thread Robert Prins
The former. Never tried running it with the LE datasets.

Robert

On Tue, 21 Jun 2022 at 16:13, Allan Staller <
0387911dea17-dmarc-requ...@listserv.ua.edu> wrote:

> Classification: Confidential
>
> SYS1.IBM* ? or the LE VERSION SYS1.CEERUN1/2
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Robert Prins
> Sent: Saturday, June 18, 2022 10:52 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Old PL/I Optimizing compiler - COUNT & FLOW options
>
> [CAUTION: This Email is from outside the Organization. Unless you trust
> the sender, Don't click links or open attachments as it may be a Phishing
> email, which can steal your Information and compromise your Computer.]
>
>  Hi all,
>
> Does anyone know which library modules are responsible for the
> implementation of these two compiler options, and more precisely, for the
> reporting of statement counts, as I need to (try to) patch the latter,
> given that it treats negative counts as zero, and I now have a program
> where four of the counts have turned negative, because the statements are
> executed more than 2^31-1 times.
>
> Robert
> --
> Robert AH Prins
> robert(a)prino(d)org
> The hitchhiking grandfather -
> https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fprino.neocities.org%2Fdata=05%7C01%7Callan.staller%40HCL.COM%7C8b94cc89d74646896d8108da512988a7%7C189de737c93a4f5a8b686f4ca9941912%7C0%7C0%7C637911536139011183%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7Csdata=xERlwjiqImZJxLGf3O9YnMHmi4jMLEihCmRC3q12p0Y%3Dreserved=0
> Some REXX code for use on z/OS -
>
> https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fprino.neocities.org%2FzOS%2FzOS-Tools.htmldata=05%7C01%7Callan.staller%40HCL.COM%7C8b94cc89d74646896d8108da512988a7%7C189de737c93a4f5a8b686f4ca9941912%7C0%7C0%7C637911536139011183%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7Csdata=MQIeqKuwQYogpQrTxgrmGpEhHoIjK%2Fvoe8%2FWbgrn%2FyE%3Dreserved=0
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email
> to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> ::DISCLAIMER::
> 
> The contents of this e-mail and any attachment(s) are confidential and
> intended for the named recipient(s) only. E-mail transmission is not
> guaranteed to be secure or error-free as information could be intercepted,
> corrupted, lost, destroyed, arrive late or incomplete, or may contain
> viruses in transmission. The e mail and its contents (with or without
> referred errors) shall therefore not attach any liability on the originator
> or HCL or its affiliates. Views or opinions, if any, presented in this
> email are solely those of the author and may not necessarily reflect the
> views or opinions of HCL or its affiliates. Any form of reproduction,
> dissemination, copying, disclosure, modification, distribution and / or
> publication of this message without the prior written consent of authorized
> representative of HCL is strictly prohibited. If you have received this
> email in error please delete it and notify the sender immediately. Before
> opening any email and/or attachments, please check them for viruses and
> other defects.
> 
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


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


Re: Old PL/I Optimizing compiler - COUNT & FLOW options

2022-06-19 Thread Robert Prins
On Sun, 19 Jun 2022 at 18:42, Seymour J Metz  wrote:

> Well, I would normally advise using a zapmaker, but for something that
> trivial I would just code my own AMASPZAP input.
>

XMIT/RECEIVE also lets you edit load modules, and that's what I used to
change the BLKSIZE of IND$FILE from 6233 to 27998. ;)

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: Old PL/I Optimizing compiler - COUNT & FLOW options

2022-06-19 Thread Robert Prins
I'm using, don't ask, the V2.3.0 Optimizing Compiler on, don't ask, z/OS
1.10 ADCD running under, OK enough.

I've managed to find out that the library routine to print the COUNT table
is IBMFEFCA, by doing a SRCHFOR for "GRAND", and by copying it into my
ISPPLIB, I've actually got a disassembly via the DISASM function of ISRDDN.
Now I just need to know how many and which of the, I guess, three BNP
instructions need to be changed into a BNZ, and yes, even a complete
assembler noob like me can do that without the usual tools. If anyone
(privately) likes to help me, feel free to contact me in private.

Robert

On Sun, 19 Jun 2022 at 17:42, Seymour J Metz  wrote:

> Is it the same in Version 2? Which is the OP using?
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf
> of Tony Harminc [t...@harminc.net]
> Sent: Saturday, June 18, 2022 2:08 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Old PL/I Optimizing compiler - COUNT & FLOW options
>
> On Sat, 18 Jun 2022 at 08:53, Robert Prins 
> wrote:
>
> > Does anyone know which library modules are responsible for the
> > implementation of these two compiler options, and more precisely, for the
> > reporting of statement counts, as I need to (try to) patch the latter,
> > given that it treats negative counts as zero, and I now have a program
> > where four of the counts have turned negative, because the statements are
> > executed more than 2^31-1 times.
>
> According to
> http://secure-web.cisco.com/1qol48PvmvwyvU-Vi1f7aGKmksvxHw8bnqFB5_TLToKQnvbKn6dAiJSiQY-XIfTaR5iolC3qT6N24hVsQTjfUYpjQqIQJUj9D3jynWCjL47DklWz3F5zO7O5bfrQ0cMkjz-hGrYgt7xFczrNBlBQg7VmH3tuTH9YMuqS1nHCbnTRZ8w2G9QB3z4nG1Nsrusmooh61wJEzajvzH-msvOqRt8ha9ZJ1eFr8Fk-VMWJbkfyG8SknBDJ4prdn9FUTLtDgeBBC7kYmgnO2oa3-Zc_dFLHTjAhBbQXxlSvQ_eLbPIpMB8IthdMY6Hh0MZGO-N0nCbXu6xFZa8cqs6k9qaY6ZeaFiohW75pNe_BAi_QZiqcgCdnkNv2Xop9qWTwgWU4XiFv-4AVbQQ7eZkcWrGrpGG-0JlI4sUz3BegwUwqzneiIj5-y2B4Qw43kY3SdanXN/http%3A%2F%2Fbitsavers.org%2Fpdf%2Fibm%2F370%2Fpli%2FSC33-0025-3_PLI_Optimizing_Compiler_Execution_Logic_Sep85.pdf
> you want module IBMBEFL.
>
> In that book, look at page 141 onwards for the description of how
> things work, and for the Flow data area, page 369. I'm not seeing
> right away where the Count info is stored, but I'm sure you can figure
> it out from there...
>
> Tony H.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


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


Re: Old PL/I Optimizing compiler - COUNT & FLOW options

2022-06-18 Thread Robert Prins
I could simply add a few "fixed dec (15)" counters into the code, and turn
the do-while loop into the discrete one from the manuals. The whole
exercise is of course a bit silly, as I knew that was coming for years, and
meeting someone from the Dominican Republic finally made it happen.

And I'm sure that leaves all of you very puzzled. ;)

I'll explain it later.

Robert

On Sat, 18 Jun 2022 at 19:18, Bob Bridges  wrote:

> I wouldn't for the world want to discourage anyone who wants to try
> patching compiled code, just for the fun of it.  If you want to, go for
> it.  But wouldn't it be simpler just to do the calculation?
>
> Or are you wondering HOW MANY TIMES the counter cycled?
>
> ---
> Bob Bridges, robhbrid...@gmail.com, cell 336 382-7313
>
> /* The best principles may be espoused by crass hypocrites (and they
> usually are).  But if we consider a principle refuted every time its
> advocates fail to live up to it, we'll soon be left with no principles at
> all.  -Joseph Sobran */
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Robert Prins
> Sent: Saturday, June 18, 2022 11:52
>
> Does anyone know which library modules are responsible for the
> implementation of these two compiler options, and more precisely, for the
> reporting of statement counts, as I need to (try to) patch the latter,
> given that it treats negative counts as zero, and I now have a program
> where four of the counts have turned negative, because the statements are
> executed more than 2^31-1 times.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


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


Re: Old PL/I Optimizing compiler - COUNT & FLOW options

2022-06-18 Thread Robert Prins
Thanks, that might help. I've found that for the 2.3.0compiler, the table
is printed via "ibmfefca", got the "brilliant" idie of looking for "grand
total" in the library routines. Haven't yet figured out how to disassemble
it, and even if I could, I'm not sure what I would be looking for, i.e. the
instruction that skips the printing of zero, or, as negative counts come
out as zero, zeror-or-negative counts, if anyone here could help with that,
I'd be grateful.

Robert

On Sat, 18 Jun 2022 at 18:08, Tony Harminc  wrote:

> On Sat, 18 Jun 2022 at 08:53, Robert Prins 
> wrote:
>
> > Does anyone know which library modules are responsible for the
> > implementation of these two compiler options, and more precisely, for the
> > reporting of statement counts, as I need to (try to) patch the latter,
> > given that it treats negative counts as zero, and I now have a program
> > where four of the counts have turned negative, because the statements are
> > executed more than 2^31-1 times.
>
> According to
> http://bitsavers.org/pdf/ibm/370/pli/SC33-0025-3_PLI_Optimizing_Compiler_Execution_Logic_Sep85.pdf
> you want module IBMBEFL.
>
> In that book, look at page 141 onwards for the description of how
> things work, and for the Flow data area, page 369. I'm not seeing
> right away where the Count info is stored, but I'm sure you can figure
> it out from there...
>
> Tony H.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


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


Old PL/I Optimizing compiler - COUNT & FLOW options

2022-06-18 Thread Robert Prins
 Hi all,

Does anyone know which library modules are responsible for the
implementation of these two compiler options, and more precisely, for the
reporting of statement counts, as I need to (try to) patch the latter,
given that it treats negative counts as zero, and I now have a program
where four of the counts have turned negative, because the statements are
executed more than 2^31-1 times.

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: IBM Deceived Investors

2022-04-07 Thread Robert Prins
Reminds me of 

Robert

On Thu, 7 Apr 2022 at 11:56, Bill Johnson <
0047540adefe-dmarc-requ...@listserv.ua.edu> wrote:

> Non-strategic mainframe business! ROTFLMAO.
>
>
> Sent from Yahoo Mail for iPhone
>
>
> On Thursday, April 7, 2022, 6:54 AM, Lionel B Dyck 
> wrote:
>
>
> https://www.theregister.com/2022/04/07/ibm_securities_lawsuit/?fbclid=IwAR3QTGgN3SOMdbXBch5XQ4b95pfvugdJPSRpEto-6P0u33_mWAy0RPpt2nY
>
>
> Lionel B. Dyck <
> Website: www.lbdsoftware.com
> Sent from my iPhone 12 Pro
>
> Worry more about your character than your reputation.  Character is what
> you are, reputation merely what others think you are." - John Wooden
> --
> 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
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: PL/I

2022-03-30 Thread Robert Prins
On Wed, 30 Mar 2022 at 16:26, Seymour J Metz  wrote:

> Yes, range checking carries a performance penalty, and there have been
> arguments in the past about performance versus safety. I'm in the camp that
> believes that they should be enabled in any program where incorrect output
> would cause a problem or where there are security issues.


While working at a client in the late 1990'ies development compiles used
all checking prefixes, production compiles used SUBSCRIPTRANGE, and that
was occasionally triggered in CICS, users always manage to outsmart the
most fool-proof code. Of course in PL/I you should never ever used
hardcoded array bounds in DO-loops, but rather the "LBOUND()", "HBOUND()"
and "DIM()" builtins!

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: [EXTERNAL] Re: Holy Moly ...

2022-02-16 Thread Robert Prins
On Wed, 16 Feb 2022 at 15:04, Pommier, Rex  wrote:

> Would you two take your spitting match someplace off IBM-main?  The rest
> of us don't want to hear it.
>

And can you stop adding the whole fecking

discussion to your 1-line post?
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: ISPF Table Display attribute

2022-01-27 Thread Robert Prins
On Thu, 27 Jan 2022 at 17:02, John McKown 
wrote:

> Ah, REXX panel logic. I think I will read up on that. And hope it is in
> z/OS 1.12 version of ISPF.
>

Panel REXX was already available in 1.10.

On Thu, Jan 27, 2022, 07:46 Carmen Vitullo  wrote:
>
> > Mike, wouldn't that control the field to be always highlighted? always
> > reverse?
> >
> > I think the .ATTR along with some panel rexx logic can alter the field
> > display based on what is being displayed in a dynamic area ?
> >
> >
> > Carmen
> >
> > On 1/27/2022 7:37 AM, Mike Shaw wrote:
> > > John,
> > >
> > > The .ATTR control variable in the panel definition can be used to
> > > dynamically change the display attribute of a field in a panel.
> > > body or area section. One of the things it can be set to is  the name
> of
> > a
> > > dialog variable, preceded by an ampersand. The
> > > variable must contain the name of an input or output field that occurs
> in
> > > the panel body, .CURSOR, or a blank.  Examples:
> > >
> > > .ATTR (.CURSOR) = COLOR(YELLOW) HILITE(REVERSE)
> > > .ATTR ()= HILITE()
> > > .ATTR ()= PAS(ON)
> > >
> > > Mike Shaw
> > > MVS/QuickRef Support Group
> > > Chicago-Soft, Ltd.
> > >
> > >
> > > On Thu, Jan 27, 2022 at 8:23 AM John McKown<
> john.archie.mck...@gmail.com
> > >
> > > wrote:
> > >
> > >> I am writing an ISPF application in REXX which does some RACF work.
> One
> > >> function is to display the RACF ID of users with specific characters
> in
> > >> their NAME field. Mainly because user managers ask us to do something,
> > like
> > >> REVOKE, but don't know their ID. I have this coded already. But what
> I'd
> > >> like to do is change the INTENS to either LOW or HIGH depending
> whether
> > >> they are REVOKED or not in the list of IDs which match the search
> > criteria.
> > >> I don't see a way to do this. I think it would be helpful.
> > >>
> > >> Any ideas? Oh, yes, as always, we a very back level at release 1.12 of
> > >> z/OS. We are still "going away this year" as we have for about the
> last
> > 10.
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: Tracking CLIST/Exec Usage

2022-01-27 Thread Robert Prins
On Thu, 27 Jan 2022 at 16:31, David Spiegel  wrote:

> Is it possible for an Exec/CLIST to determine from which Exec/CLIST it
> was invoked?
>


> If yes, please specify how.
>



Unformatted for some reason, so you'll have to add the line-breaks yourself.

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


What not to do on a z/OS system...

2022-01-18 Thread Robert Prins
OK, it's not the silly season, but have you ever used your employers
equipment to do something silly? And are not afraid to admit it?

Well, I have in the early 1990'ies, and I actually got away with it,
without losing my job.

And talking about jobs, if anyone of you know of any companies looking for
someone with 36+ years of PL/I, and a bit less Db2 and CICS, feel free to
drop me a line.

So what did I do? Let's go back a few years…


Setting the record straight


Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: COBOL V6 question

2022-01-16 Thread Robert Prins
On Sun, 16 Jan 2022 at 15:00, Seymour J Metz  wrote:

> Has IBM fixed the code generation for unaligned bit strings, e.g., in SMF
> records, to generate inline code instead of library calls?
>

I'd have to check, but that was definitely one of the worst "features" of
OS PL/I, while working at KLM in the Netherlands in the mid-1990'ies, I
reduced the CPU usage of a CRC routine, as measured with Strobe, by 99.7%
by moving the unaligned bitstring to an aligned one, doing the calculation
on that one, and then moving the result back to the unaligned one.

I'm also responsible for the

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

on page 316 of the "Enterprise PL/I for z/OS: Enterprise PL/I for z/OS
Programming Guide" (GI13-4536-02) manual, the second which Peter Elderon
almost literally copied from an email I sent him in 1996, and two RFE's
that deal with allocating storage.,
<https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=31632>
and
<
https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=100073>
that can
save a lot of CPU when allocating complex structures (linked lists, tree's
etc),as the first allows you zap an entire list/tree/etc with an
"area=empty();" statement, which translates to just a handful simple
instructions, the second (a new builtin) makes allocating data inside an
area very fast.

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>



> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf
> of Robert Prins [robert.ah.pr...@gmail.com]
> Sent: Saturday, January 15, 2022 3:04 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: COBOL V6 question
>
> This is something I tend to disagree with when it comes to Enterprise PL/I,
> I've found plenty of instances where the code generated by the old OS
> compiler is shorter (instructions and bytes) than the code generated by
> Enterprise PL/I, and contains a full subset of the instructions generated
> by the OS PL/I compiler - and nobody is going to tell me that executing
> extra instructions will make the old ones executing faster, and even it
> they do, there's also the fact that caching more will evict more...
>
> Robert
>
> On Sat, 15 Jan 2022 at 18:35, Charles Mills  wrote:
>
> > Very specifically with COBOL 6 (and COBOL 5, which was kind of a beta of
> > COBOL 6 ) IBM has greatly improved the runtime code optimization. That
> > is all goodness, but there is a price to pay, and the price is greater
> > compile CPU and wall clock times, especially with OPT values other than
> > zero.
> >
> > Charles
> >
> >
> > -Original Message-
> > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> > Behalf Of Robert Prins
> > Sent: Saturday, January 15, 2022 5:14 AM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: COBOL V6 question
> >
> > Unable to test now, but I think we observed the same thing many years ago
> > when moving from OS PL/I to Enterprise PL/I, and on the now defunct
> > FanDeZhi system (z/OS 1.6 running under Hercules), where both compilers
> > were "installed", it was definitely the case that EPLI compiles used to
> > take significantly longer than OS PLI compiles.
> >
> > On Fri, 14 Jan 2022 at 16:39, Charles Mills  wrote:
> >
> > > White paper about the dramatic increase in compile CPU times here:
>
>
>

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


Re: COBOL V6 question

2022-01-15 Thread Robert Prins
This is something I tend to disagree with when it comes to Enterprise PL/I,
I've found plenty of instances where the code generated by the old OS
compiler is shorter (instructions and bytes) than the code generated by
Enterprise PL/I, and contains a full subset of the instructions generated
by the OS PL/I compiler - and nobody is going to tell me that executing
extra instructions will make the old ones executing faster, and even it
they do, there's also the fact that caching more will evict more...

Robert

On Sat, 15 Jan 2022 at 18:35, Charles Mills  wrote:

> Very specifically with COBOL 6 (and COBOL 5, which was kind of a beta of
> COBOL 6 ) IBM has greatly improved the runtime code optimization. That
> is all goodness, but there is a price to pay, and the price is greater
> compile CPU and wall clock times, especially with OPT values other than
> zero.
>
> Charles
>
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Robert Prins
> Sent: Saturday, January 15, 2022 5:14 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: COBOL V6 question
>
> Unable to test now, but I think we observed the same thing many years ago
> when moving from OS PL/I to Enterprise PL/I, and on the now defunct
> FanDeZhi system (z/OS 1.6 running under Hercules), where both compilers
> were "installed", it was definitely the case that EPLI compiles used to
> take significantly longer than OS PLI compiles.
>
> On Fri, 14 Jan 2022 at 16:39, Charles Mills  wrote:
>
> > White paper about the dramatic increase in compile CPU times here:
> >
> > https://cloudcompiling.com/whitepaper2/
> >
> > Charles
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


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


Re: COBOL V6 question

2022-01-15 Thread Robert Prins
Unable to test now, but I think we observed the same thing many years ago
when moving from OS PL/I to Enterprise PL/I, and on the now defunct
FanDeZhi system (z/OS 1.6 running under Hercules), where both compilers
were "installed", it was definitely the case that EPLI compiles used to
take significantly longer than OS PLI compiles.

On Fri, 14 Jan 2022 at 16:39, Charles Mills  wrote:

> White paper about the dramatic increase in compile CPU times here:
>
> https://cloudcompiling.com/whitepaper2/
>
> Charles
>
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Steve Thompson
> Sent: Wednesday, January 12, 2022 1:07 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: COBOL V6 question
>
> Uh, I was talking about a small zBox being used to do nothing but
> compiles. Not a non-zArch platform. I know of a company that
> provides this service. You off-load your compiles to them which
> takes MSU burn off your system to their box -- can cut your cost
> of compiles.
>
> Especially if you take COBOL 6.x off-prem to such a box, since it
> EATS MSUs. Or so it has in my experience.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: ISPF, How to insert text to the first input field in the panel ?

2022-01-06 Thread Robert Prins
On Thu, 6 Jan 2022 at 09:40, Willy Jensen 
wrote:

> Long thread, not sure if this has been mentioned before.
> The first input (or output field for that matter) will have a variable
> name associated with it, that is the variable name you use in the
> assignment. Not X.
>

At long last a sensible answer...

So unless the input field on all panels has the same name, you have to
create a bug select statement to select the proper field based on the name
of the panel, or, as I do in my "EDITCLIP" macro <
https://prino.neocities.org/zOS/editclip.exec.html>, you'll have to read
the actual panel and potentially modify it on-the-fly.

Then again, you still haven't answered the fundamental question: WHY DO YOU
WANT TO DO THIS?

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: conditional JCL - Reinvent the wheel?

2021-11-14 Thread Robert Prins
The symbolic parameter is tested against a valid relational-expression
keyword, and I'm not using some "IF THIS= THEN" expression!

Maybe someone from IBM will chip in to once and for all clarify this,
update the manual, either way, and tell us who is wrong...

Robert

On Sun, 14 Nov 2021 at 14:20, Paul Gilmartin <
000433f07816-dmarc-requ...@listserv.ua.edu> wrote:

> On Sun, 14 Nov 2021 10:19:12 +, Robert Prins wrote:
> >
> >> On Sat, 13 Nov 2021 13:54:15 -0600, Robert Prins wrote:
> >>> Replying via the website, so no context, apologies
> >>>
> (The upside of that was it got the timestamp right.)
> >>...
> >>> //SET LI=4095 (skip link)
> >>> //*SET LI=0 (link if compile is OK)
> >>> //*
> >>> //IFLINKIF RC <= 4 & RC >=  THEN
> >>>
> >> Your use of "" is not "intended or supported" syntax.
> >> The JCL Ref. says:
> >>  • You can specify symbolic parameters on IF/THEN/ELSE/ENDIF
> >>statements provided that they resolve to one of the supported
> >>relational-expression keywords. Any other symbolic parameters,
> >>even if accepted by the system, are not intended or supported.
> >>Refer to “Relational-expression keywords” on page 366.
> >>
> >> Neither "0" nor "4095" is among the listed “Relational-expression
> >> keywords”
> >
> >It's fully supported, it has always been possible to use symbols for
> >return-codes, and for IF-THEN(_ELSE) at least since 1997, when I wrote
> the edit
> >macros to convert and parametrize production JCL using "COND" for our Y2K
> and
> >euro work.
> >
> If you disagree with the clear statement in the book ( SA23-1385-50),
> "not ... supported", submit an RCF.
>
> Let us know the resolution.
>
> -- gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


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


Re: conditional JCL - Reinvent the wheel?

2021-11-14 Thread Robert Prins

On 2021-11-13 21:05, Paul Gilmartin wrote:

On Sat, 13 Nov 2021 13:54:15 -0600, Robert Prins wrote:


Replying via the website, so no context, apologies


Replying via the website, with context from clicking on the quotation
mark at the upper left of the text composition box, no apologies.


Use "impossible to match" if-then logic, this is what I use in one particular 
job to just compile:

//SET LI=4095 (skip link)
//*SET LI=0 (link if compile is OK)
//*
//IFLINKIF RC <= 4 & RC >=  THEN


Your use of "" is not "intended or supported" syntax.
The JCL Ref. says:
 • You can specify symbolic parameters on IF/THEN/ELSE/ENDIF
   statements provided that they resolve to one of the supported
   relational-expression keywords. Any other symbolic parameters,
   even if accepted by the system, are not intended or supported.
   Refer to “Relational-expression keywords” on page 366.

Neither "0" nor "4095" is among the listed “Relational-expression
keywords”


It's fully supported, it has always been possible to use symbols for 
return-codes, and for IF-THEN(_ELSE) at least since 1997, when I wrote the edit 
macros to convert and parametrize production JCL using "COND" for our Y2K and 
euro work.


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: conditional JCL - Reinvent the wheel?

2021-11-13 Thread Robert Prins
Replying via the website, so no context, apologies

Use "impossible to match" if-then logic, this is what I use in one particular 
job to just compile:

//SET LI=4095 (skip link)
//*SET LI=0 (link if compile is OK)
//*
//IFLINKIF RC <= 4 & RC >=  THEN

Robert
-- 
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: UPDTE - CBTTAPE 093

2021-08-30 Thread Robert Prins

On 2021-08-30 15:49, Paul Gilmartin wrote:

On Mon, 30 Aug 2021 10:34:40 +, Robert Prins wrote:>


I'm trying to load a file uploaded from Windows to a PDS
(RECFM=VB,LRECL=259) and this works without problems. However, the PC
uploaded file contains records that are longer than 255 characters for some
members. They seem to be loaded correctly,  ...


FSVO "correctly".


... SuperC hangs, ...


That behavior should be APARable.  SuperC should have better response to
even very bad input data.


Absolutely, but that's not something I can do, running the code on an ADCD 
system.


And CBTTAPE 093 should detect and report the input data inconsistent with
output attributes.


In an ideal world it should, but the program was more than likely written to 
fulfill a specific task, where the input data was always correct. You can try to 
make your code idiot proof, but there will always be bigger idiots...


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: UPDTE - CBTTAPE 093

2021-08-30 Thread Robert Prins

On 2021-08-30 13:50, Farley, Peter x23353 wrote:

Before I have a look at your files, a question:  What FTP client did you use
to upload the data?  When I use the Windows 10 ftp client to upload data where
one or more records exceed the defined dataset LRECL, the ftp client complains
and aborts the upload (or maybe that is the ftp server at the z/OS end doing the
abort, I am not sure which).

>
> I am curious how you managed to ftp upload data with too-long records in the
> first place.

No ftp, IND$file. Max LRECL of the file on the Windows side is (currently) 296 
bytes, it's uploaded to a VB(1028) dataset, that's subsequently loaded using 
UPDTE to a VB(259) PDS, which is then compared to the z/OS generated data which 
is stored in a set of, for "historical" reasons, FB(121) datasets.


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


UPDTE - CBTTAPE 093

2021-08-30 Thread Robert Prins
I've been using this program for quite a few years, found a problem that's
been corrected, but today I seem to have found another issue, and I hope
someone can tell me if its a bug or something else.

I'm trying to load a file uploaded from Windows to a PDS
(RECFM=VB,LRECL=259) and this works without problems. However, the PC
uploaded file contains records that are longer than 255 characters for some
members. They seem to be loaded correctly, I can Edit/View/Browse them.
However, once SuperC hits these members, either as a consequence of a
select '*" or as a select of T*W*99 SuperC hangs, not just when invoked
online from 3,.13, but also when run in batch.

The hang even occurs when I'm comparing a member against itself.

I'm clueless, so I've created

https://prino.neocities.org/temp/pc.h-hx.xmit
https://prino.neocities.org/temp/v496.file093.xmit

https://prino.neocities.org/temp/h-h.zall.xmit
https://prino.neocities.org/temp/h-h.cntl.xmit

1) The PDS containing four members that hang SuperC
2) The original version of UPDTE I'm using
3) The PC uploaded file containing the four members in 1)
4) The JCL to load the PDS with the PC uploaded data - need to change a
"vol=ref"

All four files require less than one track.

If anyone would like to have a look, I'd be grateful.

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: How do we post files here?

2021-08-25 Thread Robert Prins

On 2021-08-24 20:23, Donald Johnson Jr. wrote:

Hey fans! I have a couple example files I want to post here, but don't want
to  lose the formatting... one of them is a notoriously long 250-line Rexx 
program
:) and the other is a small JCL file.


Keep the LRECL to 72 characters or less, and end every line with a hard cr/lf.

Better, get a free account on neocities.org, or any other provider of (free) 
webspace, and create a few simple pages, feel free to copy and adapt my z/OS 
pages below.


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: Programs that work right the first time.

2021-08-24 Thread Robert Prins

On 2021-08-23 22:00, Seymour J Metz wrote:

I'm looking at a home-grown REXX script that is 1690 lines long, and in some
REXX circles it would be considered tiny. It does use external utilities, but is
by no means just glue. I'd bet that there are edit macros orders of magnitude
larger.


Two non trivial ones? A 6,423 line one that converts plain text into M$ Word 
RTF, and a 3,174 line one that translates JCL into REXX, which was used to make 
it easy to run (PL/I) programs with Inspect, and later PLITEST.


The EHIx'es accessible on my site are, somewhat remarkable, not that big, and 
most contain a long list of keywords. The, as yet unpublished, Formatted Browse 
and Formatted Edit (poor man's substitutes for filemanager?) come in at well 
under 2,000 lines.


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


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Bob 
Bridges [robhbrid...@gmail.com]
Sent: Monday, August 23, 2021 1:19 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Programs that work right the first time.

Actually, that's not a bad point; I didn't think of it when I posted
originally (a post I'm sorely tempted to regret now, by the way, if only I
went in for that sort of thing) but my 40-line programs are that short only
because they depend on external routines that are much longer.  More of my
REXXes than not, for example, use a one-line call to read the entirety of an
external file onto the stack, and another one to put the new contents of the
stack into a temporary a file and display it in View.  The lines between are
the ones that read, process and display.  So even the allegedly simple 40
lines have a lot more going on than just that.

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

/* Formal courtesy between husband and wife is even more important than it
is between strangers.  -Lazarus Long */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of
Seymour J Metz
Sent: Monday, August 23, 2021 06:27

"40 line REXX program" is a straw dummy. Yes, some scripts are that short,
just as there are 40-line assembler programs, but many are orders of
magnitude larger.

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





--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: ELF and EBCDIC

2021-06-07 Thread Robert Prins

On 2021-06-06 19:12, Paul Gilmartin wrote:

On Sun, 6 Jun 2021 20:04:55 +, Robert Prins wrote:


In a discussion:

"Currently [...] only supports ELF files for s390, and those usually contain
ASCII strings(at least those compiled by GCC). To see EBCDIC, you can try
changing the default string encoding to a EBCDIC one (e.g. codepage 37/1140 or
others)."


What host platform?


z/OS


What language?


GCC, so most likely C


What target  platform?


z/OS

Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather - https://prino.neocities.org/indez.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


ELF and EBCDIC

2021-06-06 Thread Robert Prins

In a discussion:

"Currently [...] only supports ELF files for s390, and those usually contain 
ASCII strings(at least those compiled by GCC). To see EBCDIC, you can try 
changing the default string encoding to a EBCDIC one (e.g. codepage 37/1140 or 
others)."


Is that true?

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


How companies are moving on from Cobol?

2021-05-11 Thread Robert Prins

https://www.infoworld.com/article/3617936/how-companies-are-moving-on-from-cobol.html

Commenting on the many very questionable claims is of course not possible, 
sigh
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: And the survey says...

2021-04-27 Thread Robert Prins

On 2021-04-28 04:19, Tom Brennan wrote:
Blue color:  I've never been able to see blue (0,0,255) very well, so it might 
be more than just getting old.  I would watch other people having no trouble 
reading their blue text while I struggled.


Also have severe trouble with the "blue" "blue", my "blue" on Vista is 
120,144,240

Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather - https://prino.neocities.org/indez.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


Re: RES: And the survey says...

2021-04-27 Thread Robert Prins

Another vote for Tom Brennan's Vista TN3270

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
Some REXX code for use on z/OS - https://prino.neocities.org/zOS/zOS-Tools.html

On 2021-04-27 14:20, Bodra - Pessoal wrote:

Vista TN3270 by Tom Brennan


Carlos Bodra
IBM zEnterprise Certified
São Paulo – SP – Brazil


-Mensagem original-
De: IBM Mainframe Discussion List  Em nome de Allan
Staller
Enviada em: terça-feira, 27 de abril de 2021 11:09
Para: IBM-MAIN@LISTSERV.UA.EDU
Assunto: And the survey says...

Classification: Confidential

What 3270 emulator are you using?

I (and my colleagues) have been using PCOMM as our 3270 emulator by corporate
edict.
Corporate has removed PCOMM from the available list of emulators, hence this
survey (survey ends Fri. Apr 30 @ COB).

Since we have to go through a procurement process, we want to obtain the optimal
product.
I am aware of the usual suspects and have them on my short list.

Responses can be posted on-list or directly to me.

Thanks to all in advance for your time and attention,


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


Google V Oracle

2021-04-05 Thread Robert Prins

https://www.supremecourt.gov/opinions/20pdf/18-956_d18f.pdf
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Fwd: Group Ownership [of PL1-L]

2021-04-05 Thread Robert Prins
This was posted to the PL/I list today, I thought it might be useful to
also post it here,just in case anyone here feels like volunteering.

Robert
-- Forwarded message -
From: Dick Duggan 
Date: Mon, 5 Apr 2021 at 16:48
Subject: Group Ownership
To: 


Hi all,

I've been the sole owner of this group for ... can't remember, but many
years.

3 things:

1) Like everybody, I won't be around forever.

2) No group should really have just one owner because losing that owner for
any reason can mean bad things for the group if something goes wrong.
(Granted that with the low volume here not much goes wrong.  It's been a
long time since I've had to intervene.)

3) I haven't used PL/1 in several decades and at this stage of my life it's
extremely unlikely that I'll ever get back to it.

So ... in case you haven't guessed, I'm looking for at least one, but
preferable 2, new owners.  There's very little involved in doing the
"job".  Just need to have somebody designated if needed.

Thanks,

  -  Dick



-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


RFE: ISPF Edit highlighting for [fill-in-your-language]

2021-03-20 Thread Robert Prins
Maybe you've asked the IBM RFE site to send you an email when someone posts an 
RFE, I have done so for PL/I, TSO, HLASM, ISPF, and SDSF, and at the last few 
weeks I've been bombarded (in the nice sense) with emails like


RFE created ID:149399 ISPF Edit highlighting for ACS routines

all posted by Tom Conley, who's been very busy writing REXX code to add 
highlighting to numerous languages. The results of his efforts can be found, 
among other goodies, in


File # 967 CBT Usermods Collection for ISPF (CUCI)



And I've contributes a little code to it to make it easier to maintain.

However...

Why can't we ask IBM to open the source of the (little?) part of ISPF that 
handles language highglighting, or provide an exit to call a user supplied load 
module?


As useful as Tom's code is, it quite likely has a considerable overhead, and 
unlike the native ISPF code, it can only look at a screenful of data, which 
means that it's highly likely to result in flagging unmatched 
parentheses/brackets, etc...


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: WWUNTERSE for distributed platforms (especially SMF)

2021-03-13 Thread Robert Prins

On 2021-03-09 20:43, Cheryl Watson wrote:

I hope this isn't considered advertising if it's for a free product, but we'd
like to announce our new WWUNTERSE (no-charge) product.





To address this need, and because we spent a lot of our own time moving SMF
data around, our colleague Mario Bezzi created a program called WWUNTERSE.
WWUNTERSE runs on Windows and Linux.  It can process tersed files that were
created from VBS files.  It also supports tersed versions of F, FB, V, VB,
and VBS files.  And it provides the option to include the Block Descriptor
Word (BDW) in the output file (as required by MXG/SAS on distributed
systems).  And the best news of all is that there is no charge for WWUNTERSE.
It is available for download now, from the Free Tools page of the Watson &
Walker public website at https://watsonwalker.com/software/free-tools/.

Please take it for a test drive and let us know what you think.


Unlike PCTERSE the program and IBMs offering it doesn't do any EBCDIC-ASCII 
translation...


Why hasn't it been released as open source under the same license, after all 
it's just decompression code, and given the note in the User's Guide,


"The decompress function of TERSE was recently ported to Java by IBM and it is 
available under the Apache 2.0 license and is available here. However, that 
program doesn’t support VBS format either."


so that those with the knowledge can add features like EBCDIC-ASCII translation, 
or incorporate the code into something with a GUI?


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

--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: wc3270 or NOTEPAD++ help

2021-02-12 Thread Robert Prins

On 2021-02-12 14:46, Binyamin Dissen wrote:

I am hoping some of you folk might have some ideas.

I am trying to upload source files from a windows machine with only the above
programs. I am not familiar with either.

Is there a way to write a wc3270 script to batch the uploads rather than do
one at a time?

Is there a way to cause NOTEPAD++ to combine all the files in the directory
into a single file with some separator line between each file


This is what I use to merge (currently) 2,038 files into one, for upload to 
z/OS, where UPDTE from CBT Tape 093(?) puts them into a VB PDS:


=== CUT ===
del zall.txt 1> nul 2>nul

:: wrapped line follows

for %%a in (*.h-h) do echo ./ ADD LIST=ALL,NAME=%%a 1>> zall.txt && copy /b 
zall.txt+%%a zall.txt


sed -i -r "s£(\./ ADD LIST=ALL,NAME=)(.*)(\.h-h)£\1\U\2\E£" zall.txt
sed -i "s£[ ]*$££" zall.txt

del sed* 1> nul 2> nul
=== CUT ===

"sed" is GNUMin's SED, and there's another program on the same tape 093 that can 
set ISPF statistics.


It would also be possible to use Regina REXX (and I'm actually doing this for 
some other files, where I need timestamps).


Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather - https://prino.neocities.org/indez.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


Re: Inspecting and extracting from /OS transportable files on other platforms?

2021-01-30 Thread Robert Prins

On 2021-01-29 16:44, Seymour J Metz wrote:

XMIT is not supported on all platforms. Other formats, e.g., tar, zip, are
nigh near universal.


The XMIT format is with a high degree of certainty supported on every platform 
that has Java:


, and I'm sure the C version on the CBTTape 
site (File # 776) will compile on any system, although that program can only 
handle PDS'es.



FTP of a PDS won't preserve all of the data. Does Info-Zip include all of
the  directory information? Also, FTP raises the issues of binary data and code 
pages.


Not just FTP. IND$FILE and the WSA have the same problems.

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



From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Brian Westerman [brian_wester...@syzygyinc.com]
Sent: Friday, January 29, 2021 3:36 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Inspecting and extracting from /OS transportable files on other 
platforms?

I think I would use transmit format for transporting things between systems, 
it's easily transportable and common no matter where you go and is even usable 
on a desktop PC.

The other thing you can do (which I personally do) is simply FTP the PDS's and 
sequential files directly to your PC (on a USB drive) in ASCII format.  I do 
this weekly, rotating the encrypted USB drive that I have on my keychain so 
that if it's broken or lost (that's why I encrypt), I can just get the previous 
one.  My USB drives are pre-encrypted with Bitlocker so I really don't have to 
do much (ever).  Previously I used to use those little USB drives with the 
combination lock built in to them, but they are very unreliable (and slow).  So 
now, when fast USB drives go on sale at Amazon, I always buy several.  I like 
the sandisk 256GB ones because a) they are fast, and more importantly b) they 
have a lifetime warranty.

I have a batch file that I run to do this.  I plug in my USB drive and start 
the batch file and go get a diet coke.

I'm thinking about moving the process to one of the ruggedized external NVMe 
drives.  I'm currently testing the new Sabrent 2TB one and it's VERY fast 
(1Gb+/sec) and is small enough to easily fit in a pocket.  Plus being 
ruggedized it's waterproof and drop-proof (so far).  The sandisk drives 
typically load at around 140MB/s, but the Sabrent drive is almost 10 times 
faster.

The reason I want 2TB is that I would like to keep a whole Disaster recovery 
system on that drive (DF/DSS unloaded virtual tapes).  At the faster speed, 
it's actually not a bad process, I just need to work out the kinks a little bit 
more so that I can automate it.


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


Re: Bug in DFSORT? [WAS: Merging multiple records using DFSORT]

2021-01-15 Thread Robert Prins

On 2021-01-15 16:22, Sri h Kolusu wrote:


Please don't patronise me with high "coding standards", you banned
me from your
forum when I commented on the fact that you suggested using UNSPEC()
to look at
the internal representation of z/OS HEX FLOAT values in order top
print them in
a PL/I program, and then deleted the postings to hide your own

incompetence!


Robert,

Ya right ! And you had the audacity to call it a bug in the product even
though you are data owner and mere checking of the data would have answered
your own question.  I should have gone with my first instinct of just
ignoring your rambling. That is the only thing you do.


And that's the way IBM nowadays treats it's customers? Too bad I don't have the 
email address of Arvind Krishna, I would have loved to CC: this reply to him!


Then again, maybe the "Heart to Heart" program still exists, it used to 
guarantee that a letter to the CEO was only read by the CEO.


And it actually worked in a grey past: after having been shoved around for 
months not receiving the updates for OS/2 I was entitled to, a "Heart to Heart" 
letter to Mr Palmisano did the trick,  I was contacted by a personal assistant 
of the managing director of IBM UK, and two weeks later a big box with all OS/2 
updates arrived!


Maybe you should have a look at 
, 
especially item 4!


I'm sure others here have looked and looked and looked at code they wrote, 
absolutely sure that it was OK, only to be informed by a colleague, after he/she 
looked at it for about 42 milliseconds, that they missed out on another 
"Purloined Letter"...


And more ramblings of a nobody?

https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=147579
(Given the last IBM comment, not unlikely that it will be delivered)

https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=100073 
(Delivered)


https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=31632
(Delivered)

https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=84512
(Delivered)

https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=145001
(Planned for future release)

https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=147550
(Under consideration)

As for the product you're responsible for? In 1964 IBM developed a programming 
language, PL/I, without keywords also being reserved words, alleviating the need 
to ever having to change programs when new keywords were introduced. Why can't 
you do that for SORT?



And did you actually read the "...and ***someone*** came up with a
really very
elegant way of performing this task, ..." (Emphasis added...) You should

have

seen, as you're also on that forum, that the solution was provided by

Jörg

Findeisen!


I stopped browsing that forum ever since they forced ads.  


Using an adblocker is too hard? Ask yourself, would Frank Yaeger have been 
deterred by ads when supporting an IBM product?



Kudos to Jorg > findeisen for coding a solution. And the degree of elegance 
depends. So if
you are happy with the solution stick with it


And that saves? 1 nanosecond?


The question is NOT only about saving CPU cycles. The elegance you boast
isn't seen when you code such statements.


Which is really important for something that processes 209 lines of
input, and
might at some stage process as many as 300 lines on input, and it's part

of a

job that runs for about a minute, so saving a fraction of a second? And

when

SORT is invoked by the viewer, the result is usually displayed when
my finger is
still next to the Enter key.


As I said earlier I wouldn't have bothered to answer the questions from YOU
if you hadn't called an user error a bug in the product.


I guess the question marks didn't make it to your side...

Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather - https://prino.neocities.org/indez.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


Re: Bug in DFSORT? [WAS: Merging multiple records using DFSORT]

2021-01-15 Thread Robert Prins

On 2021-01-15 11:50, Sri h Kolusu wrote:

So what's so special about 80? 9, 41 and 44 are unique in the entire set

of >sort control statements, and 80 also doesn't appear, yet replacing 44
by 80 >results in incorrect output.


I've gone over it again and again, but I'm totally clueless, unless this

is >one of those bugs that nobody's encountered before(*).

So, if someone can confirm the problem, or that this is a case of Edgar
Allan Poe's "The Purloined Letter", i.e. so obvious that it hides in plain
sight, please reply to this post!


Robert,

Let me start off with "It is NOT a BUG" and the obvious is right in front
of you. As a data owner you SHOULD be in a better position to tell as to
what is so special about the data at position 80.


Yes, as I already wrote, it's probably a case of "The Purloined Letter"...


To explain what is so special about 80. Open the input dataset in
browse/edit mode

Issue the command F '+' 44 ALL then make a note of where exactly you are
finding the specified character. Also Make a note of the number of times
the character is found. (5 times)

Hint : It is found on the FIRST line of the boxed data skipping the first
set of data

Now issue the same command but changing the position to 80

F '+' 80 ALL

Also make a note of how many number of times the character is found (9
times)

Hint : It is found on the FIRST/SECOND/THIRD line of the boxed data
starting with the first set of data.

DFSORT is merely doing what you wanted it to do. So I am not sure comparing
a 5 time found data with 9 times found data is correct.

Btw the control cards can be optimized and I am not even sure as to why you
need a numeric conversion for simply sticking a constant value of 0120 ?
Not sure how it passed your high "coding standards"


Please don't patronise me with high "coding standards", you banned me from your 
forum when I commented on the fact that you suggested using UNSPEC() to look at 
the internal representation of z/OS HEX FLOAT values in order top print them in 
a PL/I program, and then deleted the postings to hide your own incompetence!


And did you actually read the "...and ***someone*** came up with a really very 
elegant way of performing this task, ..." (Emphasis added...) You should have 
seen, as you're also on that forum, that the solution was provided by Jörg 
Findeisen!



INREC IFTHEN=(WHEN=INIT,OVERLAY=(364:+120,ZD,LENGTH=4)),

should be as simple as

INREC IFTHEN=(WHEN=INIT,OVERLAY=(364:C'0120')),


And that saves? 1 nanosecond?


Similarly when using the substring format and searching for multiple
characters, it is advisable to have a comma so that it is easy to
understand and maintain.

(44,1,SS,EQ,C'+|') should be  (44,1,SS,EQ,C'+,|')


And how much extra time does this add to parsing the string? Sheesh...


This is explained in the 2nd bullet here

https://www.ibm.com/support/knowledgecenter/SSLTBW_2.4.0/com.ibm.zos.v2r4.icea100/substr.htm

And just for the record, the job can be optimized and can be done easily.


Which is really important for something that processes 209 lines of input, and 
might at some stage process as many as 300 lines on input, and it's part of a 
job that runs for about a minute, so saving a fraction of a second? And when 
SORT is invoked by the viewer, the result is usually displayed when my finger is 
still next to the Enter key.


Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather - https://prino.neocities.org/indez.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


Bug in DFSORT? [WAS: Merging multiple records using DFSORT]

2021-01-14 Thread Robert Prins

On 2021-01-12 16:12, Robert Prins wrote:

I'm currently using this...


I've posted the question to <https://ibmmainframes.com/viewtopic.php?t=68044>, 
and someone came up with a really very elegant way of performing this task, but 
his solution, unlike the one I posted in the start of this thread, cannot handle 
data in a legacy format, which is a must, as the code to look at older results 
automagically invokes sort to convert members that contain split (into chunks of 
121 bytes) members into merged ones.


So I added some additional code that correctly processes the old data, but then 
I realised that instead of using my hack, it would be more useful to select a 
unique column in the second table that does not appear in the same format in the 
same place in the legacy data.


Fow what it's worth, and for those not willing to access the above post, the JCL 
I use is below:


//PRINOSOR JOB (PRINO),
// 'Test LW merge',
// CLASS=A,
// MSGCLASS=H,
// MSGLEVEL=(2,0),
// NOTIFY=
//*
//MERGELW EXEC PGM=SORT
//*
//SYSOUTDD SYSOUT=*
//*
//SORTINDD DSN=@@121.TEXT,  /* FB(121)
// DISP=SHR
//*
//SORTOUT   DD SYSOUT=*
//*
//SYSIN DD *
* Merge the LW file
*
* See: https://ibmmainframes.com/viewtopic.php?t=68044

  OPTION COPY
* 
* Put '0120' in columns 364-367

  INREC IFTHEN=(WHEN=INIT,OVERLAY=(364:+120,ZD,LENGTH=4)),

* Whatever   0120
* 
* Test column 9 for '+' or '|' OR column 41 for '+' or '|'
* - copy 365 ('1') to 364
* - add seqno to 367, for two records

IFTHEN=(WHEN=GROUP,BEGIN=(9,1,SS,EQ,C'+|',OR,41,1,SS,EQ,C'+|'),
  PUSH=(364:365,1,367:SEQ=1),RECORDS=2),

* T-1 / P-1  1121
* T-1 / P-2  1122
* 
* Test column 44 for '+' or '|'
* - copy 366 ('2') to 364
* - add seqno to 367, for three records

*!! CHANGE 44 below to 80 and things go wrong!!

IFTHEN=(WHEN=GROUP,BEGIN=(44,1,SS,EQ,C'+|'),
  PUSH=(364:366,1,367:SEQ=1),RECORDS=3),

* T-2 / P-1  2121
* T-2 / P-2  2122
* T-2 / P-3  2123
* 
* Test column column 367 for '1'
* - add columns 1-121 at column 122

IFTHEN=(WHEN=GROUP,BEGIN=(367,1,ZD,EQ,+1),
  PUSH=(122:1,121)),

* Whatever   0120
* T-1 / P-1 T-1 / P-11121
* T-1 / P-2 T-1 / P-11122
* Whatever  T-1 / P-10120
* T-2 / P-1 T-2 / P-12121
* T-2 / P-2 T-2 / P-12122
* T-2 / P-3 T-2 / P-12123
* Whatever  T-2 / P-10120
* 
* Test column column 367 for '2'
* - add columns 1-121 at column 243

IFTHEN=(WHEN=GROUP,BEGIN=(367,1,ZD,EQ,+2),
  PUSH=(243:1,121))

* Whatever   0120  x 0...: 1,121
* T-1 / P-1 T-1 / P-11121
* T-1 / P-2 T-1 / P-1 T-1 / P-2  1122
* t-1 / P-1 t-1 / P-1 T-1 / P-2  1121  x 1..1: 122,1+1,121
* t-1 / P-2 t-1 / P-1 t-1 / P-1  1122
* Whatever  t-1 / P-1 t-1 / P-1  0120  x 0...: 1,121
* T-2 / P-1 T-2 / P-1 t-1 / P-1  2121
* T-2 / P-2 T-2 / P-1 T-2 / P-2  2122
* T-2 / P-3 T-2 / P-1 T-2 / P-2  2123  x 2..3: 122,121+243,121+1,121
* 

  OUTFIL FNAMES=(SORTOUT),
INCLUDE=((364,1,ZD,EQ,+0),OR,
 (364,1,ZD,EQ,+1,AND,367,1,ZD,EQ,+2),OR,
 (364,1,ZD,EQ,+2,AND,367,1,ZD,EQ,+3)),

FTOV,VLTRIM=C' ',

IFTHEN=(WHEN=(364,1,ZD,EQ,+0),BUILD=(1,121)),

IFTHEN=(WHEN=(364,1,ZD,EQ,+1,AND,367,1,ZD,EQ,+2),
  BUILD=(122,121,1,121)),

IFTHEN=(WHEN=(364,1,ZD,EQ,+2,AND,367,1,ZD,EQ,+3),
  BUILD=(122,121,243,121,1,121))

The input file (@@121.text) is included (I hope) as a plain-text (58 lines, no 
trailing spaces) attachment, or can be scraped from 
<https://ibmmainframes.com/viewtopic.php?t=68044=14> (with the JCL and 
expected output)


Paste it into an FB(121) dataset, paste the JCL, and submit it, and SYSOUT from 
SORT will show two merged tables, so far so good.


If you look at the input or, to make things a bit easier, the output, and then 
look at the second and third IFTHEN statements, the second tests for a '+'or '|' 
in columns 9 & 41, the third just checks for the same two characters in column 44.


I've not (yet) checked why the second IFTHEN uses two columns and the third 
IFTHEN only one column as the three columns checked are mutually exclusive, but...


column 44 is also present in the legacy data, so I thought, "Why not change that 
one into 80?" which is the next column in the second table that only cont

Re: Request for help with removing sequence numbers from PDS members

2021-01-12 Thread Robert Prins

On 2021-01-12 16:20, Seymour J Metz wrote:

ISREDIT is only valid for an edit macro. You need on script to invoke EDIT
and a second script running as an IMACRO for the edit. If they are in SYSPROC 
then
you need to start the first comment with REXX.

/* Outer script */
   parse upper arg dataset
   "CONTROL ERRORS RETURN"
   'EDIT DATASET('dataset') MACRO(STRIPED')'
   /* Tailor above to suit your needs */

   /* Inner script */
   'CONTROL ERRORS RETURN'
  ADDRESS ISREDIT
   'UNNUMBER'
   'SAVE'
  'END'


You can actually use a single exec, use a "VGET" (with RC=0) when the macro is 
invoked by the same command that has done a "VPUT".


Doing so has the advantage of keeping things together, like the PL/I RFE I've 
very recently entered, 
. 
Feel free to vote for it, although I already expect it to be accepted.


And using the earlier in this thread mentioned "parse source" to get the name of 
the executing exec/macro, it will actually continue to work if it's renamed.


And a general note: when using ISPF edit to remove sequence numbers from a 
(large) number of (large) members, you might need to cater for the fact that a 
PDS might need to be compressed at some stage in the middle of your processing!


Robert

PS: Please people, strip off all the unnecessary garbage from your replies...
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Merging multiple records using DFSORT

2021-01-12 Thread Robert Prins

I'm currently using this

* Merge the LW file
*
* These sort commands can handle both the old, it's left unchanged, as
* well as the new, records are merged, LW output file.
***
 OPTION COPY
 INREC  IFTHEN=(WHEN=(1,1,CH,EQ,C'1',OR, ASA
114,1,CH,EQ,C'+',OR, Old eol
114,1,CH,EQ,C'|'),   Old eol
   OVERLAY=(122:C' ')),
IFTHEN=(WHEN=NONE,
   OVERLAY=(122:SEQNUM,8,ZD,122:122,8,ZD,MOD,+2,M11,LENGTH=1))
*
 OUTREC IFTHEN=(WHEN=GROUP,BEGIN=(122,1,CH,EQ,C'1'),
  PUSH=(123:1,121))
*
 OUTFIL FTOV,VLTRIM=C' ',
  OMIT=(122,1,CH,EQ,C'1'),
IFTHEN=(WHEN=(122,1,CH,EQ,C'0'),BUILD=(123,121,1,121)),
IFTHEN=(WHEN=(122,1,CH,EQ,C' '),BUILD=(1,121))

which works like a charm.

However, the input file is about to change, and as we're still not willing to 
update the regression testing framework to cater for files other than FB(121), 
the above has to change for additional input records, which means another 
ifthen-when group. I guess it's not a problem to change the current overlay to a 
fixed '1' followed by the current seqnum logic (Correct me if I'm wrong!) and 
add another with a fixed '2' plus a mod +3 sequence number, the new records need 
to be assembled from three records. (Yes, sigh...)


However, can I use multiple "PUSH"es? The manual tells me

You can use the following in PUSH:
c: Specifies the output position (column) to be overlaid. If you do not
specify c: for the first item, it defaults to 1:. If you do not specify c:
for any other item, it starts after the previous item. You can specify
items in any order and overlap output columns. c can be 1 to
32752.
If you specify an item that extends the output record beyond the
end of the input record, the record length is automatically
increased to that length, and blanks are filled in on the left as
needed. For variable-length records, the RDW length is increased
to correspond to the larger record length after all of the items are
processed. Missing bytes in specified input fields are replaced with
blanks so the padded fields can be processed.
p,m
***Specifies a field in the ***first input record*** of each group to be
propagated to every record of the group.*** p specifies the starting
position of the field in the input record and m specifies its length.
A field must not extend beyond position 32752.
ID=n
Specifies a ZD identifier of length n is to be added to every record
of each group. The identifier starts at 1 for the first group and is
incremented by 1 for each subsequent group. n can be 1 to 15.
SEQ=n
Specifies a ZD sequence number of length n is to be added to
every record of each group. The sequence number starts at 1 for
the first record of each group and is incremented by 1 for each
subsequent record of the group. n can be 1 to 15.[/quote]

Emphasis (***) added, which seems that I can only merge data from the first 
record?

Or do I have to resort to something more exotic, like 
?


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


CUCI, aka CBT Tape 967

2021-01-06 Thread Robert Prins
I just had a look at this, to see how Tom Conley had implemented user-defined 
highlighting (using the USRHILIT REXX panel-exit) for non-ISPF supported 
languages, and I've made a suggestion to make a change that may make it easier 
to keep the various keyword and colouring REXX stems easier in sync. In essence, 
I'm replacing the


kw. = 4

kw.1= ' ALLOCATE '
kw.2= ' BDAMQSAM '
kw.3= ' BUNDLE '
kw.4= ' CAPS '

atr.1   = ''
atr.2   = ''
atr.3   = 'DD'
atr.4   = ''

clr.1   = ''
clr.2   = ''
atr.3   = 'RR'
clr.4   = ''

with

kw.  = -1
atr. = -1
clr. = -1

and just the kw.x'es above and start the remainder of the code with

do ! = 1 by 1 while kw.! \= -1
  if atr.! \= -1 then/* already user-set */
atr.! = translate(strip(kw.!), 'DD',,
   'ABCDEFGHIJKLMNOPQRSTUVWXYZ_-12')
  if clr.! \= -1 then/* already user-set */
clr.! = translate(strip(kw.!), 'RRRDDD',,
   'ABCDEFGHIJKLMNOPQRSTUVWXYZ_-12')
end

I'm five-nines certain that this will be slower than the direct assignments 
(there are 295 keywords for SQL), but it will/should/might make maintaining them 
a bit easier, and it will definitely reduce the size of the code.


I've also replaced his bracket/brace highlighting code with code I use in my 
EHIxxx execs in CBT Tape 769, basically storing attributes to be used in a stem 
(starting at stem.0) and just using the // (modulo) operator, without a "if rem 
= 0 then rem = 5" follow-up, which Tom has already  commented on with a 
"hbcolor.0 as other than the number of stems in hbcolor offends my 
sensibilities, so I'll have to give that one some thought ;-)"


A follow-up email to him also suggested, as yet not tested, that his way of 
highlighting "superfluous" closing brackets/braces will be incorrect when the 
opening bracket/brace is off-screen, as USRHILIT, unlike ISPF HILITE, only looks 
at the on-screen data.


But returning to the kw./atr./crl. stems, I seem to remember a discussion in a 
grey past on the long gone MVSHELP.COM forum that multiple assignments can be 
made really, really fast by using "parse", like Dough Nadel himself does in his 
code to add highlighting to SDSF, i.e.


parse value '0 R' with jclwords.0 jcolor. jlen.

By stringing all keywords together with suitable separators, a single statement 
could initialise the whole "kw." stem, and four more statements could initialise 
the "atr." and "clr." stems. (Yes four, it's left to the reader to figure out 
the two non-"parse" ones)


Would this be faster? I'd would appreciate it if someone could give it a try, as 
this is a panel-exit that's invoked every time a user presses Enter!


Robert

PS: And lastly, given that ISPF seems to have been more-or-less abandoned by IBM 
in favour of "whiter and shinier" "alternatives", wouldn't it make sense to 
engage Share and Guide into possibly convincing IBM to open(ish)-source it? Or 
do what they did with JES3, if there's anyone up to it?

--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: EBCDIC-ASCII converter and other tools

2020-12-31 Thread Robert Prins

On 2020-12-31 13:46, David Crayford wrote:

On 31/12/2020 3:59 am, Robert Prins wrote:

n 30/12/2020 2:04 am, Bernd Oppolzer wrote:
I don't want to advocate the use of Facebook, I understand completely your 
concerns about it. 


We all have concerns about big tech and our digital footprint but why trust 
github and not Facebook. Github is owned
by Microsoft, aren't they the enemy too? 


Does Github (M$) spread hate speech, racism?

Why, on the site of the cult of $uckerberg, is a naked female breast 
considered porn, but are films about atrocities, and people killing others in 
live-streams allowed?


'nuff said! 


That's a straw man argument!

I have a lot of friends that use FB for their businesses which in the old days 
would require a bespoke web site.


Potentially giving a job and income to local people, rather than the 0.0001%


My son sold his car this week on FB marketplace.


Killing off more local newspapers...

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: EBCDIC-ASCII converter and other tools

2020-12-30 Thread Robert Prins

On 2020-12-30 16:06, David Crayford wrote:

On 30/12/2020 2:04 am, Bernd Oppolzer wrote:
I don't want to advocate the use of Facebook, I understand completely your 
concerns about it. 


We all have concerns about big tech and our digital footprint but why trust 
github and not Facebook. Github is owned
by Microsoft, aren't they the enemy too? 


Does Github (M$) spread hate speech, racism?

Why, on the site of the cult of $uckerberg, is a naked female breast considered 
porn, but are films about atrocities, and people killing others in live-streams 
allowed?


'nuff said!

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: EBCDIC-ASCII converter and other tools

2020-12-29 Thread Robert Prins

On 2020-12-29 17:23, Bernd Oppolzer wrote:

Hi Radoslaw,

would you like to try my New Stanford Pascal compiler?
It would do the things you want very easily, and you could write the programs to 
do these tasks in minutes.

It runs on Windows, and if you want, on the Mainframe, too.

I would be happy to help you with the first steps to get the compiler running on 
your Windows system;
maybe even help you with the conversion program. If you want, you could write me 
an offline eMail.


(I do similar tasks all the time using this Pascal variant, and I am very happy 
with it)


Maybe, but from 


Breaking News

 You will find more information on these topics on the Stanford compiler 
Facebook pages.



Not very useful for those of us who refuse to access the cesspit of 
$$$uckerberg!

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


A PL/I RFE: INITACCROSS initialisation for arrays of structures

2020-12-23 Thread Robert Prins

https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=147579

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: RFE: Some SuperC options should cater for longer lines

2020-12-22 Thread Robert Prins

On 2020-12-21 18:00, Paul Gilmartin wrote:

On Mon, 21 Dec 2020 19:38:30 +, Robert Prins  wrote:


https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=147550


Where I read:
 It would be useful is the current limit would be raised to a higher value,
 and the logical value would be 32767, the maximum 2-byte signed value.

Ummm...
 32760 for RECFM=FB
 32756 for RECFM=VB
  for RECFM=VBS  (but does SuperC support VBS?)
  for UNIX files
But I believe for UNIX, SUPERC uses QSAM, which imposes the limits above.

Underreaching.  SuperC should impose *no* limit of its own, but simply
OPEN OLDDD and NEWDD and reflect any errors reported by OPEN.
Access method limitations are documented in "Using Data Sets".

(When last I tried, SuperC accepted allocated UNIX files for OLDD
  and NEWDD, but not for DELDD.  Go figger.)


Updated to:

It would be useful is the current limit would be raised to a higher value, and 
tentative maximum values could be 27998, the non-spanned maximum blocksize for 
3390 devices, or 32767, the maximum signed value for a halfword, but even a 
value of 1024 or 4096 would be more helpful.


--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


RFE: Some SuperC options should cater for longer lines

2020-12-21 Thread Robert Prins
https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=147550

Robert
-- 
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather 
Some REXX code for use on z/OS


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


Re: XYplorer - EBCDIC to ASCII translation - CP500 or something better

2020-11-13 Thread Robert Prins

On 2020-11-12 19:50, Robert Prins wrote:
For those who don't know, XYplorer <https://www.xyplorer.com/> is a replacement 
for Windows' Explorer, with rather a lot more functionality, and that's a huge 
understatement. Like Tom Brennan's Vista TN3270, you can try it free for 30 
days, the "Standard License Pro" costs USD 39.95, never expires, and gives free 
upgrades (usually a few per week(!)) for a year, the "Lifetime License Pro" 
costs USD 79.95, never expires, and gives free upgrades forever. Both can be 
used on all of your computers.


OK, advertising out of the way, Donald Lessau the developer has added a tweak to 
  the "Mouse-Down Blow-Up" feature (click and hold on the icon of a file, and 
you'll see its contents) to auto-convert EBCDIC files. I asked for it (it's kind 
of useful to have a quick look at XMIT files containing source, README, or 
"$INDEX" like members) and he has hard-coded some defaults:


    The conversion is hard-coded to IBM EBCDIC International (codepage 500)
    and a record length of 80.
    Affects Text Preview, Hover Box, Mouse Down Blow Up, Quick File View,
    Floating Preview.

I suggested the LRECL=80, he himself went for CP 500. I've already suggested 
that he "externalizes" the CP, but if he doesn't, is there a opinion on which 
code-page might be more useful for "Joe Average".


For what it's worth, I suggested that the EBCDIC auto-detect is based on long 
strings of the ASCII "@" character, the EBCDIC space.


About your remarks about the codepage:

XY V21.20.0212:

* Added tweak to auto-detect and auto-convert EBCDIC files. Now you pass the
  CodePage and the RecLen right in the tweak, in the format "CP,RL", e.g.:
CheckForEBCDIC=1047,80

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: XYplorer - EBCDIC to ASCII translation - CP500 or something better

2020-11-12 Thread Robert Prins

On 2020-11-12 21:16, Paul Gilmartin wrote:

On Thu, 12 Nov 2020 21:48:06 +, Robert Prins wrote:


For those who don't know, XYplorer <https://www.xyplorer.com/> is a replacement
...
Both can be used on all of your computers.


One of my computers is a Raspberry Pi.


Almost all of your computers.


... auto-convert EBCDIC files. I asked for it (it's kind
of useful to have a quick look at XMIT files containing source, README, or
"$INDEX" like members) and he has hard-coded some defaults:

The conversion is hard-coded to IBM EBCDIC International (codepage 500)
and a record length of 80.


XMIT files of RECVM=VB source contain control information sufficient to
reconstruct line boundaries.  Lacking that, it's not only a "quick look" but
also dirty.  A PDS member TRANSMITted without the SEQ option is worse:
it's an IEBCOPY PDSU inside a .XMIT envelope.


The option only shows the top of the file, it's never going to be anything line 
XMIT Manager or XmitApp.



I suggested the LRECL=80, he himself went for CP 500. I've already suggested
that he "externalizes" the CP, ...


It should be externalized.


We'll see what he decides


For what it's worth, I suggested that the EBCDIC auto-detect is based on long
strings of the ASCII "@" character, the EBCDIC space.


RECFM=V files may lack such long strings of x'40'.  Would better be a 
preponderance
of octets above x'80'?  But there should be an option to override.


If you go for over 0x80, you end up in UTF-8 territory, which is also 
auto-detected.

Robert
--
Robert AH Prins
robert(a)prino(d)org
The hitchhiking grandfather - https://prino.neocities.org/indez.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


XYplorer - EBCDIC to ASCII translation - CP500 or something better

2020-11-12 Thread Robert Prins
For those who don't know, XYplorer  is a replacement 
for Windows' Explorer, with rather a lot more functionality, and that's a huge 
understatement. Like Tom Brennan's Vista TN3270, you can try it free for 30 
days, the "Standard License Pro" costs USD 39.95, never expires, and gives free 
upgrades (usually a few per week(!)) for a year, the "Lifetime License Pro" 
costs USD 79.95, never expires, and gives free upgrades forever. Both can be 
used on all of your computers.


OK, advertising out of the way, Donald Lessau the developer has added a tweak to 
 the "Mouse-Down Blow-Up" feature (click and hold on the icon of a file, and 
you'll see its contents) to auto-convert EBCDIC files. I asked for it (it's kind 
of useful to have a quick look at XMIT files containing source, README, or 
"$INDEX" like members) and he has hard-coded some defaults:


   The conversion is hard-coded to IBM EBCDIC International (codepage 500)
   and a record length of 80.
   Affects Text Preview, Hover Box, Mouse Down Blow Up, Quick File View,
   Floating Preview.

I suggested the LRECL=80, he himself went for CP 500. I've already suggested 
that he "externalizes" the CP, but if he doesn't, is there a opinion on which 
code-page might be more useful for "Joe Average".


For what it's worth, I suggested that the EBCDIC auto-detect is based on long 
strings of the ASCII "@" character, the EBCDIC space.


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


Re: dataset allocation

2020-10-07 Thread Robert Prins

On 2020-10-07 11:00, Jeremy Nicoll wrote:

On Wed, 7 Oct 2020, at 04:03, Wayne Bickerdike wrote:


On a different note. I just compared EDIT macro performance versus
IPOUPDTE. IPOUPDTE was about 600 times faster.


Is that a macro written in Assembler, or REXX?


It's an IBM program, a "reconstituted" version can be found @ 
. From that page:


"PDSUPDTE is a reconstituted version of the IPOUPDTE program (also distributed 
as CPPUPDTE).  It provides the ability to apply a group of search/replace type 
modifications to JCL or control cards contained in all members of one to several 
libraries (Partitioned Datasets).  It can also be useful for searching for and 
changing fields in source code statements.


PDSUPDTE is located in File #65 of the CBT Overflow tape and is part of a 
collection submitted by the Los Angeles User Group."



How much of what the macro was doing was "glue logic" (if it was
in REXX) or scanning through the file line by line, compared with
calling editor commands (which one would expect to be fairly
efficient)?


If you need to change one member, it's OK. Run it in batch on a PDS with a few 
hundred members, and it burns CPU like there is no tomorrow.


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather @ https://prino.neocities.org/indez.html
Some useful(?) REXX @ 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


Re: dataset allocation

2020-10-07 Thread Robert Prins

On 2020-10-07 03:03, Wayne Bickerdike wrote:

Give us an idea of how big each file is. OPEN/CLOSE is expensive. QSAM with
large buffers should go pretty quickly.

LOCATE instead of MOVE mode can speed things up when you are reading.

On a different note. I just compared EDIT macro performance versus
IPOUPDTE. IPOUPDTE was about 600 times faster.


Yes, but only if your data set is FB(80) and your changes are "trivial"...

For what it's worth, does anyone know of any IPOUPDTE equivalent on the CBTTape 
site that can handle any LRECL that you throw at it?


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


z/OS,Version 2 Release 4,Language Environment,Programming Reference - ceea300_v2r4.pdf

2020-09-28 Thread Robert Prins
Just had a look at 
https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zosv2r4sa380683/$file/ceea300_v2r4.pdf?OpenElement 
to find a country code that gives me dates in ISO8601 format (why isn't there a 
simple "LANGUAGE(my-country(ISO))" option to use a specific currency, but 
ISO8601 dates/times? RFE?),


and

I was flabbergasted to see that (at least in this PDF) Lithuania, Latvia, 
Estonia, Cyprus, Slovakia are still using currencies that no longer exist, and 
that Montenegro & Serbia (and probably a few more countries) don't even seem to 
exists.


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


LMINIT cannot handle concatenation with more than 16 data sets?

2020-09-28 Thread Robert Prins
Came across this in an edit macro, and the existing code works around it by 
using QBASELIB and testing each dataset in the ISPPLIB concatenation separately 
for a selected member.


Does anyone know if this limit of 16 is still present, I don't really have a way 
to test this right now.


Thanks,

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/
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


[OT] Rabies [Was: Ransoming a mainframe disk farm]

2020-09-08 Thread Robert Prins

On 2020-09-08 10:15, R.S. wrote:

W dniu 08.09.2020 o 14:09, Robert Prins pisze:

On 2020-09-08 07:21, R.S. wrote:

Well, I sustain my words: the only EFFECTIVE way is to prevent.
All other ways are recipes what to do after failure happens, to minimize the 
impact.


This resembles data loss scenario. What to do when you lost your data? The 
answer is AVOID it. Use RAID arrays, remote copies, backups, archive copies, 
transaction logs... every mentioned thing will not help you when you lost 
your data, it is to help you avoiding data loss.


BTW: The only method for rabies is to immunization (by vaccination). There is 
no cure.


Actually, and obviously this has nothing to do with z/OS, there is a tiny 
number of people who recovered from rabies, without vaccine.


Yes, it is off-topic, but "tiny number" is actually ONE.
Jeanne Giese from US, it was in 2003. Another person was Marciano Menezes Silva 
from Brasil, but this case is doubtfully documented and considered as not 
confirmed. All other persons cured using "Milwaukee Protocol" (method which 
helped Jeanne) died.
Note, this is not yearly report, this is whole human knowledge since dark ages. 
Only one person is known to survive rabies.
Nowadays approx. 15 million people per year are vaccinated. And approx 20.000 do 
not get vaccination early enough (or at all) and die. No cure. In 1990 the 
number of victims was approx. 50.000. The main reason of decrease was action of 
preventive vaccination animals, including wild ones.


Way more than one:

https://abcnews.go.com/Health/california-girl-us-survive-rabies/story?id=13830407

Probably should be the final message in this thread!

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.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


RFE 145094: No warning on "conflicting" use of "SEQ" keyword in SuperC

2020-09-08 Thread Robert Prins

https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe_ID=145094

You use SuperC from the ISPF menu, see that there are no differences, copy the 
generated JCL into a job, and suddenly there are differences, because you forgot 
to zap the "SEQ" process option. It does no harm, but results in a condition 
code 4 for non FB(80)VB(255) datasets.


Make it just an informational message!

Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.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


Re: Ransoming a mainframe disk farm

2020-09-08 Thread Robert Prins

On 2020-09-08 07:21, R.S. wrote:

Well, I sustain my words: the only EFFECTIVE way is to prevent.
All other ways are recipes what to do after failure happens, to minimize the 
impact.


This resembles data loss scenario. What to do when you lost your data? The 
answer is AVOID it. Use RAID arrays, remote copies, backups, archive copies, 
transaction logs... every mentioned thing will not help you when you lost your 
data, it is to help you avoiding data loss.


BTW: The only method for rabies is to immunization (by vaccination). There is no 
cure.


Actually, and obviously this has nothing to do with z/OS, there is a tiny number 
of people who recovered from rabies, without vaccine.


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.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


Re: Constant Identifiers

2020-09-06 Thread Robert Prins

On 2020-09-06 13:07, Paul Gilmartin wrote:

On Sun, 6 Sep 2020 17:25:45 +1000, Robin Vowels wrote:



Beware!  Than might left-associate as:
 volume = ( 4/3 ) * 3.14159 * radius**3
... and the quotient of integers, 4/3, is 1.


No it's not. 4/3 yields 1.33.. to 15 digits in PL/I.
You're thinking of FORTRAN.


And C:
662 $ cat typetest.c
#include 
int main() {
 printf( "%10.6f\n",   4/3 * 3.14159 );
 printf( "%10.6f\n", 4.0/3 * 3.14159 ); }
663 $ gmake typetest & ./typetest
cc typetest.c   -o typetest
   3.141590
   4.188787

It ought to depend on the types of the operands of the polymorphic
operator, '/'.  What are the default types of '4' and '3'?  Does PL/I
entirely lack an integer divide?


No, if the receiving variable is an integer without fractional part, PL/I 
truncates.


The Language Ref. properly cautions that a constant declaration may
be necessary to control the constant types.


Anyway, the latest versions of EPLI contain the (NO)DECOMP option:

The DECOMP option instructs the compiler to generate a listing section that 
gives a decomposition of expressions used in the compilation.


Under the DECOMP option, the compiler generates a listing section that shows all 
intermediate expressions and their attributes for all expressions used in the 
source program. Under the NODECOMP option, the compiler does not generate this 
listing section.


The default is NODECOMP.

and

Expressions and attributes listing

If you use the DECOMP compiler option, the compiler includes, in the compiler 
listing, a section that shows all intermediate expressions and their attributes 
for all expressions used in the source program.


Never used it, but it maybe useful to do so before drawing erroneous conclusions 
about output!


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.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


Re: Pascal(was: Constant Identifiers)

2020-09-05 Thread Robert Prins

On 2020-09-04 18:36, Paul Gilmartin wrote:

On Fri, 4 Sep 2020 20:38:29 +, Robert Prins wrote:


On 2020-09-04 17:01, Paul Gilmartin wrote:

I see everything twice:
On Fri, 4 Sep 2020 19:05:32 +, Robert Prins wrote:
On Fri, 4 Sep 2020 19:06:49 +, Robert Prins wrote:


Yes, problems posting. Should be OK now.


Your setting your system clock to Europe/Vilnius but calling it UTC
remains an irritant to those who want to read threads in chronological
sequence.  I suppose you relish your plies' floating to the top of the
list for a couple hours.


Completely oblivious of that, and definitely not to keep myself in the picture. 
The simple fact is that I hate it that 'doze displays timestamps different in 
different time zones. So my TZ is UTC.



However as a Pascal partisan, you should love(?) the NOLAXQUAL compiler option,
one of the options (when used) that takes away one of the best features of PL/I,
which is that as long as the compiler can uniquely find a variable in its symbol
table, you do not have to fully qualify it. Wit the the NOLAXQUAL compiler
option you will have to use myvar.thislevel.array.struct.variant.plorkestein,
even if "plorkestein" is the only variable in the program with that name, which
is one of the worst features of Pascal.


Can't be as bad as the lack of static initialization.


Borland introduced Typed Constants (that aren't constants at all), and that is 
now part and parcel of every Pascal compiler, including Delphi.



And somewhat mitigated by the WITH statement.


See 
<https://stackoverflow.com/questions/71419/why-should-i-not-use-with-in-delphi> 
and 
<https://stackoverflow.com/questions/514482/is-delphi-with-keyword-a-bad-practice>



I understand that PL/I tolerates fairly arbitrary permutation of
qualifiers as long there's a unique valid depermutation.  I.e.
 struct.array[I] and strict[I].array are alternatives.  An invitation
to obscure coding.  


None of the shops I ever worked in had rules for this, I usually put the 
subscripts at the level they should be.



C is bad enough for making array[I]
equivalent to I[array].

We confronted a cadre of PL/I partisans who strenuously objected
to the NOLAXQUAL-ness of IEEE Pascal.  They reacted by providing
a standard header containing a WITH to expose the penultimate
level of every structure.  And we scrambled to revise our code
generator to fix the resulting base register exhaustion.


An optimizing compiler, and none of the Pascal ones seem to fall into that 
category, should do this automagically.


I once wrote a Pascal program to convert RTF to SCRIPT/VS.  A
co-worker enthusiastically grabbed it, only to be dismayed that I
had relied heavily on the IEEE standard file buffer that was
unsupported by the Turbo he used.  Borland boasted of the
misfeature.


You mean you used "get" and/or "put"? I've never ever used those, but Borland, 
Virtual and Free Pascal can set up buffers for files (standard 128 bytes) and in 
one of the programs I wrote to process my hitchhike data, I'm actually almost 
completely bypassing Pascal's read(ln)/write(ln) and doing everything by direct 
access of the file buffers, reading and writing them via BlockRead/Write. Works 
like a charm, and fast!


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.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


Re: Constant Identifiers

2020-09-04 Thread Robert Prins

On 2020-09-04 17:01, Paul Gilmartin wrote:

I see everything twice:
On Fri, 4 Sep 2020 19:05:32 +, Robert Prins wrote:
On Fri, 4 Sep 2020 19:06:49 +, Robert Prins wrote:


Yes, problems posting. Should be OK now.


And I don't think that anyone in their right mind would ever use anything like
your SQRT(X**TWO + Y**TWO). We once had a contractor who would use TRUE and
FALSE rather than just '1'b and '0'b, and did his compares as

select(var_a = var_b);
   when(true) ...
   when(false) ...
end;


Shouldn't that just be IF ... THEN ... ELSE?


Of course it should.


He didn't last very long!


I feel FALSE and TRUE should be compiler intrinsics even though
they are rarely useful.  But I'm a Pascal partisan.


When I'm not running z/OS at home, I also dabble in (Virtual) Pascal. I tried 
FreePascal on many occasions, but it still lacks one important Turbo Pascal 
feature, and the IDE, sorry to say, stinks.


However as a Pascal partisan, you should love(?) the NOLAXQUAL compiler option, 
one of the options (when used) that takes away one of the best features of PL/I, 
which is that as long as the compiler can uniquely find a variable in its symbol 
table, you do not have to fully qualify it. Wit the the NOLAXQUAL compiler 
option you will have to use myvar.thislevel.array.struct.variant.plorkestein, 
even if "plorkestein" is the only variable in the program with that name, which 
is one of the worst features of Pascal.


Robert
--
Robert AH Prins
robert.ah.prins(a)gmail.com
The hitchhiking grandfather - https://prino.neocities.org/indez.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


  1   2   3   >