Re: Some UNIX file usage questions

2022-06-20 Thread David Crayford

On 21/06/2022 12:53 pm, Charles Mills wrote:

No! 96 24-byte *records* per day.

My current vision is to use a UNIX file, write the records every 15 minutes as 
they are produced, and do the close/rename/start over once per *month*, on the 
first write after midnight on the 1st of every month.


I implemented something similar for our product to create CSV files to 
be loaded into DB2/IDAA. Much higher volumes. Our stuff is in Java and I 
found a really nifty rotating log library by one of the Apache 
developers https://github.com/vy/rotating-fos. It's policy based so can 
be configured in a YAML file.





There are two basic reports, a daily report for yesterday and a monthly report 
for last month. The daily report will find the right day within the current 
month's file by spinning to the right record. Worst case that is ~3000 reads. 
The monthly report will process all of a month's records.

Everything in the post you quote is about the internal loop logic. It does not 
address the file strategy one way or the other.

I am good. I think I have a design. I know of no open problems. Now I just have 
to actually get to work.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of kekronbekron
Sent: Monday, June 20, 2022 8:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

Hey Charles,

Does the 96-files a day solution not work?
You could cat *-mmdd.txt > mmdd.txt at 00.05 and then delete the 96 
files.
You wouldn't have to worry about losing out data in memory if it's written to a 
file every 15 min.
It appears to be a pretty basic & simple solution?

- KB

--- Original Message ---
On Tuesday, June 21st, 2022 at 3:09 AM, Charles Mills  wrote:



Nay! Rexx passes everything by value, both to internal and to external functions. So 
passing  will give the assembler code 200 zero bytes to play with but 
it will go away on return.


And it is unnecessary. I know of no need for persistent storage. Perhaps it is worth persisting the 
STIMER MF=L and friends. (I have not yet done detail design. If indicated I will use name/token to 
do the persisting. There is also a persistent "user" pointer in the "environment 
block" that Rexx maintains and passes, so that is perhaps a better alternative. I have some 
detail design work to do.)

The pseudocode is otherwise on target. I would add (watch the line wrap!)

When Left(Res, 1) = 'T'
/* Rexx PARSE command from Res /
/ Re-parametize or whatever is indicated by the command /
Iterate
end
end
/ Close files, clean up and terminate */

The ECB is in MVS-managed storage but it is apparently user-key.

I won't "persist" the STIMER; I will cancel it when I get an F or a P. F should 
be infrequent enough that there is little wasted overhead in cancelling the STIMER and 
presumably re-starting it. If the caller wants to resume the remaining interval it can 
readily enough keep the absolute wakeup time desired and do the necessary arithmetic. 
OTOH I guess F could return the remaining interval but that neglects any time spent 
processing the F. For P of course the remaining interval is irrelevant.

Whoever mentioned Rexx variables moving around was on target. Rexx's internal storage 
management is a black box. It may well move stuff around from time to time. As I say, 
everything is passed by value. And there is no C ampersand operator. I know of no way to 
get the address of a Rexx variable. Actually, now that I think about it, I have used 
IRXEXCOM which returns Rexx variable data "in bulk" to an assembler routine, 
but I do not recall the details. It may pass the actual address, not a copy of the value 
-- I don't recall.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Monday, June 20, 2022 11:10 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

I think I understand what Charles is doing.

context = copies('00'x,200) <-- state for HLASM program
wait_time = 30

do forever
res = console(context, wait_time)
select
when res = 'T' then iterate
when res = 'P' then leave
otherwise ...
end
end


On 21/06/2022 1:58 am, Paul Gilmartin wrote:


I'll correct my earlier misstatement. You did not say you were the client;
merely "-n-house".

On Mon, 20 Jun 2022 10:41:25 -0700, Charles Mills wrote:


The ECB is not in the Rexx. It is in MVS-owned storage IIRC.

I believe ECBs routinely occupy user-owned storage.


-Original Message-


...
... Well, the actual parameter passed by the Rexx is continuously accessible to 
the Assembler. It is of course possible to access any Rexx variable from 
assembler, but I see no need. If I understand your question, the answer is No.

I took "continuously accessible" to mean accessible by concurrent tasks even 
after
the Assembler returns to Rexx.


That depends on the AFAIK undocumented behavior of Rexx storage
man

Re: How to search large loadlib

2022-06-20 Thread Peter Van Dyke
Donald,
If you have IBM File Manager the "View Load Module" function supports CSECT
name filters which will list the load modules in a PDS/E that include
CSECTs that match the CSECT name filters specified.  The "View Load Module"
function can be used online in ISPF:
https://www.ibm.com/docs/en/adfz/file-manager-for-zos/14.1?topic=fields-load-module-information-selection-panel

or in batch using the VLM function:
https://www.ibm.com/docs/en/adfz/file-manager-for-zos/14.1?topic=functions-vlm-view-load-module


Regards,
Peter Van Dyke


On Tue, 21 Jun 2022 at 05:04, Sri h Kolusu  wrote:

> ≫ I have a large PDSE loadlib with just under 10,000 members. Most of the
> load members are COBOL programs. Some of them were incorrectly linked with
> a batch module, called ABCDE and issue  the COBOL verb CALL 'ABCDE'.
>
> Donald,
>
> A simple SRCHFOR in batch can give you the desired results
>
> //SEARCH  EXEC PGM=ISRSUPC,PARM=(SRCHCMP,'')
> //NEWDD   DD DISP=SHR,DSN=Your.PDSE.Loadlib
> //OUTDD   DD SYSOUT=*
> //SYSIN   DD *
> SRCHFOR 'ABCDE'
> /*
>
>
> Thanks,
> Kolusu
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

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


Re: Some UNIX file usage questions

2022-06-20 Thread Charles Mills
> But is loss of a single recorrd disastrous?

No, I said earlier, this is not banking transactions where a lack of 2-phase 
commit risks losing a bunch of money between the cracks.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: Monday, June 20, 2022 9:09 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

On Mon, 20 Jun 2022 22:23:45 -0500, Mike Schwab wrote:

>24 byte record would fit 82 records per track.
>http://www.bitsavers.org/pdf/ibm/dasd/reference_summary/GX26-4577-0_3390_Reference_Summary_Jun89.pdf
> 
Why are people discussing "tracks" in a thread titled ... Ummm, let me look 
above ...
"Some UNIX file usage questions"?

>On Mon, Jun 20, 2022 at 10:05 PM kekronbekron  wrote:
>>
>> Does the 96-files a day solution not work?
>> You could cat *-mmdd.txt > mmdd.txt at 00.05 and then delete the 96 
>> files.
>> You wouldn't have to worry about losing out data in memory if it's written 
>> to a file every 15 min.
>> It appears to be a pretty basic & simple solution?
>> 
My understanding is that the kernel flushes its cache to disk a couple
times a minute.  Little risk of data loss.  But is loss of a single recorrd
disastrous?  What's the SLA?


>> > Whoever mentioned Rexx variables moving around was on target. Rexx's 
>> > internal storage management is a black box. It may well move stuff around 
>> > from time to time. As I say, everything is passed by value. And there is 
>> > no C ampersand operator. I know of no way to get the address of a Rexx 
>> > variable. 
>
Not documented; subject to change.

>Actually, now that I think about it, I have used IRXEXCOM which returns Rexx 
>variable data "in bulk" to an assembler routine, but I do not recall the 
>details. It may pass the actual address, not a copy of the value -- I don't 
>recall.
>> >
Is it guaranteed to survive after return to Rexx?

-- 
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: Some UNIX file usage questions

2022-06-20 Thread Charles Mills
No! 96 24-byte *records* per day.

My current vision is to use a UNIX file, write the records every 15 minutes as 
they are produced, and do the close/rename/start over once per *month*, on the 
first write after midnight on the 1st of every month.

There are two basic reports, a daily report for yesterday and a monthly report 
for last month. The daily report will find the right day within the current 
month's file by spinning to the right record. Worst case that is ~3000 reads. 
The monthly report will process all of a month's records. 

Everything in the post you quote is about the internal loop logic. It does not 
address the file strategy one way or the other.

I am good. I think I have a design. I know of no open problems. Now I just have 
to actually get to work.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of kekronbekron
Sent: Monday, June 20, 2022 8:05 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

Hey Charles,

Does the 96-files a day solution not work?
You could cat *-mmdd.txt > mmdd.txt at 00.05 and then delete the 96 
files.
You wouldn't have to worry about losing out data in memory if it's written to a 
file every 15 min.
It appears to be a pretty basic & simple solution?

- KB

--- Original Message ---
On Tuesday, June 21st, 2022 at 3:09 AM, Charles Mills  wrote:


> Nay! Rexx passes everything by value, both to internal and to external 
> functions. So passing  will give the assembler code 200 zero bytes 
> to play with but it will go away on return.
>
>
> And it is unnecessary. I know of no need for persistent storage. Perhaps it 
> is worth persisting the STIMER MF=L and friends. (I have not yet done detail 
> design. If indicated I will use name/token to do the persisting. There is 
> also a persistent "user" pointer in the "environment block" that Rexx 
> maintains and passes, so that is perhaps a better alternative. I have some 
> detail design work to do.)
>
> The pseudocode is otherwise on target. I would add (watch the line wrap!)
>
> When Left(Res, 1) = 'T'
> /* Rexx PARSE command from Res /
> / Re-parametize or whatever is indicated by the command /
> Iterate
> end
> end
> / Close files, clean up and terminate */
>
> The ECB is in MVS-managed storage but it is apparently user-key.
>
> I won't "persist" the STIMER; I will cancel it when I get an F or a P. F 
> should be infrequent enough that there is little wasted overhead in 
> cancelling the STIMER and presumably re-starting it. If the caller wants to 
> resume the remaining interval it can readily enough keep the absolute wakeup 
> time desired and do the necessary arithmetic. OTOH I guess F could return the 
> remaining interval but that neglects any time spent processing the F. For P 
> of course the remaining interval is irrelevant.
>
> Whoever mentioned Rexx variables moving around was on target. Rexx's internal 
> storage management is a black box. It may well move stuff around from time to 
> time. As I say, everything is passed by value. And there is no C ampersand 
> operator. I know of no way to get the address of a Rexx variable. Actually, 
> now that I think about it, I have used IRXEXCOM which returns Rexx variable 
> data "in bulk" to an assembler routine, but I do not recall the details. It 
> may pass the actual address, not a copy of the value -- I don't recall.
>
> Charles
>
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of David Crayford
> Sent: Monday, June 20, 2022 11:10 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Some UNIX file usage questions
>
> I think I understand what Charles is doing.
>
> context = copies('00'x,200) <-- state for HLASM program
> wait_time = 30
>
> do forever
> res = console(context, wait_time)
> select
> when res = 'T' then iterate
> when res = 'P' then leave
> otherwise ...
> end
> end
>
>
> On 21/06/2022 1:58 am, Paul Gilmartin wrote:
>
> > I'll correct my earlier misstatement. You did not say you were the client;
> > merely "-n-house".
> >
> > On Mon, 20 Jun 2022 10:41:25 -0700, Charles Mills wrote:
> >
> > > The ECB is not in the Rexx. It is in MVS-owned storage IIRC.
> >
> > I believe ECBs routinely occupy user-owned storage.
> >
> > > -Original Message-
> > >
> > > > ...
> > > > ... Well, the actual parameter passed by the Rexx is continuously 
> > > > accessible to the Assembler. It is of course possible to access any 
> > > > Rexx variable from assembler, but I see no need. If I understand your 
> > > > question, the answer is No.
> >
> > I took "continuously accessible" to mean accessible by concurrent tasks 
> > even after
> > the Assembler returns to Rexx.
> >
> > > That depends on the AFAIK undocumented behavior of Rexx storage
> > > management. What happens if Rexx compacts variable storage, thereby
> > > moving an ECB? Rexx spurns concurrency.
> >
> > "ECB" for exampl

Re: Some UNIX file usage questions

2022-06-20 Thread Paul Gilmartin
On Mon, 20 Jun 2022 22:23:45 -0500, Mike Schwab wrote:

>24 byte record would fit 82 records per track.
>http://www.bitsavers.org/pdf/ibm/dasd/reference_summary/GX26-4577-0_3390_Reference_Summary_Jun89.pdf
> 
Why are people discussing "tracks" in a thread titled ... Ummm, let me look 
above ...
"Some UNIX file usage questions"?

>On Mon, Jun 20, 2022 at 10:05 PM kekronbekron  wrote:
>>
>> Does the 96-files a day solution not work?
>> You could cat *-mmdd.txt > mmdd.txt at 00.05 and then delete the 96 
>> files.
>> You wouldn't have to worry about losing out data in memory if it's written 
>> to a file every 15 min.
>> It appears to be a pretty basic & simple solution?
>> 
My understanding is that the kernel flushes its cache to disk a couple
times a minute.  Little risk of data loss.  But is loss of a single recorrd
disastrous?  What's the SLA?


>> > Whoever mentioned Rexx variables moving around was on target. Rexx's 
>> > internal storage management is a black box. It may well move stuff around 
>> > from time to time. As I say, everything is passed by value. And there is 
>> > no C ampersand operator. I know of no way to get the address of a Rexx 
>> > variable. 
>
Not documented; subject to change.

>Actually, now that I think about it, I have used IRXEXCOM which returns Rexx 
>variable data "in bulk" to an assembler routine, but I do not recall the 
>details. It may pass the actual address, not a copy of the value -- I don't 
>recall.
>> >
Is it guaranteed to survive after return to Rexx?

-- 
gil

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


Re: Some UNIX file usage questions

2022-06-20 Thread Mike Schwab
24 byte record would fit 82 records per track.
http://www.bitsavers.org/pdf/ibm/dasd/reference_summary/GX26-4577-0_3390_Reference_Summary_Jun89.pdf

On Mon, Jun 20, 2022 at 10:05 PM kekronbekron
<02dee3fcae33-dmarc-requ...@listserv.ua.edu> wrote:
>
> Hey Charles,
>
> Does the 96-files a day solution not work?
> You could cat *-mmdd.txt > mmdd.txt at 00.05 and then delete the 96 
> files.
> You wouldn't have to worry about losing out data in memory if it's written to 
> a file every 15 min.
> It appears to be a pretty basic & simple solution?
>
> - KB
>
> --- Original Message ---
> On Tuesday, June 21st, 2022 at 3:09 AM, Charles Mills  
> wrote:
>
>
> > Nay! Rexx passes everything by value, both to internal and to external 
> > functions. So passing  will give the assembler code 200 zero bytes 
> > to play with but it will go away on return.
> >
> >
> > And it is unnecessary. I know of no need for persistent storage. Perhaps it 
> > is worth persisting the STIMER MF=L and friends. (I have not yet done 
> > detail design. If indicated I will use name/token to do the persisting. 
> > There is also a persistent "user" pointer in the "environment block" that 
> > Rexx maintains and passes, so that is perhaps a better alternative. I have 
> > some detail design work to do.)
> >
> > The pseudocode is otherwise on target. I would add (watch the line wrap!)
> >
> > When Left(Res, 1) = 'T'
> > /* Rexx PARSE command from Res /
> > / Re-parametize or whatever is indicated by the command /
> > Iterate
> > end
> > end
> > / Close files, clean up and terminate */
> >
> > The ECB is in MVS-managed storage but it is apparently user-key.
> >
> > I won't "persist" the STIMER; I will cancel it when I get an F or a P. F 
> > should be infrequent enough that there is little wasted overhead in 
> > cancelling the STIMER and presumably re-starting it. If the caller wants to 
> > resume the remaining interval it can readily enough keep the absolute 
> > wakeup time desired and do the necessary arithmetic. OTOH I guess F could 
> > return the remaining interval but that neglects any time spent processing 
> > the F. For P of course the remaining interval is irrelevant.
> >
> > Whoever mentioned Rexx variables moving around was on target. Rexx's 
> > internal storage management is a black box. It may well move stuff around 
> > from time to time. As I say, everything is passed by value. And there is no 
> > C ampersand operator. I know of no way to get the address of a Rexx 
> > variable. Actually, now that I think about it, I have used IRXEXCOM which 
> > returns Rexx variable data "in bulk" to an assembler routine, but I do not 
> > recall the details. It may pass the actual address, not a copy of the value 
> > -- I don't recall.
> >
> > Charles
> >
> >
> > -Original Message-
> > From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> > Behalf Of David Crayford
> > Sent: Monday, June 20, 2022 11:10 AM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: Some UNIX file usage questions
> >
> > I think I understand what Charles is doing.
> >
> > context = copies('00'x,200) <-- state for HLASM program
> > wait_time = 30
> >
> > do forever
> > res = console(context, wait_time)
> > select
> > when res = 'T' then iterate
> > when res = 'P' then leave
> > otherwise ...
> > end
> > end
> >
> >
> > On 21/06/2022 1:58 am, Paul Gilmartin wrote:
> >
> > > I'll correct my earlier misstatement. You did not say you were the client;
> > > merely "-n-house".
> > >
> > > On Mon, 20 Jun 2022 10:41:25 -0700, Charles Mills wrote:
> > >
> > > > The ECB is not in the Rexx. It is in MVS-owned storage IIRC.
> > >
> > > I believe ECBs routinely occupy user-owned storage.
> > >
> > > > -Original Message-
> > > >
> > > > > ...
> > > > > ... Well, the actual parameter passed by the Rexx is continuously 
> > > > > accessible to the Assembler. It is of course possible to access any 
> > > > > Rexx variable from assembler, but I see no need. If I understand your 
> > > > > question, the answer is No.
> > >
> > > I took "continuously accessible" to mean accessible by concurrent tasks 
> > > even after
> > > the Assembler returns to Rexx.
> > >
> > > > That depends on the AFAIK undocumented behavior of Rexx storage
> > > > management. What happens if Rexx compacts variable storage, thereby
> > > > moving an ECB? Rexx spurns concurrency.
> > >
> > > "ECB" for example. The Devil's advocate was envisioning using the 
> > > parameter
> > > passed by Rexx as working storage. Which is OK until returning to Rexx.
> >
> >
> > --
> > 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.e

Re: Some UNIX file usage questions

2022-06-20 Thread kekronbekron
Hey Charles,

Does the 96-files a day solution not work?
You could cat *-mmdd.txt > mmdd.txt at 00.05 and then delete the 96 
files.
You wouldn't have to worry about losing out data in memory if it's written to a 
file every 15 min.
It appears to be a pretty basic & simple solution?

- KB

--- Original Message ---
On Tuesday, June 21st, 2022 at 3:09 AM, Charles Mills  wrote:


> Nay! Rexx passes everything by value, both to internal and to external 
> functions. So passing  will give the assembler code 200 zero bytes 
> to play with but it will go away on return.
>
>
> And it is unnecessary. I know of no need for persistent storage. Perhaps it 
> is worth persisting the STIMER MF=L and friends. (I have not yet done detail 
> design. If indicated I will use name/token to do the persisting. There is 
> also a persistent "user" pointer in the "environment block" that Rexx 
> maintains and passes, so that is perhaps a better alternative. I have some 
> detail design work to do.)
>
> The pseudocode is otherwise on target. I would add (watch the line wrap!)
>
> When Left(Res, 1) = 'T'
> /* Rexx PARSE command from Res /
> / Re-parametize or whatever is indicated by the command /
> Iterate
> end
> end
> / Close files, clean up and terminate */
>
> The ECB is in MVS-managed storage but it is apparently user-key.
>
> I won't "persist" the STIMER; I will cancel it when I get an F or a P. F 
> should be infrequent enough that there is little wasted overhead in 
> cancelling the STIMER and presumably re-starting it. If the caller wants to 
> resume the remaining interval it can readily enough keep the absolute wakeup 
> time desired and do the necessary arithmetic. OTOH I guess F could return the 
> remaining interval but that neglects any time spent processing the F. For P 
> of course the remaining interval is irrelevant.
>
> Whoever mentioned Rexx variables moving around was on target. Rexx's internal 
> storage management is a black box. It may well move stuff around from time to 
> time. As I say, everything is passed by value. And there is no C ampersand 
> operator. I know of no way to get the address of a Rexx variable. Actually, 
> now that I think about it, I have used IRXEXCOM which returns Rexx variable 
> data "in bulk" to an assembler routine, but I do not recall the details. It 
> may pass the actual address, not a copy of the value -- I don't recall.
>
> Charles
>
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of David Crayford
> Sent: Monday, June 20, 2022 11:10 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Some UNIX file usage questions
>
> I think I understand what Charles is doing.
>
> context = copies('00'x,200) <-- state for HLASM program
> wait_time = 30
>
> do forever
> res = console(context, wait_time)
> select
> when res = 'T' then iterate
> when res = 'P' then leave
> otherwise ...
> end
> end
>
>
> On 21/06/2022 1:58 am, Paul Gilmartin wrote:
>
> > I'll correct my earlier misstatement. You did not say you were the client;
> > merely "-n-house".
> >
> > On Mon, 20 Jun 2022 10:41:25 -0700, Charles Mills wrote:
> >
> > > The ECB is not in the Rexx. It is in MVS-owned storage IIRC.
> >
> > I believe ECBs routinely occupy user-owned storage.
> >
> > > -Original Message-
> > >
> > > > ...
> > > > ... Well, the actual parameter passed by the Rexx is continuously 
> > > > accessible to the Assembler. It is of course possible to access any 
> > > > Rexx variable from assembler, but I see no need. If I understand your 
> > > > question, the answer is No.
> >
> > I took "continuously accessible" to mean accessible by concurrent tasks 
> > even after
> > the Assembler returns to Rexx.
> >
> > > That depends on the AFAIK undocumented behavior of Rexx storage
> > > management. What happens if Rexx compacts variable storage, thereby
> > > moving an ECB? Rexx spurns concurrency.
> >
> > "ECB" for example. The Devil's advocate was envisioning using the parameter
> > passed by Rexx as working storage. Which is OK until returning to Rexx.
>
>
> --
> 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: Some UNIX file usage questions

2022-06-20 Thread kekronbekron
"I think it would be Rexx abuse."

On the border with whether I should laugh for this or not...

- KB

--- Original Message ---
On Monday, June 20th, 2022 at 9:17 PM, Charles Mills  wrote:


> I think it would be possible to monitor the console ECB from Rexx, and 
> extract any MODIFY text -- you can do almost anything in Rexx with enough 
> C2D()'s -- but multiple levels of C2D() does not exactly make for a pretty 
> application. I think it would be Rexx abuse.
>
> Answering @kekronbekron's question, I don't think there is any "system" 
> facility that lets a program written in Rexx be aware of STOP or MODIFY. I 
> have two similar Rexx STC's -- one is essentially version zero of the app I 
> am designing here, and will be replaced by it -- and for both, I admit it, 
> the command to stop them is CANCEL. :-(
>
> I don't think there is any facility for Rexx running in batch-type 
> environments, whether compiled or interpreted, including as an STC, to 
> process HI (Halt Interpretation, not "Hello!"). I would be happy if someone 
> would correct me.
>
> What I keep meaning to do, and will do as part of this application, is write 
> a little assembler (sorry, David ) routine to solve this issue. All of 
> these STC's have the general flow
>
>
> Do Forever
> Perform some sort of processing
> Delay several minutes
>
> (Watch out if the list folds those lines!)
>
> The assembler routine will take as input a delay time in hundredths of a 
> second (because of STIMER), do a WAIT ECBLIST, and return one of
>
> 'T' -- the time expired
> 'P' -- the operator entered STOP
> 'F modify command operand' -- the operator entered MODIFY
>
> That will make for an application that could be halted without CANCEL, and 
> also could potentially be re-parametized on the fly.
>
> Charles
>
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of David Crayford
> Sent: Sunday, June 19, 2022 10:32 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Some UNIX file usage questions
>
> On 20/06/2022 12:08 pm, wrote:
>
> > Hey Charles,
> >
> > > I know exactly how to execute a Started Task written in Rexx, and I know 
> > > most of the gotchas.
> > > Could you expand a bit on this please.
> > > I have this compiled REXX called MON3B from IBM, from 2016.
> > > https://ftpmirror.your.org/pub/misc/ftp.software.ibm.com/s390/zos/wlm/MonitorIIIBatch-v1.10.pdf
> >
> > Is cancelling it the only way to stop it, if the source for the REXX isn't 
> > available to modify?
>
>
> If it's written in REXX I very much doubt it's handling operator
> commands. That would require a console handler thread which is waaayyy
> outside the limits of the language. I'm not familar with this product
> and RMF is one of our products.
>
> > - KB
> >
> > --- Original Message ---
> > On Sunday, June 19th, 2022 at 10:45 PM, Charles Mills charl...@mcn.org 
> > wrote:
> >
> > > > Why not use Python? Good question.
> > >
> > > 1. I can undoubtedly do it perfectly satisfactorily, and almost certainly 
> > > more quickly, in Rexx (because of the learning curve). I would have 
> > > trouble justifying billing the client for my Python learning time when 
> > > there is little benefit (that I know of -- correct me if I am wrong) for 
> > > the client who is paying the bills.
> > >
> > > Why not, then, learn Python on my own time? Don't I want to learn Python? 
> > > Yes I do, but there are only so many hours in a day, and there are other 
> > > things I want to learn more than I do Python. For example, I would rather 
> > > spend the time learning to make the Roman-Jewish fried artichokes that 
> > > are in the current Cooks Illustrated. Learning Python is just not very 
> > > high on my bucket list. It's there, but probably not high enough to ever 
> > > rise to the top.
> > >
> > > 2. I know exactly how to execute a Started Task written in Rexx, and I 
> > > know most of the gotchas. In my experience, THAT is the problem with the 
> > > "new tools" on z/OS. What would I have to do to execute a Started Task 
> > > written in Python? What are the gotchas? Heck, what do I have to do to 
> > > set up any Python environment at all? That is the time-consuming issue, 
> > > and it holds about zero personal gratification for me. I could probably 
> > > learn the Python language pretty readily, and it would be one more notch 
> > > in my belt. Solving the probable gotchas of getting Python to actually do 
> > > productive work on z/OS -- not so much.
> > >
> > > > it would trivial to serve those reports as a REST API
> > >
> > > Neat, but that is not what the client (who is paying the bills) wants. He 
> > > wants a trivial-to-read-on-his-iPhone email in his inbox every morning. 
> > > Again, it would be nice to have "how to write a REST API" in my toolkit, 
> > > but not nice enough for me to learn it on my own time. Frankly, I am in 
> > > an "I wish I had less work on my plate" mode and I would probably ra

Re: Some UNIX file usage questions

2022-06-20 Thread David Crayford

On 21/06/2022 5:39 am, Charles Mills wrote:

Nay! Rexx passes everything by value, both to internal and to external functions. So 
passing  will give the assembler code 200 zero bytes to play with but 
it will go away on return.


Pass by value doesn't matter. I've done this before and just checked the 
code. From 1993, a lifetime ago when I still used REXX. Here's the man 
page that get's printed to the terminal if you call it as a TSO command. 
It's a KSDS I/O function
which passes back the address of the ACB on open which is then passed 
back as a context handle.


The vsamio program can be called as a function from a REXX
 EXEC to allow access to VSAM KSDS datasets or invoked from TSO
 with no parameters for Help information.
 Format;
 acb    = vsamio(O,ddname)    /* Open for read */
 acb    = vsamio(U,ddname)    /* Open for update   */
 acb    = vsamio(X,ddname)    /* Open for Alt. Index   */
 retcod = vsamio(C,acb)   /* Close */
 record = vsamio(R,acb,key)   /* Read with key */
 record = vsamio(G,acb,key)   /* Read with generic key */
 record = vsamio(N,acb,oa_rpl)    /* Read next */
 record = vsamio(P,acb,oa_rpl)    /* Read previous */
 retcod = vsamio(W,acb,record)    /* Write record  */
 retcod = vsamio(E,acb,key)   /* Erase record  */
 REXX variables set by function;
 oa_rc  - VSAM return code (R15 value) or vsamio error code
 oa_ec  - VSAM error code (R0 value)
 oa_rpl - Set following Read Key for Read Next
 if oa_rc = 0 then ..  /* Check completion  */



And it is unnecessary. I know of no need for persistent storage. Perhaps it is worth persisting the 
STIMER MF=L and friends. (I have not yet done detail design. If indicated I will use name/token to 
do the persisting. There is also a persistent "user" pointer in the "environment 
block" that Rexx maintains and passes, so that is perhaps a better alternative. I have some 
detail design work to do.)

The pseudocode is otherwise on target. I would add (watch the line wrap!)

   When Left(Res, 1) = 'T'
 /* Rexx PARSE command from Res */
 /* Re-parametize or whatever is indicated by the command */
 Iterate
 end
end
/* Close files, clean up and terminate */

The ECB is in MVS-managed storage but it is apparently user-key.

I won't "persist" the STIMER; I will cancel it when I get an F or a P. F should 
be infrequent enough that there is little wasted overhead in cancelling the STIMER and 
presumably re-starting it. If the caller wants to resume the remaining interval it can 
readily enough keep the absolute wakeup time desired and do the necessary arithmetic. 
OTOH I guess F could return the remaining interval but that neglects any time spent 
processing the F. For P of course the remaining interval is irrelevant.

Whoever mentioned Rexx variables moving around was on target. Rexx's internal storage 
management is a black box. It may well move stuff around from time to time. As I say, 
everything is passed by value. And there is no C ampersand operator. I know of no way to 
get the address of a Rexx variable. Actually, now that I think about it, I have used 
IRXEXCOM which returns Rexx variable data "in bulk" to an assembler routine, 
but I do not recall the details. It may pass the actual address, not a copy of the value 
-- I don't recall.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Monday, June 20, 2022 11:10 AM
To:IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

I think I understand what Charles is doing.

context = copies('00'x,200) <-- state for HLASM program
wait_time = 30

do forever
  res = console(context, wait_time)
  select
when res = 'T' then iterate
when res = 'P' then leave
otherwise ...
 end
end


On 21/06/2022 1:58 am, Paul Gilmartin wrote:

I'll correct my earlier misstatement.  You did not say you were the client;
merely "-n-house".

On Mon, 20 Jun 2022 10:41:25 -0700, Charles Mills wrote:


The ECB is not in the Rexx. It is in MVS-owned storage IIRC.


I believe ECBs routinely occupy user-owned storage.


-Original Message-

 ...
... Well, the actual parameter passed by the Rexx is continuously accessible to 
the Assembler. It is of course possible to access any Rexx variable from 
assembler, but I see no need. If I understand your question, the answer is No.
   

I took "continuously accessible" to mean accessible by concurrent tasks even 
after
the Assembler returns to Rexx.


That depends on the AFAIK undocumented behavior of Rexx storage
management.  What happens if Rexx compacts variable storage, thereby
moving an ECB?  Rexx spurns concurrency.


"ECB" for example.  The Devil's advocate was envisioning using the parameter
passed by Rexx as working storage.  Which is OK until returning to Rexx.



Re: Some UNIX file usage questions

2022-06-20 Thread Paul Gilmartin
On Mon, 20 Jun 2022 14:39:20 -0700, Charles Mills wrote:

>Nay! Rexx passes everything by value, both to internal and to external 
>functions. So passing  will give the assembler code 200 zero bytes to 
>play with but it will go away on return.
>
There might be a *slightly* better alternative.  The ADDRESS
LINK*/ATTACH* family copy modified arguments back on return.
This might include the address of obtained storage.
There's a Rexx example perhaps in SAMPLIB and in:
Cryptographic Services
Integrated Cryptographic Service Facility Application Programmer's Guide
 SC14-7508-10
The reply could include a pointer to obtained storage which Rexx
could access, R/W with STORAGE().

>And it is unnecessary. I know of no need for persistent storage. Perhaps it is 
>worth persisting the STIMER MF=L and friends. (I have not yet done detail 
>design. If indicated I will use name/token to do the persisting. There is also 
>a persistent "user" pointer in the "environment block" that Rexx maintains and 
>passes, so that is perhaps a better alternative. I have some detail design 
>work to do.)
>
NTS is an alternative.  And long before NTS existed my mentor showed me how to 
do somethint
similar with CSV and a writable data module.

>The pseudocode is otherwise on target. I would add (watch the line wrap!)
>
>  When Left(Res, 1) = 'T'
>/* Rexx PARSE command from Res */
>/* Re-parametize or whatever is indicated by the command */
>Iterate
>end
>end
>/* Close files, clean up and terminate */

-- 
gil

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


Re: Some UNIX file usage questions

2022-06-20 Thread Charles Mills
Nay! Rexx passes everything by value, both to internal and to external 
functions. So passing  will give the assembler code 200 zero bytes to 
play with but it will go away on return.

And it is unnecessary. I know of no need for persistent storage. Perhaps it is 
worth persisting the STIMER MF=L and friends. (I have not yet done detail 
design. If indicated I will use name/token to do the persisting. There is also 
a persistent "user" pointer in the "environment block" that Rexx maintains and 
passes, so that is perhaps a better alternative. I have some detail design work 
to do.)

The pseudocode is otherwise on target. I would add (watch the line wrap!)

  When Left(Res, 1) = 'T'
/* Rexx PARSE command from Res */
/* Re-parametize or whatever is indicated by the command */
Iterate
end
end
/* Close files, clean up and terminate */

The ECB is in MVS-managed storage but it is apparently user-key.

I won't "persist" the STIMER; I will cancel it when I get an F or a P. F should 
be infrequent enough that there is little wasted overhead in cancelling the 
STIMER and presumably re-starting it. If the caller wants to resume the 
remaining interval it can readily enough keep the absolute wakeup time desired 
and do the necessary arithmetic. OTOH I guess F could return the remaining 
interval but that neglects any time spent processing the F. For P of course the 
remaining interval is irrelevant.

Whoever mentioned Rexx variables moving around was on target. Rexx's internal 
storage management is a black box. It may well move stuff around from time to 
time. As I say, everything is passed by value. And there is no C ampersand 
operator. I know of no way to get the address of a Rexx variable. Actually, now 
that I think about it, I have used IRXEXCOM which returns Rexx variable data 
"in bulk" to an assembler routine, but I do not recall the details. It may pass 
the actual address, not a copy of the value -- I don't recall.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Monday, June 20, 2022 11:10 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

I think I understand what Charles is doing.

context = copies('00'x,200) <-- state for HLASM program
wait_time = 30

do forever
 res = console(context, wait_time)
 select
   when res = 'T' then iterate
   when res = 'P' then leave
   otherwise ...
end
end


On 21/06/2022 1:58 am, Paul Gilmartin wrote:
> I'll correct my earlier misstatement.  You did not say you were the client;
> merely "-n-house".
>
> On Mon, 20 Jun 2022 10:41:25 -0700, Charles Mills wrote:
>
>> The ECB is not in the Rexx. It is in MVS-owned storage IIRC.
>>
> I believe ECBs routinely occupy user-owned storage.
>
>> -Original Message-
>>> ...
>>> ... Well, the actual parameter passed by the Rexx is continuously 
>>> accessible to the Assembler. It is of course possible to access any Rexx 
>>> variable from assembler, but I see no need. If I understand your question, 
>>> the answer is No.
>>>   
> I took "continuously accessible" to mean accessible by concurrent tasks even 
> after
> the Assembler returns to Rexx.
>
>> That depends on the AFAIK undocumented behavior of Rexx storage
>> management.  What happens if Rexx compacts variable storage, thereby
>> moving an ECB?  Rexx spurns concurrency.
>>
> "ECB" for example.  The Devil's advocate was envisioning using the parameter
> passed by Rexx as working storage.  Which is OK until returning to Rexx.
>

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

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


Re: How to search large loadlib

2022-06-20 Thread Sri h Kolusu
≫ I have a large PDSE loadlib with just under 10,000 members. Most of the load 
members are COBOL programs. Some of them were incorrectly linked with a batch 
module, called ABCDE and issue  the COBOL verb CALL 'ABCDE'.

Donald,

A simple SRCHFOR in batch can give you the desired results

//SEARCH  EXEC PGM=ISRSUPC,PARM=(SRCHCMP,'')
//NEWDD   DD DISP=SHR,DSN=Your.PDSE.Loadlib
//OUTDD   DD SYSOUT=*
//SYSIN   DD *
SRCHFOR 'ABCDE'
/*


Thanks,
Kolusu


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


Re: How to search large loadlib

2022-06-20 Thread Charles Mills
That was my thought. It will be a lot of listing, but you have a mainframe!

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Steve Smith
Sent: Monday, June 20, 2022 12:26 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: How to search large loadlib

You can run AMBLIST against the entire library.  Don't know that it should
take so long to filter out what you need to see.

sas

On Mon, Jun 20, 2022 at 2:30 PM Donald Blake  wrote:

> I have a large PDSE loadlib with just under 10,000 members. Most of the
> load members are COBOL programs. Some of them were incorrectly linked with
> a batch module, called ABCDE and issue  the COBOL verb CALL 'ABCDE'.
>
> I do have the source for all of the COBOL programs, but it is scattered
> around a bunch of libraries. So dealing with it isn't really practical.
>
> Does anybody know of a utility that will let me scan all of the members for
> those which were linked with CSECT ABCDE? ABCDE doesn't have a MODHEAD
> which I can look for. It's a small assembler language program. I was
> wondering if there's a utility, possibly in the CBT tape, which can do
> this? Also, looked at PDS also from the CBT tape, but if  one of the
> subcommands allows for that, I didn't see it.
>
> I know I can run AMBLIST against each individual load module, but due to
> 10,000 members in that dataset, it might take me quite a while.
>
>

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

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


Re: How to search large loadlib

2022-06-20 Thread Lionel B. Dyck
Yes

Lionel B Dyck <
Sent from my iPad Pro 10.5
Website: www.lbdsoftware.com

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

> On Jun 20, 2022, at 2:46 PM, Paul Gilmartin 
> <042bfe9c879d-dmarc-requ...@listserv.ua.edu> wrote:
> 
> On Mon, 20 Jun 2022 14:28:32 -0500, Lionel B. Dyck wrote:
> 
>> Check out the PDS command on cbttape file 182.  It has many scan and list 
>> options. 
>> 
> Can it search a PDSE?  (Of course it could LOAD each member; searh; DELETE.)
> 
> 
 On Jun 20, 2022, at 2:25 PM, Itschak Mugzach wrote:
>>> 
>>> Assuming the program is in the ESD, and that you have some asm knowledge,
>>> have a look at the IEWBUFF macro. A good starting point is
>>> at SYS1.SAMPLIB(IEWAPFDA). The idea is to loop on each member in the
>>> library, and scan it using the macro services. print a line for each module
>>> having this csect included and later relink the appropriate modules.
>>> 
>>> Do not forget to delete the module from storage after each load...
> 
> 
 On Mon, Jun 20, 2022 at 9:30 PM Donald Blake  wrote:
 
 I have a large PDSE loadlib with just under 10,000 members. Most of the
 load members are COBOL programs. Some of them were incorrectly linked with
 a batch module, called ABCDE and issue  the COBOL verb CALL 'ABCDE'.
> 
> -- 
> 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: How to search large loadlib

2022-06-20 Thread Paul Gilmartin
On Mon, 20 Jun 2022 14:28:32 -0500, Lionel B. Dyck wrote:

>Check out the PDS command on cbttape file 182.  It has many scan and list 
>options. 
> 
Can it search a PDSE?  (Of course it could LOAD each member; searh; DELETE.)


>> On Jun 20, 2022, at 2:25 PM, Itschak Mugzach wrote:
>> 
>> Assuming the program is in the ESD, and that you have some asm knowledge,
>> have a look at the IEWBUFF macro. A good starting point is
>> at SYS1.SAMPLIB(IEWAPFDA). The idea is to loop on each member in the
>> library, and scan it using the macro services. print a line for each module
>> having this csect included and later relink the appropriate modules.
>> 
>> Do not forget to delete the module from storage after each load...


>>> On Mon, Jun 20, 2022 at 9:30 PM Donald Blake  wrote:
>>> 
>>> I have a large PDSE loadlib with just under 10,000 members. Most of the
>>> load members are COBOL programs. Some of them were incorrectly linked with
>>> a batch module, called ABCDE and issue  the COBOL verb CALL 'ABCDE'.

-- 
gil

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


Re: How to search large loadlib

2022-06-20 Thread Farley, Peter x23353
Check out CBT file 321 (COBANALZ).  The SYSPRINT output will contain embedded 
CSECT information.  For a large loadlib like yours the SYSPRINT output will be 
pretty voluminous, but relatively easy to search mechanically (I would use an 
awk script to do the search, but any search utility you are comfortable with 
will do).  It may not be less volume than an AMBLIST output but you can do it 
without any control cards per-member.  COBANALZ default action is to process 
the entire library (or maybe that's PARM=ALL, it's been a while since I had 
occasion to use it).

I once had a thought to update the COBANALZ SUMMARY output to (optionally) 
include embedded application CSECT information, but never found the round tuits 
to make that update.  The issue there would be correctly ignoring the IBM 
library function CSECT's (IGZx or CEEx and others for PL/I or Fortran). 
 The issue gets even murkier for REALLY old HLL load members and compiled Rexx 
and ISV compiled code like EasyTrieve, etc.

Peter

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Donald Blake
Sent: Monday, June 20, 2022 2:30 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: How to search large loadlib

I have a large PDSE loadlib with just under 10,000 members. Most of the
load members are COBOL programs. Some of them were incorrectly linked with
a batch module, called ABCDE and issue  the COBOL verb CALL 'ABCDE'.

I do have the source for all of the COBOL programs, but it is scattered
around a bunch of libraries. So dealing with it isn't really practical.

Does anybody know of a utility that will let me scan all of the members for
those which were linked with CSECT ABCDE? ABCDE doesn't have a MODHEAD
which I can look for. It's a small assembler language program. I was
wondering if there's a utility, possibly in the CBT tape, which can do
this? Also, looked at PDS also from the CBT tape, but if  one of the
subcommands allows for that, I didn't see it.

I know I can run AMBLIST against each individual load module, but due to
10,000 members in that dataset, it might take me quite a while.

Any thoughts?

-- 

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


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


Re: How to search large loadlib

2022-06-20 Thread Lionel B. Dyck
Check out the PDS command on cbttape file 182.  It has many scan and list 
options. 

Lionel B Dyck <
Sent from my iPad Pro 10.5
Website: www.lbdsoftware.com

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

> On Jun 20, 2022, at 2:25 PM, Itschak Mugzach 
> <0305158ad67d-dmarc-requ...@listserv.ua.edu> wrote:
> 
> Assuming the program is in the ESD, and that you have some asm knowledge,
> have a look at the IEWBUFF macro. A good starting point is
> at SYS1.SAMPLIB(IEWAPFDA). The idea is to loop on each member in the
> library, and scan it using the macro services. print a line for each module
> having this csect included and later relink the appropriate modules.
> 
> Do not forget to delete the module from storage after each load...
> 
> ITschak
> 
> *| **Itschak Mugzach | Director | SecuriTeam Software **|** IronSphere
> Platform* *|* *Information Security Continuous Monitoring for Z/OS, zLinux
> and IBM I **|  *
> 
> *|* *Email**: i_mugz...@securiteam.co.il **|* *Mob**: +972 522 986404 **|*
> *Skype**: ItschakMugzach **|* *Web**: www.Securiteam.co.il  **|*
> 
> 
> 
> 
> 
>> On Mon, Jun 20, 2022 at 9:30 PM Donald Blake  wrote:
>> 
>> I have a large PDSE loadlib with just under 10,000 members. Most of the
>> load members are COBOL programs. Some of them were incorrectly linked with
>> a batch module, called ABCDE and issue  the COBOL verb CALL 'ABCDE'.
>> 
>> I do have the source for all of the COBOL programs, but it is scattered
>> around a bunch of libraries. So dealing with it isn't really practical.
>> 
>> Does anybody know of a utility that will let me scan all of the members for
>> those which were linked with CSECT ABCDE? ABCDE doesn't have a MODHEAD
>> which I can look for. It's a small assembler language program. I was
>> wondering if there's a utility, possibly in the CBT tape, which can do
>> this? Also, looked at PDS also from the CBT tape, but if  one of the
>> subcommands allows for that, I didn't see it.
>> 
>> I know I can run AMBLIST against each individual load module, but due to
>> 10,000 members in that dataset, it might take me quite a while.
>> 
>> Any thoughts?
>> 
>> --
>> Donald H. Blake
>> Phone (518) 768-7067
>> Ecclesiastes 12:1
>> >> 
>> 
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>> 
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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


Re: How to search large loadlib

2022-06-20 Thread Steve Smith
You can run AMBLIST against the entire library.  Don't know that it should
take so long to filter out what you need to see.

sas

On Mon, Jun 20, 2022 at 2:30 PM Donald Blake  wrote:

> I have a large PDSE loadlib with just under 10,000 members. Most of the
> load members are COBOL programs. Some of them were incorrectly linked with
> a batch module, called ABCDE and issue  the COBOL verb CALL 'ABCDE'.
>
> I do have the source for all of the COBOL programs, but it is scattered
> around a bunch of libraries. So dealing with it isn't really practical.
>
> Does anybody know of a utility that will let me scan all of the members for
> those which were linked with CSECT ABCDE? ABCDE doesn't have a MODHEAD
> which I can look for. It's a small assembler language program. I was
> wondering if there's a utility, possibly in the CBT tape, which can do
> this? Also, looked at PDS also from the CBT tape, but if  one of the
> subcommands allows for that, I didn't see it.
>
> I know I can run AMBLIST against each individual load module, but due to
> 10,000 members in that dataset, it might take me quite a while.
>
>

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


Re: How to search large loadlib

2022-06-20 Thread Itschak Mugzach
Assuming the program is in the ESD, and that you have some asm knowledge,
have a look at the IEWBUFF macro. A good starting point is
at SYS1.SAMPLIB(IEWAPFDA). The idea is to loop on each member in the
library, and scan it using the macro services. print a line for each module
having this csect included and later relink the appropriate modules.

Do not forget to delete the module from storage after each load...

ITschak

*| **Itschak Mugzach | Director | SecuriTeam Software **|** IronSphere
Platform* *|* *Information Security Continuous Monitoring for Z/OS, zLinux
and IBM I **|  *

*|* *Email**: i_mugz...@securiteam.co.il **|* *Mob**: +972 522 986404 **|*
*Skype**: ItschakMugzach **|* *Web**: www.Securiteam.co.il  **|*





On Mon, Jun 20, 2022 at 9:30 PM Donald Blake  wrote:

> I have a large PDSE loadlib with just under 10,000 members. Most of the
> load members are COBOL programs. Some of them were incorrectly linked with
> a batch module, called ABCDE and issue  the COBOL verb CALL 'ABCDE'.
>
> I do have the source for all of the COBOL programs, but it is scattered
> around a bunch of libraries. So dealing with it isn't really practical.
>
> Does anybody know of a utility that will let me scan all of the members for
> those which were linked with CSECT ABCDE? ABCDE doesn't have a MODHEAD
> which I can look for. It's a small assembler language program. I was
> wondering if there's a utility, possibly in the CBT tape, which can do
> this? Also, looked at PDS also from the CBT tape, but if  one of the
> subcommands allows for that, I didn't see it.
>
> I know I can run AMBLIST against each individual load module, but due to
> 10,000 members in that dataset, it might take me quite a while.
>
> Any thoughts?
>
> --
> Donald H. Blake
> Phone (518) 768-7067
> Ecclesiastes 12:1
>  >
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

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


Re: Some UNIX file usage questions

2022-06-20 Thread Erik Janssen
I created a rexx that can respond to an operator stop command in native rexx. 
My colleague still has it available at 
https://github.com/wizardofzos/natconf16/blob/master/zos/POCREXXS

It uses some other proof of concepts that might be interesting.

Not sure if it is of use in this case, but I thought I'd share.

Kind regards,

Erik Janssen.

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


Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Farley, Peter x23353
In NYC in the 1980's the traffic lights were controlled by a room full of IBM 
1130 machines, not Univac.  No idea what they use today.

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Monday, June 20, 2022 7:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

Before MQ there were QTAM and TCAM.

There have been mainframes running real time applications since the 1960s. Air 
traffic control. Airline reservations. Controlling traffic lights (UNIVAC, not 
IBM.) These may not be the best examples, but they were the first to come to 
mind, and used off the shelf mainframes.


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
René Jansen [rene.vincent.jan...@gmail.com]
Sent: Monday, June 20, 2022 5:50 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

You can make that 'about 30 years ago' - time flies while we're having fun.

René.

> On 20 Jun 2022, at 09:51, Colin Paice  wrote:
>
> MQ from IBM developed about 20+ years ago helped get from Batch to real
> time.   You put messages to a queue, and it can run IMS transactions
> (including OTMA),  CICS transactions, or even batch!.  You can put on one
> member in a sysplex and get in another member.
> It has single put, and also publish/subscribe capability.
>
> Colin
>
--

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

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


Re: DFSort Create Filename

2022-06-20 Thread Sri h Kolusu
Ron,

Use the following control cards. I assumed that if there is a header then it 
would be the first record in the file. So we skip the first record irrespective 
of header presence and get the values from 2nd record. Since all records have 
the patnum and compkey we just need 1 record to build the filename.

//SYSINDD *
  OPTION COPY,SKIPREC=1,STOPAFT=1
  OUTREC BUILD=(C'Performdta_',
26,05,
C'_',
19,04,
C'_',
DATE1,
C'_',
TIME1,
C'.csv',
80:X)
/*


Thanks,
Kolusu
DFSORT Development
IBM Corporation



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


How to search large loadlib

2022-06-20 Thread Donald Blake
I have a large PDSE loadlib with just under 10,000 members. Most of the
load members are COBOL programs. Some of them were incorrectly linked with
a batch module, called ABCDE and issue  the COBOL verb CALL 'ABCDE'.

I do have the source for all of the COBOL programs, but it is scattered
around a bunch of libraries. So dealing with it isn't really practical.

Does anybody know of a utility that will let me scan all of the members for
those which were linked with CSECT ABCDE? ABCDE doesn't have a MODHEAD
which I can look for. It's a small assembler language program. I was
wondering if there's a utility, possibly in the CBT tape, which can do
this? Also, looked at PDS also from the CBT tape, but if  one of the
subcommands allows for that, I didn't see it.

I know I can run AMBLIST against each individual load module, but due to
10,000 members in that dataset, it might take me quite a while.

Any thoughts?

-- 
Donald H. Blake
Phone (518) 768-7067
Ecclesiastes 12:1


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


Re: Some UNIX file usage questions

2022-06-20 Thread Paul Gilmartin
On Tue, 21 Jun 2022 02:10:13 +0800, David Crayford wrote:

>I think I understand what Charles is doing.
>
>context = copies('00'x,200) <-- state for HLASM program
>wait_time = 30
>
>do forever
>     res = console(context, wait_time)
>     select
>   when res = 'T' then iterate
>       when res = 'P' then leave
>   otherwise ...
>    end
>end
> 
Thanks for the pseudocode.  I assume that "console()" is the Assembler
code, not shown.

Are you assuming that the address, not merely the content of "context"
will be unchanged between successive calls to "console()"?  I find
no guarantee of that.

Of course, "console()" might obtain storage and stash its address in "context".

-- 
gil

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


Re: Some UNIX file usage questions

2022-06-20 Thread David Crayford

I think I understand what Charles is doing.

context = copies('00'x,200) <-- state for HLASM program
wait_time = 30

do forever
    res = console(context, wait_time)
    select
  when res = 'T' then iterate
      when res = 'P' then leave
  otherwise ...
   end
end


On 21/06/2022 1:58 am, Paul Gilmartin wrote:

I'll correct my earlier misstatement.  You did not say you were the client;
merely "-n-house".

On Mon, 20 Jun 2022 10:41:25 -0700, Charles Mills wrote:


The ECB is not in the Rexx. It is in MVS-owned storage IIRC.


I believe ECBs routinely occupy user-owned storage.


-Original Message-

...
... Well, the actual parameter passed by the Rexx is continuously accessible to 
the Assembler. It is of course possible to access any Rexx variable from 
assembler, but I see no need. If I understand your question, the answer is No.
  

I took "continuously accessible" to mean accessible by concurrent tasks even 
after
the Assembler returns to Rexx.


That depends on the AFAIK undocumented behavior of Rexx storage
management.  What happens if Rexx compacts variable storage, thereby
moving an ECB?  Rexx spurns concurrency.


"ECB" for example.  The Devil's advocate was envisioning using the parameter
passed by Rexx as working storage.  Which is OK until returning to Rexx.



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


Re: DFSort Create Filename

2022-06-20 Thread Ron Thomas
My sincere apologies Kolusu .

I have updated the answers in-line 



>>  If header comes in to this file for whatever reason  we need to skip and 
>> then build this filename

Q. How do you distinguish the header ? Any indicator? You don't even show a 
sample. 

***Header if comes  will start with product_nbr 

>> The below fields remain the same for all the rows CompKey - 19 to 22 
>> Position Patnum - 26 to 30 Position

Q.  You do realize that you did NOT use "Fixed Font or Courier New" font to 
retain the spacing in the sample data ? 

okay

* Top of Data *
.0050425063|..4138|..12211|..   0|..   0|..   0|..   0|
.0050996097|..4138|..12211|..   0|..   0|..   0|..   0|
.0009077849|..4138|..12211|..1.50|..1.50|..
.0050761685|..4138|..12211|..2.20|..00013.20|..
.0050124393|..4138|..12211|..   0|..   0|..   0|..   0|
.0050997036|..4138|..12211|..   0|..   0|..   0|..   0|
.0009646052|..4138|..12211|..1.24|..00041.21|..


Q.  What are the DCB properties of the input file and the output file?

** DCB of input will be Lrecl = 500 bytes  and o/p will be 80 bytes 

>> Performdta___.csv

Q. Where are you getting the mmdd_hhmmss  value?  Your sample input does 
not have it. Is it the CURRENT DATE and CURRENT TIME ?

** Yes it is current data and time 

>> o/p will be Performdta_12211_4138_20220620_192925.csv

Q.  Does your input always contain ONLY 1  Patnum+compkey combination ?  What 
happens if you have another patnum+compkey combo ? 

***1 file will have ONLY 1  Patnum+compkey combination
 Q. Is the patnum+compkey available on ALL records?  Or does it vary?

** Yes all rows will have Patnum+compkey combination

Thanks
Ron T

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


Re: Some UNIX file usage questions

2022-06-20 Thread Paul Gilmartin
I'll correct my earlier misstatement.  You did not say you were the client;
merely "-n-house".

On Mon, 20 Jun 2022 10:41:25 -0700, Charles Mills wrote:

>The ECB is not in the Rexx. It is in MVS-owned storage IIRC. 
>
I believe ECBs routinely occupy user-owned storage.

>-Original Message-
>>...
>>... Well, the actual parameter passed by the Rexx is continuously accessible 
>>to the Assembler. It is of course possible to access any Rexx variable from 
>>assembler, but I see no need. If I understand your question, the answer is No.
>>  
I took "continuously accessible" to mean accessible by concurrent tasks even 
after
the Assembler returns to Rexx.

>That depends on the AFAIK undocumented behavior of Rexx storage
>management.  What happens if Rexx compacts variable storage, thereby
>moving an ECB?  Rexx spurns concurrency.
>
"ECB" for example.  The Devil's advocate was envisioning using the parameter
passed by Rexx as working storage.  Which is OK until returning to Rexx.

-- 
gil

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


Re: Some UNIX file usage questions

2022-06-20 Thread Bill Johnson
That’s beautiful. And a pet peeve of mine.


Sent from Yahoo Mail for iPhone


On Monday, June 20, 2022, 1:47 PM, Tony Harminc  wrote:

On Mon, 20 Jun 2022 at 13:34, David Crayford  wrote:
>
> I could care less about Python.

Could you care a lot less, or just a little bit less? There is surely
quite a range of caring.
Here's a little chart that may help you express how much you care
about Python or anything else.

https://incompetech.com/gallimaufry/care_less.html

Tony H.

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




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


Re: Some UNIX file usage questions

2022-06-20 Thread David Crayford

On 21/06/2022 1:47 am, Tony Harminc wrote:

On Mon, 20 Jun 2022 at 13:34, David Crayford  wrote:

I could care less about Python.

Could you care a lot less, or just a little bit less? There is surely
quite a range of caring.
Here's a little chart that may help you express how much you care
about Python or anything else.

https://incompetech.com/gallimaufry/care_less.html


How much do you care about people caring?




Tony H.

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


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


Re: Some UNIX file usage questions

2022-06-20 Thread David Crayford

On 21/06/2022 1:47 am, Charles Mills wrote:
As I said in response to an earlier question, I am the master of this 
universe.  


Good luck to you and have fun :)



Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Monday, June 20, 2022 10:34 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

I could care less about Python. What is disconcerting is why you would
choose REXX/Assembler when you could write the same thing with less code
and complexity using C++ which you already know. Maybe you're just
having fun and there is nothing wrong with that. There is nobody to
review your code and ask for changes like where I work.

--
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: Some UNIX file usage questions

2022-06-20 Thread Charles Mills
For simple applications, in my experience, Rexx is quicker concept -> running 
application than is C++. The client is not always perfectly able to express his 
vision, so a quick prototype -> demonstrate -> prototype again cycle is very 
advantageous, and Rexx is great for that.  If it were a complex application I 
would definitely use C++.  Although even there (in 2012) I used assembler to 
accept console commands.

Not my first rodeo. I have been doing client management successfully for a 
long time.

> There is nobody to review your code and ask for changes

As I said in response to an earlier question, I am the master of this universe. 


Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Monday, June 20, 2022 10:34 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

I could care less about Python. What is disconcerting is why you would 
choose REXX/Assembler when you could write the same thing with less code 
and complexity using C++ which you already know. Maybe you're just 
having fun and there is nothing wrong with that. There is nobody to 
review your code and ask for changes like where I work.

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


Re: Some UNIX file usage questions

2022-06-20 Thread Tony Harminc
On Mon, 20 Jun 2022 at 13:34, David Crayford  wrote:
>
> I could care less about Python.

Could you care a lot less, or just a little bit less? There is surely
quite a range of caring.
Here's a little chart that may help you express how much you care
about Python or anything else.

https://incompetech.com/gallimaufry/care_less.html

Tony H.

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


Re: Some UNIX file usage questions

2022-06-20 Thread Charles Mills
The ECB is not in the Rexx. It is in MVS-owned storage IIRC. 

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: Monday, June 20, 2022 10:37 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

On Mon, 20 Jun 2022 10:24:17 -0700, Charles Mills wrote:
>...
>Then the ECB would already be posted and the WAIT ECBLIST would be satisfied 
>immediately. It is a consideration for all such routines, and not a big deal, 
>unless the coder is stupid enough to reset the ECB before the WAIT, rather 
>than after.
> 
You've already been called "stupid" today, even if only by association.  That's
probably the quota.

>... Well, the actual parameter passed by the Rexx is continuously accessible 
>to the Assembler. It is of course possible to access any Rexx variable from 
>assembler, but I see no need. If I understand your question, the answer is No.
> 
That depends on the AFAIK undocumented behavior of Rexx storage
management.  What happens if Rexx compacts variable storage, thereby
moving an ECB?  Rexx spurns concurrency.

-- 
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: Some UNIX file usage questions

2022-06-20 Thread Paul Gilmartin
On Mon, 20 Jun 2022 10:24:17 -0700, Charles Mills wrote:
>...
>Then the ECB would already be posted and the WAIT ECBLIST would be satisfied 
>immediately. It is a consideration for all such routines, and not a big deal, 
>unless the coder is stupid enough to reset the ECB before the WAIT, rather 
>than after.
> 
You've already been called "stupid" today, even if only by association.  That's
probably the quota.

>... Well, the actual parameter passed by the Rexx is continuously accessible 
>to the Assembler. It is of course possible to access any Rexx variable from 
>assembler, but I see no need. If I understand your question, the answer is No.
> 
That depends on the AFAIK undocumented behavior of Rexx storage
management.  What happens if Rexx compacts variable storage, thereby
moving an ECB?  Rexx spurns concurrency.

-- 
gil

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


Re: Some UNIX file usage questions

2022-06-20 Thread David Crayford
I could care less about Python. What is disconcerting is why you would 
choose REXX/Assembler when you could write the same thing with less code 
and complexity using C++ which you already know. Maybe you're just 
having fun and there is nothing wrong with that. There is nobody to 
review your code and ask for changes like where I work.


On 21/06/2022 1:31 am, Charles Mills wrote:

I am not the client. I guess the client makes its decisions based on a variety of factors. I have 
many skills that are valuable to the client, and I would guess that "best language for the 
application in the opinion of a guy on IBMMAIN" (as opposed to "demonstrably adequate 
language") is not high on the client's list of factors.

I think you are engaging in "engineer-ism" (there may be a better word?). Python may well be the 
best language for the job, for some values of best. Rexx is a perfectly adequate language for the job. 
"Integrating a new developer" would be for the client what "implementing a new language 
environment" would be for me.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Monday, June 20, 2022 9:58 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

I take it you must be the client? I can't fathom any client who would be
stupid enough to allow a vendor to write code in their language of
choice due to their personal skill set. That's technical debt.

On 20/06/2022 11:34 pm, Charles Mills wrote:

Aww David, I respect you more than that reply.

Of course I could learn to write Hello World in Python more quickly than I can 
write this sentence. But what I alluded to is that past experience teaches me 
that getting from Hello World to a working system on z/OS is many days of agony.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Sunday, June 19, 2022 9:32 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

You could have learned Python in the time it took you to write this email.

On 20/06/2022 1:15 am, Charles Mills wrote:

Why not use Python? Good question.

1. I can undoubtedly do it perfectly satisfactorily, and almost certainly more 
quickly, in Rexx (because of the learning curve). I would have trouble 
justifying billing the client for my Python learning time when there is little 
benefit (that I know of -- correct me if I am wrong) for the client who is 
paying the bills.

Why not, then, learn Python on my own time? Don't I want to learn Python? Yes I 
do, but there are only so many hours in a day, and there are other things I 
want to learn more than I do Python. For example, I would rather spend the time 
learning to make the Roman-Jewish fried artichokes that are in the current 
Cooks Illustrated. Learning Python is just not very high on my bucket list. 
It's there, but probably not high enough to ever rise to the top.

2. I know exactly how to execute a Started Task written in Rexx, and I know most of the 
gotchas. In my experience, THAT is the problem with the "new tools" on z/OS. 
What would I have to do to execute a Started Task written in Python? What are the 
gotchas? Heck, what do I have to do to set up any Python environment at all? That is the 
time-consuming issue, and it holds about zero personal gratification for me. I could 
probably learn the Python language pretty readily, and it would be one more notch in my 
belt. Solving the probable gotchas of getting Python to actually do productive work on 
z/OS -- not so much.

Not for me, and probably not for the "report" (I am flattering the requirement calling it 
a report -- maybe call it an "alert") that the client wants. And again, a learning curve 
that is difficult to justify.

So I think I will write it in Rexx, with perhaps a little bit of Assembler.

Does your client REALLY want to maintain assembler code? Our company
policy is not to use assembler for new code due to lack of available
skills which will only get worse.



Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Saturday, June 18, 2022 11:43 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

On 19/06/2022 1:33 am, Paul Gilmartin wrote:

On Sat, 18 Jun 2022 09:51:45 -0700, Charles Mills wrote:

   ...
I picture writing the started task in Rexx, so I would have to write to a DD
name allocated to the UNIX file (either dynamically or with JCL), not with
"native" C fopen(), fwrite(), etc. Does that change any of the answers?


Why?  In Rexx you can "address SYASCALL write ..." instead.

Why REXX? Is it a case of knowing the banjo so you play Stairway to
Heaven in the style of Earl Schruggs?

Why not use IBMs z/OS Python? You can then use SQLite instead of a file
which will significantly simplify writing reports. In fact,

Re: Some UNIX file usage questions

2022-06-20 Thread Charles Mills
I am not the client. I guess the client makes its decisions based on a variety 
of factors. I have many skills that are valuable to the client, and I would 
guess that "best language for the application in the opinion of a guy on 
IBMMAIN" (as opposed to "demonstrably adequate language") is not high on the 
client's list of factors.

I think you are engaging in "engineer-ism" (there may be a better word?). 
Python may well be the best language for the job, for some values of best. Rexx 
is a perfectly adequate language for the job. "Integrating a new developer" 
would be for the client what "implementing a new language environment" would be 
for me.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Monday, June 20, 2022 9:58 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

I take it you must be the client? I can't fathom any client who would be 
stupid enough to allow a vendor to write code in their language of 
choice due to their personal skill set. That's technical debt.

On 20/06/2022 11:34 pm, Charles Mills wrote:
> Aww David, I respect you more than that reply.
>
> Of course I could learn to write Hello World in Python more quickly than I 
> can write this sentence. But what I alluded to is that past experience 
> teaches me that getting from Hello World to a working system on z/OS is many 
> days of agony.
>
> Charles
>
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of David Crayford
> Sent: Sunday, June 19, 2022 9:32 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Some UNIX file usage questions
>
> You could have learned Python in the time it took you to write this email.
>
> On 20/06/2022 1:15 am, Charles Mills wrote:
>>> Why not use Python? Good question.
>> 1. I can undoubtedly do it perfectly satisfactorily, and almost certainly 
>> more quickly, in Rexx (because of the learning curve). I would have trouble 
>> justifying billing the client for my Python learning time when there is 
>> little benefit (that I know of -- correct me if I am wrong) for the client 
>> who is paying the bills.
>>
>> Why not, then, learn Python on my own time? Don't I want to learn Python? 
>> Yes I do, but there are only so many hours in a day, and there are other 
>> things I want to learn more than I do Python. For example, I would rather 
>> spend the time learning to make the Roman-Jewish fried artichokes that are 
>> in the current Cooks Illustrated. Learning Python is just not very high on 
>> my bucket list. It's there, but probably not high enough to ever rise to the 
>> top.
>>
>> 2. I know exactly how to execute a Started Task written in Rexx, and I know 
>> most of the gotchas. In my experience, THAT is the problem with the "new 
>> tools" on z/OS. What would I have to do to execute a Started Task written in 
>> Python? What are the gotchas? Heck, what do I have to do to set up any 
>> Python environment at all? That is the time-consuming issue, and it holds 
>> about zero personal gratification for me. I could probably learn the Python 
>> language pretty readily, and it would be one more notch in my belt. Solving 
>> the probable gotchas of getting Python to actually do productive work on 
>> z/OS -- not so much.
>> 
>> Not for me, and probably not for the "report" (I am flattering the 
>> requirement calling it a report -- maybe call it an "alert") that the client 
>> wants. And again, a learning curve that is difficult to justify.
>>
>> So I think I will write it in Rexx, with perhaps a little bit of Assembler.
> Does your client REALLY want to maintain assembler code? Our company
> policy is not to use assembler for new code due to lack of available
> skills which will only get worse.
>
>
>> Charles
>>
>>
>> -Original Message-
>> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
>> Behalf Of David Crayford
>> Sent: Saturday, June 18, 2022 11:43 PM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Some UNIX file usage questions
>>
>> On 19/06/2022 1:33 am, Paul Gilmartin wrote:
>>> On Sat, 18 Jun 2022 09:51:45 -0700, Charles Mills wrote:
   ...
 I picture writing the started task in Rexx, so I would have to write to a 
 DD
 name allocated to the UNIX file (either dynamically or with JCL), not with
 "native" C fopen(), fwrite(), etc. Does that change any of the answers?

>>> Why?  In Rexx you can "address SYASCALL write ..." instead.
>> Why REXX? Is it a case of knowing the banjo so you play Stairway to
>> Heaven in the style of Earl Schruggs?
>>
>> Why not use IBMs z/OS Python? You can then use SQLite instead of a file
>> which will significantly simplify writing reports. In fact, it would
>> trivial to serve those
>> reports as a REST API and put a nice WebUI on top using a simple
>> template that supports data tables.
>>
>> 

Re: Some UNIX file usage questions

2022-06-20 Thread David Crayford

On 21/06/2022 1:07 am, Paul Gilmartin wrote:

On Mon, 20 Jun 2022 08:47:49 -0700, Charles Mills wrote:

...
The assembler routine will take as input a delay time in hundredths of a second 
(because of STIMER), do a WAIT ECBLIST, and return one of

'T' -- the time expired
'P' -- the operator entered STOP
'F modify command operand' -- the operator entered MODIFY


What happens if the operator enters STOP during the (relatively minuscule)
fraction of time that Rexx, not Assembler is active?


In that case the EXTRACT ECB will be posted and the routine will stop 
when it is re-entered and the ECB is tested. I've written something 
similar myself for Lua. The differnce is Lua is object oriented and 
holds state where REXX is not so it's a Frankenstien monster to create a 
reusable context.
It's hard to justify why anybody would do it for REXX when you can just 
code a C++ program using __console() and a std::thread.





Is there a need for persistent storage accessible by both Rexx and Assembler?

Is there a way for the operator to send SIGINT (Unix "Modify")?  Can Rexx
catch it?



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


Re: Some UNIX file usage questions

2022-06-20 Thread Charles Mills
> What happens if the operator enters STOP during the (relatively minuscule)
> fraction of time that Rexx, not Assembler is active?

Then the ECB would already be posted and the WAIT ECBLIST would be satisfied 
immediately. It is a consideration for all such routines, and not a big deal, 
unless the coder is stupid enough to reset the ECB before the WAIT, rather than 
after.

> Is there a need for persistent storage accessible by both Rexx and Assembler?

Well, the actual parameter passed by the Rexx is continuously accessible to the 
Assembler. It is of course possible to access any Rexx variable from assembler, 
but I see no need. If I understand your question, the answer is No.

> Is there a way for the operator to send SIGINT (Unix "Modify")?  Can Rexx
> catch it?

Not if it's vaccinated.  Seriously, no idea.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: Monday, June 20, 2022 10:08 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

On Mon, 20 Jun 2022 08:47:49 -0700, Charles Mills wrote:
>...
>The assembler routine will take as input a delay time in hundredths of a 
>second (because of STIMER), do a WAIT ECBLIST, and return one of
>
>'T' -- the time expired
>'P' -- the operator entered STOP
>'F modify command operand' -- the operator entered MODIFY
>
What happens if the operator enters STOP during the (relatively minuscule)
fraction of time that Rexx, not Assembler is active?

Is there a need for persistent storage accessible by both Rexx and Assembler?

Is there a way for the operator to send SIGINT (Unix "Modify")?  Can Rexx
catch it?

-- 
gil

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

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


Re: Some UNIX file usage questions

2022-06-20 Thread Paul Gilmartin
On Tue, 21 Jun 2022 00:58:29 +0800, David Crayford wrote:

>I take it you must be the client? 
>
Actually, he said that in the first ply.

>... I can't fathom any client who would be
>stupid enough to allow a vendor to write code in their language of
>
This is becoming excessively ad hominem, despite lacking the participation
of the "usual suspects", who seem to be preoccupied on ASSEMBLER-LIST
this week.

>choice due to their personal skill set. That's technical debt.
>
There's value to the client in the vendor's choosing a language 
included in the OS base.

-- gil

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


Re: DFSort Create Filename

2022-06-20 Thread Sri h Kolusu
>> Could someone let me know how we can do the same in dfsort ?

Ron, 

You have been member on this board for number of years and yet your questions 
are incomplete with required details.

So questions for you.

>>  If header comes in to this file for whatever reason  we need to skip and 
>> then build this filename

Q. How do you distinguish the header ? Any indicator? You don't even show a 
sample. 

>> The below fields remain the same for all the rows CompKey - 19 to 22 
>> Position Patnum - 26 to 30 Position

Q.  You do realize that you did NOT use "Fixed Font or Courier New" font to 
retain the spacing in the sample data ? 
Q.  What are the DCB properties of the input file and the output file?

>> Performdta___.csv

Q. Where are you getting the mmdd_hhmmss  value?  Your sample input does 
not have it. Is it the CURRENT DATE and CURRENT TIME ?

>> o/p will be Performdta_12211_4138_20220620_192925.csv

Q.  Does your input always contain ONLY 1  Patnum+compkey combination ?  What 
happens if you have another patnum+compkey combo ? 
 Q. Is the patnum+compkey available on ALL records?  Or does it vary?

Thanks,
Kolusu

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


Re: Some UNIX file usage questions

2022-06-20 Thread René Jansen
Charles, I take it you heard about System Rexx?

René 


> On 20 Jun 2022, at 17:48, Charles Mills  wrote:
> 
> I *think* it would be possible to monitor the console ECB from Rexx, and 
> extract any MODIFY text -- you can do almost anything in Rexx with enough 
> C2D()'s -- but multiple levels of C2D() does not exactly make for a pretty 
> application. I think it would be Rexx abuse.
> 
> Answering @kekronbekron's question, I don't think there is any "system" 
> facility that lets a program written in Rexx be aware of STOP or MODIFY. I 
> have two similar Rexx STC's -- one is essentially version zero of the app I 
> am designing here, and will be replaced by it -- and for both, I admit it, 
> the command to stop them is CANCEL. :-(
> 
> I don't think there is any facility for Rexx running in batch-type 
> environments, whether compiled or interpreted, including as an STC, to 
> process HI (Halt Interpretation, not "Hello!"). I would be happy if someone 
> would correct me.
> 
> What I keep meaning to do, and will do as part of this application, is write 
> a little assembler (sorry, David ) routine to solve this issue. All of 
> these STC's have the general flow
> 
> Do Forever
>  Perform some sort of processing
>  Delay several minutes
> 
> (Watch out if the list folds those lines!)
> 
> The assembler routine will take as input a delay time in hundredths of a 
> second (because of STIMER), do a WAIT ECBLIST, and return one of
> 
> 'T' -- the time expired
> 'P' -- the operator entered STOP
> 'F modify command operand' -- the operator entered MODIFY
> 
> That will make for an application that could be halted without CANCEL, and 
> also could potentially be re-parametized on the fly.
>
> Charles
> 
> 
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of David Crayford
> Sent: Sunday, June 19, 2022 10:32 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Some UNIX file usage questions
> 
>> On 20/06/2022 12:08 pm, wrote:
>> Hey Charles,
>> 
>>> I know exactly how to execute a Started Task written in Rexx, and I know 
>>> most of the gotchas.
>> Could you expand a bit on this please.
>> I have this compiled REXX called MON3B from IBM, from 2016.
>> https://ftpmirror.your.org/pub/misc/ftp.software.ibm.com/s390/zos/wlm/MonitorIIIBatch-v1.10.pdf
>> 
>> Is cancelling it the only way to stop it, if the source for the REXX isn't 
>> available to modify?
> 
> If it's written in REXX I very much doubt it's handling operator 
> commands. That would require a console handler thread which is waaayyy 
> outside the limits of the language. I'm not familar with this product 
> and RMF is one of our products.
> 
> 
>> 
>>  - KB
>> 
>> --- Original Message ---
>> On Sunday, June 19th, 2022 at 10:45 PM, Charles Mills  
>> wrote:
>> 
>> 
 Why not use Python? Good question.
>>> 
>>> 1. I can undoubtedly do it perfectly satisfactorily, and almost certainly 
>>> more quickly, in Rexx (because of the learning curve). I would have trouble 
>>> justifying billing the client for my Python learning time when there is 
>>> little benefit (that I know of -- correct me if I am wrong) for the client 
>>> who is paying the bills.
>>> 
>>> Why not, then, learn Python on my own time? Don't I want to learn Python? 
>>> Yes I do, but there are only so many hours in a day, and there are other 
>>> things I want to learn more than I do Python. For example, I would rather 
>>> spend the time learning to make the Roman-Jewish fried artichokes that are 
>>> in the current Cooks Illustrated. Learning Python is just not very high on 
>>> my bucket list. It's there, but probably not high enough to ever rise to 
>>> the top.
>>> 
>>> 2. I know exactly how to execute a Started Task written in Rexx, and I know 
>>> most of the gotchas. In my experience, THAT is the problem with the "new 
>>> tools" on z/OS. What would I have to do to execute a Started Task written 
>>> in Python? What are the gotchas? Heck, what do I have to do to set up any 
>>> Python environment at all? That is the time-consuming issue, and it holds 
>>> about zero personal gratification for me. I could probably learn the Python 
>>> language pretty readily, and it would be one more notch in my belt. Solving 
>>> the probable gotchas of getting Python to actually do productive work on 
>>> z/OS -- not so much.
>>> 
 it would trivial to serve those reports as a REST API
>>> 
>>> Neat, but that is not what the client (who is paying the bills) wants. He 
>>> wants a trivial-to-read-on-his-iPhone email in his inbox every morning. 
>>> Again, it would be nice to have "how to write a REST API" in my toolkit, 
>>> but not nice enough for me to learn it on my own time. Frankly, I am in an 
>>> "I wish I had less work on my plate" mode and I would probably rather learn 
>>> that artichoke recipe than learn to write REST APIs even if I were getting 
>>> paid for the learning time.
>>> 
 use SQLite instead of 

Re: Some UNIX file usage questions

2022-06-20 Thread Paul Gilmartin
On Mon, 20 Jun 2022 08:47:49 -0700, Charles Mills wrote:
>...
>The assembler routine will take as input a delay time in hundredths of a 
>second (because of STIMER), do a WAIT ECBLIST, and return one of
>
>'T' -- the time expired
>'P' -- the operator entered STOP
>'F modify command operand' -- the operator entered MODIFY
>
What happens if the operator enters STOP during the (relatively minuscule)
fraction of time that Rexx, not Assembler is active?

Is there a need for persistent storage accessible by both Rexx and Assembler?

Is there a way for the operator to send SIGINT (Unix "Modify")?  Can Rexx
catch it?

-- 
gil

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


Re: Some UNIX file usage questions

2022-06-20 Thread David Crayford
I take it you must be the client? I can't fathom any client who would be 
stupid enough to allow a vendor to write code in their language of 
choice due to their personal skill set. That's technical debt.


On 20/06/2022 11:34 pm, Charles Mills wrote:

Aww David, I respect you more than that reply.

Of course I could learn to write Hello World in Python more quickly than I can 
write this sentence. But what I alluded to is that past experience teaches me 
that getting from Hello World to a working system on z/OS is many days of agony.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Sunday, June 19, 2022 9:32 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

You could have learned Python in the time it took you to write this email.

On 20/06/2022 1:15 am, Charles Mills wrote:

Why not use Python? Good question.

1. I can undoubtedly do it perfectly satisfactorily, and almost certainly more 
quickly, in Rexx (because of the learning curve). I would have trouble 
justifying billing the client for my Python learning time when there is little 
benefit (that I know of -- correct me if I am wrong) for the client who is 
paying the bills.

Why not, then, learn Python on my own time? Don't I want to learn Python? Yes I 
do, but there are only so many hours in a day, and there are other things I 
want to learn more than I do Python. For example, I would rather spend the time 
learning to make the Roman-Jewish fried artichokes that are in the current 
Cooks Illustrated. Learning Python is just not very high on my bucket list. 
It's there, but probably not high enough to ever rise to the top.

2. I know exactly how to execute a Started Task written in Rexx, and I know most of the 
gotchas. In my experience, THAT is the problem with the "new tools" on z/OS. 
What would I have to do to execute a Started Task written in Python? What are the 
gotchas? Heck, what do I have to do to set up any Python environment at all? That is the 
time-consuming issue, and it holds about zero personal gratification for me. I could 
probably learn the Python language pretty readily, and it would be one more notch in my 
belt. Solving the probable gotchas of getting Python to actually do productive work on 
z/OS -- not so much.

Not for me, and probably not for the "report" (I am flattering the requirement calling it 
a report -- maybe call it an "alert") that the client wants. And again, a learning curve 
that is difficult to justify.

So I think I will write it in Rexx, with perhaps a little bit of Assembler.

Does your client REALLY want to maintain assembler code? Our company
policy is not to use assembler for new code due to lack of available
skills which will only get worse.



Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Saturday, June 18, 2022 11:43 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

On 19/06/2022 1:33 am, Paul Gilmartin wrote:

On Sat, 18 Jun 2022 09:51:45 -0700, Charles Mills wrote:

  ...
I picture writing the started task in Rexx, so I would have to write to a DD
name allocated to the UNIX file (either dynamically or with JCL), not with
"native" C fopen(), fwrite(), etc. Does that change any of the answers?


Why?  In Rexx you can "address SYASCALL write ..." instead.

Why REXX? Is it a case of knowing the banjo so you play Stairway to
Heaven in the style of Earl Schruggs?

Why not use IBMs z/OS Python? You can then use SQLite instead of a file
which will significantly simplify writing reports. In fact, it would
trivial to serve those
reports as a REST API and put a nice WebUI on top using a simple
template that supports data tables.

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


DFSort Create Filename

2022-06-20 Thread Ron Thomas
Hello -


We have a input file as follows.  

* Top of Data *
.0050425063|..4138|..12211|..   0|..   0|..   0|..   0|
.0050996097|..4138|..12211|..   0|..   0|..   0|..   0|
.0009077849|..4138|..12211|..1.50|..1.50|..
.0050761685|..4138|..12211|..2.20|..00013.20|..
.0050124393|..4138|..12211|..   0|..   0|..   0|..   0|
.0050997036|..4138|..12211|..   0|..   0|..   0|..   0|
.0009646052|..4138|..12211|..1.24|..00041.21|..

The below fields remain the same for all the rows 
CompKey - 19 to 22 Position 
Patnum - 26 to 30 Position 

If header comes in to this file for whatever reason  we need to skip and then 
build this filename 


The  filename in a output dataset like as below.

Performdta___.csv

o/p will be Performdta_12211_4138_20220620_192925.csv

Could someone let me know how we can do the same in dfsort ?


Regards
Ron T

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


Re: SMPe REPORT by APPLY date

2022-06-20 Thread Kurt J. Quackenbush
> Is it possible to get a SMPe report in order of the date the sysmods were 
> applied?

The SMP/E LIST and UNLOAD commands outputs do not sort the currently installed 
SYSMODs by APPLY date.  You'll have to roll your own by either manipulating and 
sorting LIST or UNLOAD output, or using the GIMAPI program to query the target 
zone to read the SYSMOD entries and do the sorting yourself.

Kurt Quackenbush
IBM  |  z/OS SMP/E and z/OSMF Software Management  |  ku...@us.ibm.com

Chuck Norris never uses CHECK when he applies PTFs.


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


Space efficient volumes - zVM

2022-06-20 Thread Peter
Hello

I have got some zVM CP owned Volumes in space efficient volumes due to
which the ZVM LPAR fails with a wait state code of 9050.

Is it possible to move an existing CP OWNED Volume from space efficient
volume to classic DS8K volumes without reinitializing it ?

Peter

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


Re: Some UNIX file usage questions

2022-06-20 Thread Charles Mills
I *think* it would be possible to monitor the console ECB from Rexx, and 
extract any MODIFY text -- you can do almost anything in Rexx with enough 
C2D()'s -- but multiple levels of C2D() does not exactly make for a pretty 
application. I think it would be Rexx abuse.

Answering @kekronbekron's question, I don't think there is any "system" 
facility that lets a program written in Rexx be aware of STOP or MODIFY. I have 
two similar Rexx STC's -- one is essentially version zero of the app I am 
designing here, and will be replaced by it -- and for both, I admit it, the 
command to stop them is CANCEL. :-(

I don't think there is any facility for Rexx running in batch-type 
environments, whether compiled or interpreted, including as an STC, to process 
HI (Halt Interpretation, not "Hello!"). I would be happy if someone would 
correct me.

What I keep meaning to do, and will do as part of this application, is write a 
little assembler (sorry, David ) routine to solve this issue. All of these 
STC's have the general flow

Do Forever
  Perform some sort of processing
  Delay several minutes

(Watch out if the list folds those lines!)

The assembler routine will take as input a delay time in hundredths of a second 
(because of STIMER), do a WAIT ECBLIST, and return one of

'T' -- the time expired
'P' -- the operator entered STOP
'F modify command operand' -- the operator entered MODIFY

That will make for an application that could be halted without CANCEL, and also 
could potentially be re-parametized on the fly.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Sunday, June 19, 2022 10:32 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

On 20/06/2022 12:08 pm, wrote:
> Hey Charles,
>
>> I know exactly how to execute a Started Task written in Rexx, and I know 
>> most of the gotchas.
> Could you expand a bit on this please.
> I have this compiled REXX called MON3B from IBM, from 2016.
> https://ftpmirror.your.org/pub/misc/ftp.software.ibm.com/s390/zos/wlm/MonitorIIIBatch-v1.10.pdf
>
> Is cancelling it the only way to stop it, if the source for the REXX isn't 
> available to modify?

If it's written in REXX I very much doubt it's handling operator 
commands. That would require a console handler thread which is waaayyy 
outside the limits of the language. I'm not familar with this product 
and RMF is one of our products.


>
>   - KB
>
> --- Original Message ---
> On Sunday, June 19th, 2022 at 10:45 PM, Charles Mills  
> wrote:
>
>
>>> Why not use Python? Good question.
>>
>> 1. I can undoubtedly do it perfectly satisfactorily, and almost certainly 
>> more quickly, in Rexx (because of the learning curve). I would have trouble 
>> justifying billing the client for my Python learning time when there is 
>> little benefit (that I know of -- correct me if I am wrong) for the client 
>> who is paying the bills.
>>
>> Why not, then, learn Python on my own time? Don't I want to learn Python? 
>> Yes I do, but there are only so many hours in a day, and there are other 
>> things I want to learn more than I do Python. For example, I would rather 
>> spend the time learning to make the Roman-Jewish fried artichokes that are 
>> in the current Cooks Illustrated. Learning Python is just not very high on 
>> my bucket list. It's there, but probably not high enough to ever rise to the 
>> top.
>>
>> 2. I know exactly how to execute a Started Task written in Rexx, and I know 
>> most of the gotchas. In my experience, THAT is the problem with the "new 
>> tools" on z/OS. What would I have to do to execute a Started Task written in 
>> Python? What are the gotchas? Heck, what do I have to do to set up any 
>> Python environment at all? That is the time-consuming issue, and it holds 
>> about zero personal gratification for me. I could probably learn the Python 
>> language pretty readily, and it would be one more notch in my belt. Solving 
>> the probable gotchas of getting Python to actually do productive work on 
>> z/OS -- not so much.
>>
>>> it would trivial to serve those reports as a REST API
>>
>> Neat, but that is not what the client (who is paying the bills) wants. He 
>> wants a trivial-to-read-on-his-iPhone email in his inbox every morning. 
>> Again, it would be nice to have "how to write a REST API" in my toolkit, but 
>> not nice enough for me to learn it on my own time. Frankly, I am in an "I 
>> wish I had less work on my plate" mode and I would probably rather learn 
>> that artichoke recipe than learn to write REST APIs even if I were getting 
>> paid for the learning time.
>>
>>> use SQLite instead of a file which will significantly simplify writing 
>>> reports
>>
>> Not for me, and probably not for the "report" (I am flattering the 
>> requirement calling it a report -- maybe call it an "alert") that the client 
>> wants. And again, a learning curve that is difficult to jus

Re: Some UNIX file usage questions

2022-06-20 Thread Charles Mills
Aww David, I respect you more than that reply.

Of course I could learn to write Hello World in Python more quickly than I can 
write this sentence. But what I alluded to is that past experience teaches me 
that getting from Hello World to a working system on z/OS is many days of agony.

Charles


-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of David Crayford
Sent: Sunday, June 19, 2022 9:32 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

You could have learned Python in the time it took you to write this email.

On 20/06/2022 1:15 am, Charles Mills wrote:
>> Why not use Python? Good question.
> 1. I can undoubtedly do it perfectly satisfactorily, and almost certainly 
> more quickly, in Rexx (because of the learning curve). I would have trouble 
> justifying billing the client for my Python learning time when there is 
> little benefit (that I know of -- correct me if I am wrong) for the client 
> who is paying the bills.
>
> Why not, then, learn Python on my own time? Don't I want to learn Python? Yes 
> I do, but there are only so many hours in a day, and there are other things I 
> want to learn more than I do Python. For example, I would rather spend the 
> time learning to make the Roman-Jewish fried artichokes that are in the 
> current Cooks Illustrated. Learning Python is just not very high on my bucket 
> list. It's there, but probably not high enough to ever rise to the top.
>
> 2. I know exactly how to execute a Started Task written in Rexx, and I know 
> most of the gotchas. In my experience, THAT is the problem with the "new 
> tools" on z/OS. What would I have to do to execute a Started Task written in 
> Python? What are the gotchas? Heck, what do I have to do to set up any Python 
> environment at all? That is the time-consuming issue, and it holds about zero 
> personal gratification for me. I could probably learn the Python language 
> pretty readily, and it would be one more notch in my belt. Solving the 
> probable gotchas of getting Python to actually do productive work on z/OS -- 
> not so much.
> 
> Not for me, and probably not for the "report" (I am flattering the 
> requirement calling it a report -- maybe call it an "alert") that the client 
> wants. And again, a learning curve that is difficult to justify.
>
> So I think I will write it in Rexx, with perhaps a little bit of Assembler.

Does your client REALLY want to maintain assembler code? Our company 
policy is not to use assembler for new code due to lack of available 
skills which will only get worse.


>
> Charles
>
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On 
> Behalf Of David Crayford
> Sent: Saturday, June 18, 2022 11:43 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Some UNIX file usage questions
>
> On 19/06/2022 1:33 am, Paul Gilmartin wrote:
>> On Sat, 18 Jun 2022 09:51:45 -0700, Charles Mills wrote:
>>>  ...
>>> I picture writing the started task in Rexx, so I would have to write to a DD
>>> name allocated to the UNIX file (either dynamically or with JCL), not with
>>> "native" C fopen(), fwrite(), etc. Does that change any of the answers?
>>>
>> Why?  In Rexx you can "address SYASCALL write ..." instead.
> Why REXX? Is it a case of knowing the banjo so you play Stairway to
> Heaven in the style of Earl Schruggs?
>
> Why not use IBMs z/OS Python? You can then use SQLite instead of a file
> which will significantly simplify writing reports. In fact, it would
> trivial to serve those
> reports as a REST API and put a nice WebUI on top using a simple
> template that supports data tables.
>
> --
> 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: ITEM NAME(CLUSTER) NUMBER(1), PGM=IXCL1DSU

2022-06-20 Thread Mark Jacobs
Thank you for that explanation. I wasn't able to find anything about it when I 
was looking.

Mark Jacobs

Sent from ProtonMail, Swiss-based encrypted email.

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


--- Original Message ---
On Monday, June 20th, 2022 at 9:31 AM, Bill Neiman  wrote:


> The CLUSTER support was part of what was supposed to be an over-arching 
> automation infrastructure that would provide a sysplex-level view of 
> properties and events for improved business resiliency. I don't think it ever 
> came together.
>
> Bill Neiman
> Parallel Sysplex development
> IBM
>
> --
> 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: IZUSVR1 startup for z/OS 2.4

2022-06-20 Thread Carmen Vitullo
you 'SHOULD' be able to find the error message on IBMLINK, I say should, 
that's been my biggest issues so far, these messages provide no help, 
that said, in z/OS 2.4 you should not be using /var/zosmf/ the data file 
'customer config' is now in the /global/zosmf/ dir, make sure you're 
using the correct proc for 2.4, it has the updates for 2.4.


BTW - the file structure was changed in 2.3 IIRC

Carmen

On 6/20/2022 9:47 AM, rpinion865 wrote:

I am in the process of rolling out z/OS 2.4 at my new employer. I inherited my 
predecessor's Serverpac install of z/OS 2.4. I pulled down, and applied the 
z/OS 2.4 cumulative maintenance (first week of June). The initial IPL's have 
all been successful. Yesterday, I noticed the following error message when 
IZUSVR1 was started. I looked up the error message CWWKG0048E. But 
unfortunately, it did not help identify the problem.

[ERROR ] CWWKG0048E: Configuration document does not contain a signature: 
file:/var/zosmf/configuration/servers/zosmfServer/server.xml.

Any ideas?

Sent with [Proton Mail](https://proton.me/) secure email.

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


IZUSVR1 startup for z/OS 2.4

2022-06-20 Thread rpinion865
I am in the process of rolling out z/OS 2.4 at my new employer. I inherited my 
predecessor's Serverpac install of z/OS 2.4. I pulled down, and applied the 
z/OS 2.4 cumulative maintenance (first week of June). The initial IPL's have 
all been successful. Yesterday, I noticed the following error message when 
IZUSVR1 was started. I looked up the error message CWWKG0048E. But 
unfortunately, it did not help identify the problem.

[ERROR ] CWWKG0048E: Configuration document does not contain a signature: 
file:/var/zosmf/configuration/servers/zosmfServer/server.xml.

Any ideas?

Sent with [Proton Mail](https://proton.me/) secure email.

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


Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread David Crayford
I've used both MQ and Kafka so I'll give a brief overview of the 
differences and capabilities.


Kafka is distributed system. It's designed to be scaled horizontally for 
both fail-over and throughput. It uses a consensus algorithm similar to 
RAFT to elect a leader both initially and in the event of a broker 
failure when it needs to re-balance the cluster. MQ is a traditional 
message broker where Kafka is more of a streaming platform that you can 
think of a distributed log. The Kafka unit of scale is a partition which 
is a file in the file system,  distributed either randomly using keys or 
round robin. MQ is push based with a local transaction log where Kafka 
is pull based using commits to keep the offset into the log per 
consumer. The benefit of this is that you can take a service down for 
upgrade and then restart from the last commit point. Unlike MQ Kafka 
keeps doesn't delete records when they are consumed so you can bring new 
services online that start from the earliest position in the log. Data 
retention is managed using policies such as time and size limits.


Kafka works in a sysplex as it boils down to a TCP based protocol and is 
platform agnostic. In fact you could build a cluster with some brokers 
on z/OS and some on x86 Linux if you wanted to. It runs well on z/OS, 
although it was broken until last year as z/OS UNIX mmap was limited to 
31-bit address spaces. IBM fixed the issue as Kafka is strategic for 
analytics products (including ours). There is some doc 
https://www.ibm.com/docs/en/z-logdata-analytics/5.1.0?topic=configuring-setting-up-apache-kafka-z.


Where the two really start to differ is the eco-system. Kafka is much 
more then just a broker. There is a stream API and other abstractions to 
layer on top such as ksqlDB which a SQL interface to live data streams. 
You write a query which can aggregate/group data from a stream based 
upon a time window and then emit results to an output topic. For 
example, you can stream SMF 110 CICS CMF records, aggregate them into a 
5 minute hopping window with AVG, MIN, MAX functions etc and then 
publish them to Elasticsearch, Splunk or a data lake. 
https://docs.ksqldb.io/en/latest/concepts/time-and-windows-in-ksqldb-queries/


MQ is the clear winner for traditional mainframe transactions, Kafka is 
the goto for real time streaming of events.


On 20/06/2022 9:53 pm, Colin Paice wrote:

On the MQ front, I >think< there are customers who are using QREP to do DB2
to DB2 using MQ as the transport, over 1000 KM and getting about 100MB+ of
data a second - with a few second or subsecond response time.  So to the
end user it looks like a single system rather than replicated.
The limits are the rate at which you can log to disk - about 200 MB a
second last time I was involved, and the capacity of the network.
I dont know abou Kafta, if it supports sysplex, and what it's throughput is
in similar scenarios.
If you want more throughput you create another queue manager, and get more
network capacity.
Colin

On Mon, 20 Jun 2022 at 14:38, Gerhard Adam  wrote:


Perhaps no one has :grokked" the difference is because either there isn't
one or because it is so poorly explained and discussed as to be
non-existent.   This sounds like more marketing hype perpetrated by
individuals that know buzzwords and little else.



-Original Message-
From: IBM Mainframe Discussion List  On Behalf
Of David Crayford
Sent: Monday, June 20, 2022 6:12 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM
and AWS

Thanks. I’ve seen something similar on the ACM
https://dl.acm.org/doi/pdf/10.1145/1476793.1476796


On 20 Jun 2022, at 8:51 pm, Joe Monk  wrote:

https://ntrs.nasa.gov/citations/1969381

Joe


On Mon, Jun 20, 2022 at 7:00 AM David Crayford 

wrote:

And yet still nobody seems to have grokked the fundamental
differences between online systems and event-driven architectures.
This is obviously not the forum for discussions on contemporary
software architectures. It always deteriorates into a deluge of
boring and undiscerningposts about how it's nothing new and was
already done back in the day on a S360 with 4K ram and a paper-taper

reader held together with gaffer tape.

https://en.wikipedia.org/wiki/Event-driven_architecture


On 20/06/2022 7:40 pm, Seymour J Metz wrote:
Before MQ there were QTAM and TCAM.



There have been mainframes running real time applications since the

1960s. Air traffic control. Airline reservations. Controlling traffic
lights (UNIVAC, not IBM.) These may not be the best examples, but
they were the first to come to mind, and used off the shelf mainframes.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on

behalf of René Jansen [rene.vincent.jan...@gmail.com]

Sent: Monday, June 20, 2022 5:50 AM
To:IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe App

Re: Debit vs Credit card for cash at ATM? [was: RE: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS]

2022-06-20 Thread Phil Smith III
Bob Bridges wrote:

>It was at length, wasn't it?  Sorry, I just felt I had to explain how I got

>into the weird habit.

 

Oh, sorry-my "at length" wasn't a snide remark: it was a notation that I was
brutally trimming your post! Trying to find the sweet spot between excessive
quoting (looking at far too many of the folks here) and no quoting (also
often problematic-those often seem to be the most potentially interesting,
and thus the most frustrating).


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


Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Colin Paice
On the MQ front, I >think< there are customers who are using QREP to do DB2
to DB2 using MQ as the transport, over 1000 KM and getting about 100MB+ of
data a second - with a few second or subsecond response time.  So to the
end user it looks like a single system rather than replicated.
The limits are the rate at which you can log to disk - about 200 MB a
second last time I was involved, and the capacity of the network.
I dont know abou Kafta, if it supports sysplex, and what it's throughput is
in similar scenarios.
If you want more throughput you create another queue manager, and get more
network capacity.
Colin

On Mon, 20 Jun 2022 at 14:38, Gerhard Adam  wrote:

> Perhaps no one has :grokked" the difference is because either there isn't
> one or because it is so poorly explained and discussed as to be
> non-existent.   This sounds like more marketing hype perpetrated by
> individuals that know buzzwords and little else.
>
>
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of David Crayford
> Sent: Monday, June 20, 2022 6:12 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM
> and AWS
>
> Thanks. I’ve seen something similar on the ACM
> https://dl.acm.org/doi/pdf/10.1145/1476793.1476796
>
> > On 20 Jun 2022, at 8:51 pm, Joe Monk  wrote:
> >
> > https://ntrs.nasa.gov/citations/1969381
> >
> > Joe
> >
> >> On Mon, Jun 20, 2022 at 7:00 AM David Crayford 
> wrote:
> >>
> >> And yet still nobody seems to have grokked the fundamental
> >> differences between online systems and event-driven architectures.
> >> This is obviously not the forum for discussions on contemporary
> >> software architectures. It always deteriorates into a deluge of
> >> boring and undiscerningposts about how it's nothing new and was
> >> already done back in the day on a S360 with 4K ram and a paper-taper
> reader held together with gaffer tape.
> >>
> >> https://en.wikipedia.org/wiki/Event-driven_architecture
> >>
> >>> On 20/06/2022 7:40 pm, Seymour J Metz wrote:
> >>> Before MQ there were QTAM and TCAM.
> >> 
> >>>
> >>> There have been mainframes running real time applications since the
> >> 1960s. Air traffic control. Airline reservations. Controlling traffic
> >> lights (UNIVAC, not IBM.) These may not be the best examples, but
> >> they were the first to come to mind, and used off the shelf mainframes.
> >>>
> >>>
> >>> --
> >>> Shmuel (Seymour J.) Metz
> >>> http://mason.gmu.edu/~smetz3
> >>>
> >>> 
> >>> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on
> >> behalf of René Jansen [rene.vincent.jan...@gmail.com]
> >>> Sent: Monday, June 20, 2022 5:50 AM
> >>> To:IBM-MAIN@LISTSERV.UA.EDU
> >>> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with
> >>> IBM
> >> and AWS
> >>>
> >>> You can make that 'about 30 years ago' - time flies while we’re
> >>> having
> >> fun.
> >>>
> >>> René.
> >>>
>  On 20 Jun 2022, at 09:51, Colin Paice  wrote:
> 
>  MQ from IBM developed about 20+ years ago helped get from Batch to
> real
>  time.   You put messages to a queue, and it can run IMS transactions
>  (including OTMA),  CICS transactions, or even batch!.  You can put
>  on
> >> one
>  member in a sysplex and get in another member.
>  It has single put, and also publish/subscribe capability.
> 
>  Colin
> 
> >>> 
> >>> -- For IBM-MAIN subscribe / signoff / archive access instructions,
> >>> send email tolists...@listserv.ua.edu  with the message: INFO
> >>> IBM-MAIN
> >>>
> >>> 
> >>> -- For IBM-MAIN subscribe / signoff / archive access instructions,
> >>> send email tolists...@listserv.ua.edu  with the message: INFO
> >>> IBM-MAIN
> >>
> >> -
> >> - For IBM-MAIN subscribe / signoff / archive access instructions,
> >> send email to lists...@listserv.ua.edu with the message: INFO
> >> IBM-MAIN
> >>
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions, send
> > email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email
> to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

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

Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Joe Monk
aka Marketechture.

Joe

On Mon, Jun 20, 2022 at 8:45 AM David Crayford  wrote:

> Isn’t buzzword a buzzword? There’s some irony there.
>
> > On 20 Jun 2022, at 9:38 pm, Gerhard Adam  wrote:
> >
> > discussed as to be non-existent.   This sounds like more marketing hype
> perpetrated
>
> --
> 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: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread David Crayford
Isn’t buzzword a buzzword? There’s some irony there. 

> On 20 Jun 2022, at 9:38 pm, Gerhard Adam  wrote:
> 
> discussed as to be non-existent.   This sounds like more marketing hype 
> perpetrated

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


Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Gerhard Adam
Perhaps no one has :grokked" the difference is because either there isn't one 
or because it is so poorly explained and discussed as to be non-existent.   
This sounds like more marketing hype perpetrated by individuals that know 
buzzwords and little else.



-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
David Crayford
Sent: Monday, June 20, 2022 6:12 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

Thanks. I’ve seen something similar on the ACM 
https://dl.acm.org/doi/pdf/10.1145/1476793.1476796

> On 20 Jun 2022, at 8:51 pm, Joe Monk  wrote:
> 
> https://ntrs.nasa.gov/citations/1969381
> 
> Joe
> 
>> On Mon, Jun 20, 2022 at 7:00 AM David Crayford  wrote:
>> 
>> And yet still nobody seems to have grokked the fundamental 
>> differences between online systems and event-driven architectures. 
>> This is obviously not the forum for discussions on contemporary 
>> software architectures. It always deteriorates into a deluge of 
>> boring and undiscerningposts about how it's nothing new and was 
>> already done back in the day on a S360 with 4K ram and a paper-taper reader 
>> held together with gaffer tape.
>> 
>> https://en.wikipedia.org/wiki/Event-driven_architecture
>> 
>>> On 20/06/2022 7:40 pm, Seymour J Metz wrote:
>>> Before MQ there were QTAM and TCAM.
>> 
>>> 
>>> There have been mainframes running real time applications since the
>> 1960s. Air traffic control. Airline reservations. Controlling traffic 
>> lights (UNIVAC, not IBM.) These may not be the best examples, but 
>> they were the first to come to mind, and used off the shelf mainframes.
>>> 
>>> 
>>> --
>>> Shmuel (Seymour J.) Metz
>>> http://mason.gmu.edu/~smetz3
>>> 
>>> 
>>> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on
>> behalf of René Jansen [rene.vincent.jan...@gmail.com]
>>> Sent: Monday, June 20, 2022 5:50 AM
>>> To:IBM-MAIN@LISTSERV.UA.EDU
>>> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with 
>>> IBM
>> and AWS
>>> 
>>> You can make that 'about 30 years ago' - time flies while we’re 
>>> having
>> fun.
>>> 
>>> René.
>>> 
 On 20 Jun 2022, at 09:51, Colin Paice  wrote:
 
 MQ from IBM developed about 20+ years ago helped get from Batch to real
 time.   You put messages to a queue, and it can run IMS transactions
 (including OTMA),  CICS transactions, or even batch!.  You can put 
 on
>> one
 member in a sysplex and get in another member.
 It has single put, and also publish/subscribe capability.
 
 Colin
 
>>> 
>>> -- For IBM-MAIN subscribe / signoff / archive access instructions, 
>>> send email tolists...@listserv.ua.edu  with the message: INFO 
>>> IBM-MAIN
>>> 
>>> 
>>> -- For IBM-MAIN subscribe / signoff / archive access instructions, 
>>> send email tolists...@listserv.ua.edu  with the message: INFO 
>>> IBM-MAIN
>> 
>> -
>> - For IBM-MAIN subscribe / signoff / archive access instructions, 
>> send email to lists...@listserv.ua.edu with the message: INFO 
>> IBM-MAIN
>> 
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send 
> email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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

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


Re: ITEM NAME(CLUSTER) NUMBER(1), PGM=IXCL1DSU

2022-06-20 Thread Bill Neiman
The CLUSTER support was part of what was supposed to be an over-arching 
automation infrastructure that would provide a sysplex-level view of properties 
and events for improved business resiliency.  I don't think it ever came 
together.

Bill Neiman
Parallel Sysplex development
IBM

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


Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread David Crayford
Thanks. I’ve seen something similar on the ACM 
https://dl.acm.org/doi/pdf/10.1145/1476793.1476796

> On 20 Jun 2022, at 8:51 pm, Joe Monk  wrote:
> 
> https://ntrs.nasa.gov/citations/1969381
> 
> Joe
> 
>> On Mon, Jun 20, 2022 at 7:00 AM David Crayford  wrote:
>> 
>> And yet still nobody seems to have grokked the fundamental differences
>> between online systems and event-driven architectures. This is obviously
>> not the forum for discussions on contemporary software architectures. It
>> always deteriorates into a deluge of boring and undiscerningposts about
>> how it's nothing new and was already done back in the day on a S360 with
>> 4K ram and a paper-taper reader held together with gaffer tape.
>> 
>> https://en.wikipedia.org/wiki/Event-driven_architecture
>> 
>>> On 20/06/2022 7:40 pm, Seymour J Metz wrote:
>>> Before MQ there were QTAM and TCAM.
>> 
>>> 
>>> There have been mainframes running real time applications since the
>> 1960s. Air traffic control. Airline reservations. Controlling traffic
>> lights (UNIVAC, not IBM.) These may not be the best examples, but they were
>> the first to come to mind, and used off the shelf mainframes.
>>> 
>>> 
>>> --
>>> Shmuel (Seymour J.) Metz
>>> http://mason.gmu.edu/~smetz3
>>> 
>>> 
>>> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on
>> behalf of René Jansen [rene.vincent.jan...@gmail.com]
>>> Sent: Monday, June 20, 2022 5:50 AM
>>> To:IBM-MAIN@LISTSERV.UA.EDU
>>> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM
>> and AWS
>>> 
>>> You can make that 'about 30 years ago' - time flies while we’re having
>> fun.
>>> 
>>> René.
>>> 
 On 20 Jun 2022, at 09:51, Colin Paice  wrote:
 
 MQ from IBM developed about 20+ years ago helped get from Batch to real
 time.   You put messages to a queue, and it can run IMS transactions
 (including OTMA),  CICS transactions, or even batch!.  You can put on
>> one
 member in a sysplex and get in another member.
 It has single put, and also publish/subscribe capability.
 
 Colin
 
>>> --
>>> For IBM-MAIN subscribe / signoff / archive access instructions,
>>> send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN
>>> 
>>> --
>>> For IBM-MAIN subscribe / signoff / archive access instructions,
>>> send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN
>> 
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>> 
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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


Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Joe Monk
https://ntrs.nasa.gov/citations/1969381

Joe

On Mon, Jun 20, 2022 at 7:00 AM David Crayford  wrote:

> And yet still nobody seems to have grokked the fundamental differences
> between online systems and event-driven architectures. This is obviously
> not the forum for discussions on contemporary software architectures. It
> always deteriorates into a deluge of boring and undiscerningposts about
> how it's nothing new and was already done back in the day on a S360 with
> 4K ram and a paper-taper reader held together with gaffer tape.
>
> https://en.wikipedia.org/wiki/Event-driven_architecture
>
> On 20/06/2022 7:40 pm, Seymour J Metz wrote:
> > Before MQ there were QTAM and TCAM.
> 
> >
> > There have been mainframes running real time applications since the
> 1960s. Air traffic control. Airline reservations. Controlling traffic
> lights (UNIVAC, not IBM.) These may not be the best examples, but they were
> the first to come to mind, and used off the shelf mainframes.
> >
> >
> > --
> > Shmuel (Seymour J.) Metz
> > http://mason.gmu.edu/~smetz3
> >
> > 
> > From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on
> behalf of René Jansen [rene.vincent.jan...@gmail.com]
> > Sent: Monday, June 20, 2022 5:50 AM
> > To:IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM
> and AWS
> >
> > You can make that 'about 30 years ago' - time flies while we’re having
> fun.
> >
> > René.
> >
> >> On 20 Jun 2022, at 09:51, Colin Paice  wrote:
> >>
> >> MQ from IBM developed about 20+ years ago helped get from Batch to real
> >> time.   You put messages to a queue, and it can run IMS transactions
> >> (including OTMA),  CICS transactions, or even batch!.  You can put on
> one
> >> member in a sysplex and get in another member.
> >> It has single put, and also publish/subscribe capability.
> >>
> >> Colin
> >>
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

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


Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Seymour J Metz
Sounds like a good use case for medivac; a facility without a 24x7 pharmacy 
can't provide meaningful 24x7 emergency care. Providing reasonable service to 
rural arrays is difficult in a lot of areas, not just medicine, and I don't see 
the political will to address it anytime soon.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Johnson [0047540adefe-dmarc-requ...@listserv.ua.edu]
Sent: Monday, June 20, 2022 8:28 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

So you’re assuming “pharmacies are open 24 by 7” as ALL but not SOME? Got it. 
But ALL hospital pharmacies ARE open 24 by 7. Actually, it’s why many rural 
hospitals are closing. Too expensive to be available 24 by 7 (pharmacy & 
hospital) in lesser populated and lesser affluent areas.


Sent from Yahoo Mail for iPhone


On Monday, June 20, 2022, 7:57 AM, Seymour J Metz  wrote:

"pharmacies are open 24 by 7" is not the same as "some pharmacies are open 24 
by 7" or "most pharmacies are open 24 by 7". My local CVS closes for lunch 
every day. People with medical emergencies are likely to be in a hospital when 
they need a prescription filled, so I don't consider the lunch break to be more 
than a mild nuisance.

I would hope that pharmacies in hospitals would be 24x7, but they are not 
representative of pharmacies at large.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Johnson [0047540adefe-dmarc-requ...@listserv.ua.edu]
Sent: Monday, June 20, 2022 7:42 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

 CVS has 24 hour pharmacies. So does Walgreens and Rite Aid. We have a 24 hour 
Walgreens 2 miles from my house. Not all retail pharmacies are open 24 hours, 
but there are numerous ones in most cities. But, every hospital has a pharmacy 
that IS open 24 by 7. I've worked in health care for about 20 years of my 40 in 
IT. You need to have access to drugs at all times. Or people die.

On Monday, June 20, 2022 at 06:51:59 AM EDT, Seymour J Metz 
 wrote:

 Perhaps some are: CVS isn't.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Johnson [0047540adefe-dmarc-requ...@listserv.ua.edu]
Sent: Sunday, June 19, 2022 4:21 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

Most mainframes store transactions and process in batch? Are you the same guy 
who didn’t know pharmacies are open 24 by 7?


Sent from Yahoo Mail for iPhone


On Sunday, June 19, 2022, 2:03 PM, David Crayford  wrote:

On 20/06/2022 12:38 am, Seymour J Metz wrote:
> Keep in mind that the mainframe can only do batch processing, with input from 
> cards. It doesn't support anything like CICS, IMS or Sabre..

What have transactional systems like CICS or IMS got to do with
real-time, straight-through processing? Most mainframe transactions
store data that is later processed by batch, typically overnight. In the
case of banking transactions that require inter-bank settlements this
can cause delays of several days. In Australia the government mandated
the NPP (New Payments Platform) which facilities instant payments using
payids, which can be an email address, cellphone numbers etc. The API is
a simple REST API using HTTP
https://secure-web.cisco.com/1cVCppuTlJ_nNLCyIpfi-pFWBClb6lq0nQl_7E--OgnADnbuDkYX8bcjtN6oIQ16B7sRfQ6OOuKQq5QEsgUNf1wFNw-vDdy4M0iIKKAuBN963Nz6gCY1jLEhKQkGKEoyGO9Z-wZYLbalLh_6t-yXF0tJt57oapuTFDOrG3GFsopnPGoLuZ4lhsE-QLh8nA4FrboD8IlzLKjbPsQj-pX4nCx-5TqIo8psGz3mESLroERbYAiILA7fDZwB43yTbn-VzeobnA6ekc_rpFTqhR0IQ5Sh4Edlu7N1EUQ58yn28hGb_a0yq75xJMnQiCxA0sU1Si67g84Rll_yCyt27ggj4mSC-Y501bGnMLip29-0IurTidywtHtLuc7WbjeLeon2CRuFO9mcnFZ5ZFvA_KT8equXAEbZ7tPu1HS-0BD6cCWjPwQggcoAS7FwZRvM34g_d/https%3A%2F%2Fnppa.com.au%2Fwp-content%2Fuploads%2F2020%2F10%2FNPP-API-Framework-v4.0-Final.pdf.
It's my understanding that no bank implemented NPP on the mainframe.
 From the presentations I've seen they used CDC to capture writes and
then published events to Kafka, which was fanned out to different
micro-services to do fraud detection, payments, push notifications etc.
Back in the day straight-through processing was a pipe dream which is
why we have overnight batch. It's a relic of applications written
decades ago for very different hardware platforms.


> It's much better to run Linux than to get an IFL, which can only run batch.

I have no idea what you mean?

>
> Cynical? Moi?
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainfra

Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Joe Monk
CVS is 24/7 some pharmacies. Especially here in Texas.

https://www.cvs.com/store-locator/cvs-pharmacy-locations/24-hour-pharmacies/Texas/Houston

Joe



On Mon, Jun 20, 2022 at 5:52 AM Seymour J Metz  wrote:

> Perhaps some are: CVS isn't.
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf
> of Bill Johnson [0047540adefe-dmarc-requ...@listserv.ua.edu]
> Sent: Sunday, June 19, 2022 4:21 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM
> and AWS
>
> Most mainframes store transactions and process in batch? Are you the same
> guy who didn’t know pharmacies are open 24 by 7?
>
>
> Sent from Yahoo Mail for iPhone
>
>
> On Sunday, June 19, 2022, 2:03 PM, David Crayford 
> wrote:
>
> On 20/06/2022 12:38 am, Seymour J Metz wrote:
> > Keep in mind that the mainframe can only do batch processing, with input
> from cards. It doesn't support anything like CICS, IMS or Sabre..
>
> What have transactional systems like CICS or IMS got to do with
> real-time, straight-through processing? Most mainframe transactions
> store data that is later processed by batch, typically overnight. In the
> case of banking transactions that require inter-bank settlements this
> can cause delays of several days. In Australia the government mandated
> the NPP (New Payments Platform) which facilities instant payments using
> payids, which can be an email address, cellphone numbers etc. The API is
> a simple REST API using HTTP
>
> https://secure-web.cisco.com/1cVCppuTlJ_nNLCyIpfi-pFWBClb6lq0nQl_7E--OgnADnbuDkYX8bcjtN6oIQ16B7sRfQ6OOuKQq5QEsgUNf1wFNw-vDdy4M0iIKKAuBN963Nz6gCY1jLEhKQkGKEoyGO9Z-wZYLbalLh_6t-yXF0tJt57oapuTFDOrG3GFsopnPGoLuZ4lhsE-QLh8nA4FrboD8IlzLKjbPsQj-pX4nCx-5TqIo8psGz3mESLroERbYAiILA7fDZwB43yTbn-VzeobnA6ekc_rpFTqhR0IQ5Sh4Edlu7N1EUQ58yn28hGb_a0yq75xJMnQiCxA0sU1Si67g84Rll_yCyt27ggj4mSC-Y501bGnMLip29-0IurTidywtHtLuc7WbjeLeon2CRuFO9mcnFZ5ZFvA_KT8equXAEbZ7tPu1HS-0BD6cCWjPwQggcoAS7FwZRvM34g_d/https%3A%2F%2Fnppa.com.au%2Fwp-content%2Fuploads%2F2020%2F10%2FNPP-API-Framework-v4.0-Final.pdf
> .
> It's my understanding that no bank implemented NPP on the mainframe.
>  From the presentations I've seen they used CDC to capture writes and
> then published events to Kafka, which was fanned out to different
> micro-services to do fraud detection, payments, push notifications etc.
> Back in the day straight-through processing was a pipe dream which is
> why we have overnight batch. It's a relic of applications written
> decades ago for very different hardware platforms.
>
>
> > It's much better to run Linux than to get an IFL, which can only run
> batch.
>
> I have no idea what you mean?
>
> >
> > Cynical? Moi?
> >
> >
> > --
> > Shmuel (Seymour J.) Metz
> > http://mason.gmu.edu/~smetz3
> >
> > 
> > From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on
> behalf of David Crayford [dcrayf...@gmail.com]
> > Sent: Sunday, June 19, 2022 2:36 AM
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM
> and AWS
> >
> > On 19/06/2022 5:23 am, Enzo D'Amato wrote:
> >> I also agree, but as a non-insider, I wanted to know what others were
> thinking. I also belive that in most cases, the effort spent trying to get
> off the mainframe would be better spent actually fixing the code running on
> it in the first place. Moving around broken code doesn't automatically fix
> it.
> > It's not just about fixing broken code. If you read the ING CIO's
> > remarks about why they wanted off the mainframe it's not about the
> > platform. Nobody denies that mainframes are insanely brilliant hardware
> > platforms. ING wanted to get rid of batch and move towards an event
> > driven architecture using pub/sub where they can easily deploy loosely
> > coupled micro-services to provide cutting edge products. The technology
> > stacks are built on open source such as Kafka, MongoDB, Cassandra, NiFi,
> > Avro etc.  The retail banking industry has been disrupted by fintechs so
> > waiting for an overnight batch schedule for settlements is a competitive
> > disadvantage.  Cracking open and modernizing 50-60 year old COBOL batch
> > applications is a VERY heavy lift.
> >
> >
> https://secure-web.cisco.com/1GoiNO6FBPSWW0D9FZYVYixer1jsPeSd_xH-wmi6jMOC-onAkZQ4Pkf3c1UMGWbQeEprnkSWa1xGxz4vvn-LF0jVrCFlVVFZKQJ4Jti8nbQ7QchsOxhwNiwluJrdKkQP2nXXHQH2Ut2NNa9VChfVBIDR7Akw4ud6_pIXLAFXO5l73Sv-iLZFNU1MWWnLapWhhCKvytdzs7EJTvNZ2qbU8xwCdBEl1UkUuL-jHHZLk6xJPxAadVRWP1nuLz8i5AZrfvDI8u8rZ0V0DT77_Uvu8klHLbL9xe2qaYi1P6a6mc8r9Aj2jothGC-CR9cbCgb-JVXupgin9UctH5C_iVMyn_T-9jzZjtNyZDETxb8hXMU-BOuUz89MGu1nniZJ2tvSSN8yh5A6K-_It8fA10UFCfSBhOB0NVkwKL5M8A2BxZ9_e111GnxGK_PAbj0wh5fvU/https%3A%2F%2Fwww.theregister.com%2F2016%2F07%2F01%2Fing_mainframe_strategy%2F
> <- read
> > the comments section. It's hilarious :)
> >

Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Seymour J Metz
Event driven architectures have been around for decades. Controlling traffic 
lights in the 1960s was event driven. 

There are a lot of new software platforms available these days, but the article 
did not discuss anything that can't run on a mainframe.

Neither you nor anybody else in this thread has identified any new technology 
that can't run on the mainframe, much less explained why that inability is a 
show stopper. Nor has anybody but you mentioned either 4K or paper tape, 
neither of which was common on 1960s mainframes. Think 1108, 7094, 360/65, not 
PDP-8.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
David Crayford [dcrayf...@gmail.com]
Sent: Monday, June 20, 2022 7:59 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

And yet still nobody seems to have grokked the fundamental differences
between online systems and event-driven architectures. This is obviously
not the forum for discussions on contemporary software architectures. It
always deteriorates into a deluge of boring and undiscerningposts about
how it's nothing new and was already done back in the day on a S360 with
4K ram and a paper-taper reader held together with gaffer tape.

https://secure-web.cisco.com/186ZuolB_tCuPvhv0bAOtpLLWkUCF7nA25WHtRf3OjB2FEOpsx9SsmVTIvHali1wgxtNkZ146orTos1WsT9r6x-wA3UluGG8FUwt1ayGMUg2M6RDrWLWGlfAcLIeRDM17uvMMlCygkBnwsXsLyMwdBZfE14aByEbi-VKALBWKFagQqJeC7yohhXTmB_GXjbh-vWQqjEtKDXMiWuYfejHjxc1_eq4NEL3KYt2_KTyRG_erU4c7uvhOzO-PXCniNy5xLJOTWobpdZHK_Jex7kdxbPl69hcX0s3iuNpZFBvYuGGOfmy5MJzO38x9YoqoNDJJj-WcS3h7xi2DzK3z0R3MsNBkgH9CIAe-cS_h2AQCvy3Pzci2RTsSCjBnejAspMeJCPFG6_AHguM0vdHURrkPi5d3lWLnr3Fuw0kyLpgw8bSfV118VqbcPtbrrkhM6_KD/https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FEvent-driven_architecture

On 20/06/2022 7:40 pm, Seymour J Metz wrote:
> Before MQ there were QTAM and TCAM.

>
> There have been mainframes running real time applications since the 1960s. 
> Air traffic control. Airline reservations. Controlling traffic lights 
> (UNIVAC, not IBM.) These may not be the best examples, but they were the 
> first to come to mind, and used off the shelf mainframes.
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
> René Jansen [rene.vincent.jan...@gmail.com]
> Sent: Monday, June 20, 2022 5:50 AM
> To:IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and 
> AWS
>
> You can make that 'about 30 years ago' - time flies while we’re having fun.
>
> René.
>
>> On 20 Jun 2022, at 09:51, Colin Paice  wrote:
>>
>> MQ from IBM developed about 20+ years ago helped get from Batch to real
>> time.   You put messages to a queue, and it can run IMS transactions
>> (including OTMA),  CICS transactions, or even batch!.  You can put on one
>> member in a sysplex and get in another member.
>> It has single put, and also publish/subscribe capability.
>>
>> Colin
>>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email tolists...@listserv.ua.edu  with the message: INFO IBM-MAIN

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

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


Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Bill Johnson
So you’re assuming “pharmacies are open 24 by 7” as ALL but not SOME? Got it. 
But ALL hospital pharmacies ARE open 24 by 7. Actually, it’s why many rural 
hospitals are closing. Too expensive to be available 24 by 7 (pharmacy & 
hospital) in lesser populated and lesser affluent areas.


Sent from Yahoo Mail for iPhone


On Monday, June 20, 2022, 7:57 AM, Seymour J Metz  wrote:

"pharmacies are open 24 by 7" is not the same as "some pharmacies are open 24 
by 7" or "most pharmacies are open 24 by 7". My local CVS closes for lunch 
every day. People with medical emergencies are likely to be in a hospital when 
they need a prescription filled, so I don't consider the lunch break to be more 
than a mild nuisance.

I would hope that pharmacies in hospitals would be 24x7, but they are not 
representative of pharmacies at large.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Johnson [0047540adefe-dmarc-requ...@listserv.ua.edu]
Sent: Monday, June 20, 2022 7:42 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

 CVS has 24 hour pharmacies. So does Walgreens and Rite Aid. We have a 24 hour 
Walgreens 2 miles from my house. Not all retail pharmacies are open 24 hours, 
but there are numerous ones in most cities. But, every hospital has a pharmacy 
that IS open 24 by 7. I've worked in health care for about 20 years of my 40 in 
IT. You need to have access to drugs at all times. Or people die.

    On Monday, June 20, 2022 at 06:51:59 AM EDT, Seymour J Metz 
 wrote:

 Perhaps some are: CVS isn't.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Johnson [0047540adefe-dmarc-requ...@listserv.ua.edu]
Sent: Sunday, June 19, 2022 4:21 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

Most mainframes store transactions and process in batch? Are you the same guy 
who didn’t know pharmacies are open 24 by 7?


Sent from Yahoo Mail for iPhone


On Sunday, June 19, 2022, 2:03 PM, David Crayford  wrote:

On 20/06/2022 12:38 am, Seymour J Metz wrote:
> Keep in mind that the mainframe can only do batch processing, with input from 
> cards. It doesn't support anything like CICS, IMS or Sabre..

What have transactional systems like CICS or IMS got to do with
real-time, straight-through processing? Most mainframe transactions
store data that is later processed by batch, typically overnight. In the
case of banking transactions that require inter-bank settlements this
can cause delays of several days. In Australia the government mandated
the NPP (New Payments Platform) which facilities instant payments using
payids, which can be an email address, cellphone numbers etc. The API is
a simple REST API using HTTP
https://secure-web.cisco.com/1cVCppuTlJ_nNLCyIpfi-pFWBClb6lq0nQl_7E--OgnADnbuDkYX8bcjtN6oIQ16B7sRfQ6OOuKQq5QEsgUNf1wFNw-vDdy4M0iIKKAuBN963Nz6gCY1jLEhKQkGKEoyGO9Z-wZYLbalLh_6t-yXF0tJt57oapuTFDOrG3GFsopnPGoLuZ4lhsE-QLh8nA4FrboD8IlzLKjbPsQj-pX4nCx-5TqIo8psGz3mESLroERbYAiILA7fDZwB43yTbn-VzeobnA6ekc_rpFTqhR0IQ5Sh4Edlu7N1EUQ58yn28hGb_a0yq75xJMnQiCxA0sU1Si67g84Rll_yCyt27ggj4mSC-Y501bGnMLip29-0IurTidywtHtLuc7WbjeLeon2CRuFO9mcnFZ5ZFvA_KT8equXAEbZ7tPu1HS-0BD6cCWjPwQggcoAS7FwZRvM34g_d/https%3A%2F%2Fnppa.com.au%2Fwp-content%2Fuploads%2F2020%2F10%2FNPP-API-Framework-v4.0-Final.pdf.
It's my understanding that no bank implemented NPP on the mainframe.
 From the presentations I've seen they used CDC to capture writes and
then published events to Kafka, which was fanned out to different
micro-services to do fraud detection, payments, push notifications etc.
Back in the day straight-through processing was a pipe dream which is
why we have overnight batch. It's a relic of applications written
decades ago for very different hardware platforms.


> It's much better to run Linux than to get an IFL, which can only run batch.

I have no idea what you mean?

>
> Cynical? Moi?
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
> David Crayford [dcrayf...@gmail.com]
> Sent: Sunday, June 19, 2022 2:36 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and 
> AWS
>
> On 19/06/2022 5:23 am, Enzo D'Amato wrote:
>> I also agree, but as a non-insider, I wanted to know what others were 
>> thinking. I also belive that in most cases, the effort spent trying to get 
>> off the mainframe would be better spent actually fixing the code running on 
>> it in the first place. Moving around broken code doesn't automatically fix 
>> it.
> It's not just about fixing broken code. If you re

Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread David Crayford
And yet still nobody seems to have grokked the fundamental differences 
between online systems and event-driven architectures. This is obviously 
not the forum for discussions on contemporary software architectures. It 
always deteriorates into a deluge of boring and undiscerningposts about 
how it's nothing new and was already done back in the day on a S360 with 
4K ram and a paper-taper reader held together with gaffer tape.


https://en.wikipedia.org/wiki/Event-driven_architecture

On 20/06/2022 7:40 pm, Seymour J Metz wrote:

Before MQ there were QTAM and TCAM.




There have been mainframes running real time applications since the 1960s. Air 
traffic control. Airline reservations. Controlling traffic lights (UNIVAC, not 
IBM.) These may not be the best examples, but they were the first to come to 
mind, and used off the shelf mainframes.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
René Jansen [rene.vincent.jan...@gmail.com]
Sent: Monday, June 20, 2022 5:50 AM
To:IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

You can make that 'about 30 years ago' - time flies while we’re having fun.

René.


On 20 Jun 2022, at 09:51, Colin Paice  wrote:

MQ from IBM developed about 20+ years ago helped get from Batch to real
time.   You put messages to a queue, and it can run IMS transactions
(including OTMA),  CICS transactions, or even batch!.  You can put on one
member in a sysplex and get in another member.
It has single put, and also publish/subscribe capability.

Colin


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

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


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


Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Seymour J Metz
"pharmacies are open 24 by 7" is not the same as "some pharmacies are open 24 
by 7" or "most pharmacies are open 24 by 7". My local CVS closes for lunch 
every day. People with medical emergencies are likely to be in a hospital when 
they need a prescription filled, so I don't consider the lunch break to be more 
than a mild nuisance.

I would hope that pharmacies in hospitals would be 24x7, but they are not 
representative of pharmacies at large.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Johnson [0047540adefe-dmarc-requ...@listserv.ua.edu]
Sent: Monday, June 20, 2022 7:42 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

 CVS has 24 hour pharmacies. So does Walgreens and Rite Aid. We have a 24 hour 
Walgreens 2 miles from my house. Not all retail pharmacies are open 24 hours, 
but there are numerous ones in most cities. But, every hospital has a pharmacy 
that IS open 24 by 7. I've worked in health care for about 20 years of my 40 in 
IT. You need to have access to drugs at all times. Or people die.

On Monday, June 20, 2022 at 06:51:59 AM EDT, Seymour J Metz 
 wrote:

 Perhaps some are: CVS isn't.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Johnson [0047540adefe-dmarc-requ...@listserv.ua.edu]
Sent: Sunday, June 19, 2022 4:21 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

Most mainframes store transactions and process in batch? Are you the same guy 
who didn’t know pharmacies are open 24 by 7?


Sent from Yahoo Mail for iPhone


On Sunday, June 19, 2022, 2:03 PM, David Crayford  wrote:

On 20/06/2022 12:38 am, Seymour J Metz wrote:
> Keep in mind that the mainframe can only do batch processing, with input from 
> cards. It doesn't support anything like CICS, IMS or Sabre..

What have transactional systems like CICS or IMS got to do with
real-time, straight-through processing? Most mainframe transactions
store data that is later processed by batch, typically overnight. In the
case of banking transactions that require inter-bank settlements this
can cause delays of several days. In Australia the government mandated
the NPP (New Payments Platform) which facilities instant payments using
payids, which can be an email address, cellphone numbers etc. The API is
a simple REST API using HTTP
https://secure-web.cisco.com/1cVCppuTlJ_nNLCyIpfi-pFWBClb6lq0nQl_7E--OgnADnbuDkYX8bcjtN6oIQ16B7sRfQ6OOuKQq5QEsgUNf1wFNw-vDdy4M0iIKKAuBN963Nz6gCY1jLEhKQkGKEoyGO9Z-wZYLbalLh_6t-yXF0tJt57oapuTFDOrG3GFsopnPGoLuZ4lhsE-QLh8nA4FrboD8IlzLKjbPsQj-pX4nCx-5TqIo8psGz3mESLroERbYAiILA7fDZwB43yTbn-VzeobnA6ekc_rpFTqhR0IQ5Sh4Edlu7N1EUQ58yn28hGb_a0yq75xJMnQiCxA0sU1Si67g84Rll_yCyt27ggj4mSC-Y501bGnMLip29-0IurTidywtHtLuc7WbjeLeon2CRuFO9mcnFZ5ZFvA_KT8equXAEbZ7tPu1HS-0BD6cCWjPwQggcoAS7FwZRvM34g_d/https%3A%2F%2Fnppa.com.au%2Fwp-content%2Fuploads%2F2020%2F10%2FNPP-API-Framework-v4.0-Final.pdf.
It's my understanding that no bank implemented NPP on the mainframe.
 From the presentations I've seen they used CDC to capture writes and
then published events to Kafka, which was fanned out to different
micro-services to do fraud detection, payments, push notifications etc.
Back in the day straight-through processing was a pipe dream which is
why we have overnight batch. It's a relic of applications written
decades ago for very different hardware platforms.


> It's much better to run Linux than to get an IFL, which can only run batch.

I have no idea what you mean?

>
> Cynical? Moi?
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
> David Crayford [dcrayf...@gmail.com]
> Sent: Sunday, June 19, 2022 2:36 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and 
> AWS
>
> On 19/06/2022 5:23 am, Enzo D'Amato wrote:
>> I also agree, but as a non-insider, I wanted to know what others were 
>> thinking. I also belive that in most cases, the effort spent trying to get 
>> off the mainframe would be better spent actually fixing the code running on 
>> it in the first place. Moving around broken code doesn't automatically fix 
>> it.
> It's not just about fixing broken code. If you read the ING CIO's
> remarks about why they wanted off the mainframe it's not about the
> platform. Nobody denies that mainframes are insanely brilliant hardware
> platforms. ING wanted to get rid of batch and move towards an event
> driven architecture using pub/sub where they can easily deploy loosely
> coupled micro-services to provide cutting edge products. The technology
> sta

Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Seymour J Metz
Are you denying that IFL and REST on mainframes are old hat?

If you're alluding to the cost of specialty issues as opposed to the cost of 
non-mainframe platforms, that wasn't an issue that the article raised.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
David Crayford [dcrayf...@gmail.com]
Sent: Monday, June 20, 2022 7:42 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

On 20/06/2022 7:10 pm, Seymour J Metz wrote:
> Whoosh!

Is that the tick shaped thing that goes on the side of Nike sneekers?


> There is no "traditional transaction processing"; transaction processing is 
> an open ended paradigm. CICS may have it's limitation, but the fact that it 
> has been around for half a century should be enough to demolish the belief 
> that mainframe=batch.
>
> The availability of, e.g., REST, on z/OS is not exactly breaking news.

Speaking from experience?


> The reference to IFL is because the author of the article seems to believe 
> that Linux and mainframe are mutually exclusive, despite the lengthy 
> availability of Linux on Z and the lengthy availability of specialty engines 
> to reduce the cost.

Do you have experience with IFL's?


>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
> David Crayford [dcrayf...@gmail.com]
> Sent: Sunday, June 19, 2022 3:24 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and 
> AWS
>
> On 20/06/2022 2:53 am, Seymour J Metz wrote:
>> Systems like CICS *are* real-time, straight-through, although they can 
>> certainly create data for later batch processing. The point is that for half 
>> a century "mainframe" has included a wealth of applications that were not 
>> batch, and that the point of transactional subsytems was to get away from 
>> batch. There may be many valid reasons for getting away from a mainframe, 
>> but the belief that you need to do so in order to get away from batch is 
>> insane
> You're still missing the point. CICS is a transaction monitor. I'm
> talking about real-time, continuous data feeds using middleware like
> Kafka as the central nervous system. This is a new concept and very
> different to traditional transaction processing + batch. Watch
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dx_rYEpRrdrA&data=05%7C01%7Csmetz3%40gmu.edu%7Ce98337b51b004e7d53be08da52b1fe07%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637913221683415833%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=n6GiIoEvrP%2FRwRL5s%2FNEz2FoQtGzOxzcheJNRxn6QZQ%3D&reserved=0
>  which is a microcosm of what
> many mainframe sites are doing. Almost every bank that I know of who run
> mainframes are doing something similar.
>
>
>> Similarly, the desire to use new APIs that are already available on the 
>> mainframe does not explain the desire to leave.
> What APIs are you referring to?
>
>
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>>
>> 
>> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
>> David Crayford [dcrayf...@gmail.com]
>> Sent: Sunday, June 19, 2022 2:02 PM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and 
>> AWS
>>
>> On 20/06/2022 12:38 am, Seymour J Metz wrote:
>>> Keep in mind that the mainframe can only do batch processing, with input 
>>> from cards. It doesn't support anything like CICS, IMS or Sabre..
>> What have transactional systems like CICS or IMS got to do with
>> real-time, straight-through processing? Most mainframe transactions
>> store data that is later processed by batch, typically overnight. In the
>> case of banking transactions that require inter-bank settlements this
>> can cause delays of several days. In Australia the government mandated
>> the NPP (New Payments Platform) which facilities instant payments using
>> payids, which can be an email address, cellphone numbers etc. The API is
>> a simple REST API using HTTP
>> https://secure-web.cisco.com/1sBq5wh7NBIBtcLlnoe7mev6AZm4hzTAbw1IPjJa9kH6InoJ3U_Zwg7o9Mx_hc9VvcqSkO2GzjUCct8uA5cgnRrFTDuTMQtKKkcfMvJDb1lG83vYcBEiuvMNdKd-AF1d2oturWYl8cZaHKzA-Pdj-pyq3tHgfdJ5klsvrizH8LlkD_HYXieEshsP0famNedXtmoeOw5Urs-J_juVmfWlBLkL5DnxoSvjxKXs3irUVXLx3kIeGvCnSoZwaEeOhIw9o54Tm07SLXThtFfQSMhbhzK-GX34THADQG95_2Wf5Wm7VVHzxBSLvNCP4OVR5cUH1Blor-f81GcfMVs_XxpJ2-Z4_b4kClC7HDOWZLKqZGtSoXtnAaIXHkAeq2Pb3Q-S86UNOkXncePZm3DFQsAVpYKVN1zSAt5Hr9wo_ll03r2pE-zuCf5lLvXbyW6SSnZG_/https%3A%2F%2Fnppa.com.au%2Fwp-content%2Fuploads%2F2020%2F10%2FNPP-API-Framework-v4.0-Final.pdf.
>> It's my u

Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread David Crayford

On 20/06/2022 7:10 pm, Seymour J Metz wrote:

Whoosh!


Is that the tick shaped thing that goes on the side of Nike sneekers?



There is no "traditional transaction processing"; transaction processing is an 
open ended paradigm. CICS may have it's limitation, but the fact that it has been around 
for half a century should be enough to demolish the belief that mainframe=batch.

The availability of, e.g., REST, on z/OS is not exactly breaking news.


Speaking from experience?



The reference to IFL is because the author of the article seems to believe that 
Linux and mainframe are mutually exclusive, despite the lengthy availability of 
Linux on Z and the lengthy availability of specialty engines to reduce the cost.


Do you have experience with IFL's?





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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
David Crayford [dcrayf...@gmail.com]
Sent: Sunday, June 19, 2022 3:24 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

On 20/06/2022 2:53 am, Seymour J Metz wrote:

Systems like CICS *are* real-time, straight-through, although they can certainly create 
data for later batch processing. The point is that for half a century 
"mainframe" has included a wealth of applications that were not batch, and that 
the point of transactional subsytems was to get away from batch. There may be many valid 
reasons for getting away from a mainframe, but the belief that you need to do so in order 
to get away from batch is insane

You're still missing the point. CICS is a transaction monitor. I'm
talking about real-time, continuous data feeds using middleware like
Kafka as the central nervous system. This is a new concept and very
different to traditional transaction processing + batch. Watch
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dx_rYEpRrdrA&data=05%7C01%7Csmetz3%40gmu.edu%7C1e7929130b7f4b268fad08da52295fed%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637912635333981942%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=VgGuc7QO%2Bra6fWz851FIGf50geCCSsd3Jw3Jf1raxbs%3D&reserved=0
 which is a microcosm of what
many mainframe sites are doing. Almost every bank that I know of who run
mainframes are doing something similar.



Similarly, the desire to use new APIs that are already available on the 
mainframe does not explain the desire to leave.

What APIs are you referring to?



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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
David Crayford [dcrayf...@gmail.com]
Sent: Sunday, June 19, 2022 2:02 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

On 20/06/2022 12:38 am, Seymour J Metz wrote:

Keep in mind that the mainframe can only do batch processing, with input from 
cards. It doesn't support anything like CICS, IMS or Sabre..

What have transactional systems like CICS or IMS got to do with
real-time, straight-through processing? Most mainframe transactions
store data that is later processed by batch, typically overnight. In the
case of banking transactions that require inter-bank settlements this
can cause delays of several days. In Australia the government mandated
the NPP (New Payments Platform) which facilities instant payments using
payids, which can be an email address, cellphone numbers etc. The API is
a simple REST API using HTTP
https://secure-web.cisco.com/1sBq5wh7NBIBtcLlnoe7mev6AZm4hzTAbw1IPjJa9kH6InoJ3U_Zwg7o9Mx_hc9VvcqSkO2GzjUCct8uA5cgnRrFTDuTMQtKKkcfMvJDb1lG83vYcBEiuvMNdKd-AF1d2oturWYl8cZaHKzA-Pdj-pyq3tHgfdJ5klsvrizH8LlkD_HYXieEshsP0famNedXtmoeOw5Urs-J_juVmfWlBLkL5DnxoSvjxKXs3irUVXLx3kIeGvCnSoZwaEeOhIw9o54Tm07SLXThtFfQSMhbhzK-GX34THADQG95_2Wf5Wm7VVHzxBSLvNCP4OVR5cUH1Blor-f81GcfMVs_XxpJ2-Z4_b4kClC7HDOWZLKqZGtSoXtnAaIXHkAeq2Pb3Q-S86UNOkXncePZm3DFQsAVpYKVN1zSAt5Hr9wo_ll03r2pE-zuCf5lLvXbyW6SSnZG_/https%3A%2F%2Fnppa.com.au%2Fwp-content%2Fuploads%2F2020%2F10%2FNPP-API-Framework-v4.0-Final.pdf.
It's my understanding that no bank implemented NPP on the mainframe.
   From the presentations I've seen they used CDC to capture writes and
then published events to Kafka, which was fanned out to different
micro-services to do fraud detection, payments, push notifications etc.
Back in the day straight-through processing was a pipe dream which is
why we have overnight batch. It's a relic of applications written
decades ago for very different hardware platforms.



It's much better to run Linux than to get an IFL, which can only run batch.

I have no idea what you mean?


Cynical? Moi?


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTS

Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Bill Johnson
 CVS has 24 hour pharmacies. So does Walgreens and Rite Aid. We have a 24 hour 
Walgreens 2 miles from my house. Not all retail pharmacies are open 24 hours, 
but there are numerous ones in most cities. But, every hospital has a pharmacy 
that IS open 24 by 7. I've worked in health care for about 20 years of my 40 in 
IT. You need to have access to drugs at all times. Or people die.

On Monday, June 20, 2022 at 06:51:59 AM EDT, Seymour J Metz 
 wrote:  
 
 Perhaps some are: CVS isn't.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Johnson [0047540adefe-dmarc-requ...@listserv.ua.edu]
Sent: Sunday, June 19, 2022 4:21 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

Most mainframes store transactions and process in batch? Are you the same guy 
who didn’t know pharmacies are open 24 by 7?


Sent from Yahoo Mail for iPhone


On Sunday, June 19, 2022, 2:03 PM, David Crayford  wrote:

On 20/06/2022 12:38 am, Seymour J Metz wrote:
> Keep in mind that the mainframe can only do batch processing, with input from 
> cards. It doesn't support anything like CICS, IMS or Sabre..

What have transactional systems like CICS or IMS got to do with
real-time, straight-through processing? Most mainframe transactions
store data that is later processed by batch, typically overnight. In the
case of banking transactions that require inter-bank settlements this
can cause delays of several days. In Australia the government mandated
the NPP (New Payments Platform) which facilities instant payments using
payids, which can be an email address, cellphone numbers etc. The API is
a simple REST API using HTTP
https://secure-web.cisco.com/1cVCppuTlJ_nNLCyIpfi-pFWBClb6lq0nQl_7E--OgnADnbuDkYX8bcjtN6oIQ16B7sRfQ6OOuKQq5QEsgUNf1wFNw-vDdy4M0iIKKAuBN963Nz6gCY1jLEhKQkGKEoyGO9Z-wZYLbalLh_6t-yXF0tJt57oapuTFDOrG3GFsopnPGoLuZ4lhsE-QLh8nA4FrboD8IlzLKjbPsQj-pX4nCx-5TqIo8psGz3mESLroERbYAiILA7fDZwB43yTbn-VzeobnA6ekc_rpFTqhR0IQ5Sh4Edlu7N1EUQ58yn28hGb_a0yq75xJMnQiCxA0sU1Si67g84Rll_yCyt27ggj4mSC-Y501bGnMLip29-0IurTidywtHtLuc7WbjeLeon2CRuFO9mcnFZ5ZFvA_KT8equXAEbZ7tPu1HS-0BD6cCWjPwQggcoAS7FwZRvM34g_d/https%3A%2F%2Fnppa.com.au%2Fwp-content%2Fuploads%2F2020%2F10%2FNPP-API-Framework-v4.0-Final.pdf.
It's my understanding that no bank implemented NPP on the mainframe.
 From the presentations I've seen they used CDC to capture writes and
then published events to Kafka, which was fanned out to different
micro-services to do fraud detection, payments, push notifications etc.
Back in the day straight-through processing was a pipe dream which is
why we have overnight batch. It's a relic of applications written
decades ago for very different hardware platforms.


> It's much better to run Linux than to get an IFL, which can only run batch.

I have no idea what you mean?

>
> Cynical? Moi?
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
> David Crayford [dcrayf...@gmail.com]
> Sent: Sunday, June 19, 2022 2:36 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and 
> AWS
>
> On 19/06/2022 5:23 am, Enzo D'Amato wrote:
>> I also agree, but as a non-insider, I wanted to know what others were 
>> thinking. I also belive that in most cases, the effort spent trying to get 
>> off the mainframe would be better spent actually fixing the code running on 
>> it in the first place. Moving around broken code doesn't automatically fix 
>> it.
> It's not just about fixing broken code. If you read the ING CIO's
> remarks about why they wanted off the mainframe it's not about the
> platform. Nobody denies that mainframes are insanely brilliant hardware
> platforms. ING wanted to get rid of batch and move towards an event
> driven architecture using pub/sub where they can easily deploy loosely
> coupled micro-services to provide cutting edge products. The technology
> stacks are built on open source such as Kafka, MongoDB, Cassandra, NiFi,
> Avro etc.  The retail banking industry has been disrupted by fintechs so
> waiting for an overnight batch schedule for settlements is a competitive
> disadvantage.  Cracking open and modernizing 50-60 year old COBOL batch
> applications is a VERY heavy lift.
>
> https://secure-web.cisco.com/1GoiNO6FBPSWW0D9FZYVYixer1jsPeSd_xH-wmi6jMOC-onAkZQ4Pkf3c1UMGWbQeEprnkSWa1xGxz4vvn-LF0jVrCFlVVFZKQJ4Jti8nbQ7QchsOxhwNiwluJrdKkQP2nXXHQH2Ut2NNa9VChfVBIDR7Akw4ud6_pIXLAFXO5l73Sv-iLZFNU1MWWnLapWhhCKvytdzs7EJTvNZ2qbU8xwCdBEl1UkUuL-jHHZLk6xJPxAadVRWP1nuLz8i5AZrfvDI8u8rZ0V0DT77_Uvu8klHLbL9xe2qaYi1P6a6mc8r9Aj2jothGC-CR9cbCgb-JVXupgin9UctH5C_iVMyn_T-9jzZjtNyZDETxb8hXMU-BOuUz89MGu1nniZJ2tvSSN8yh5A6K-_It8fA10UFCfSBhOB0NVkwKL5M8A2BxZ9_e111GnxGK_PAbj0wh5fvU/https%3A%2F%2Fwww.ther

Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Seymour J Metz
Before MQ there were QTAM and TCAM.

There have been mainframes running real time applications since the 1960s. Air 
traffic control. Airline reservations. Controlling traffic lights (UNIVAC, not 
IBM.) These may not be the best examples, but they were the first to come to 
mind, and used off the shelf mainframes.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
René Jansen [rene.vincent.jan...@gmail.com]
Sent: Monday, June 20, 2022 5:50 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

You can make that 'about 30 years ago' - time flies while we’re having fun.

René.

> On 20 Jun 2022, at 09:51, Colin Paice  wrote:
>
> MQ from IBM developed about 20+ years ago helped get from Batch to real
> time.   You put messages to a queue, and it can run IMS transactions
> (including OTMA),  CICS transactions, or even batch!.  You can put on one
> member in a sysplex and get in another member.
> It has single put, and also publish/subscribe capability.
>
> Colin
>

--
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-20 Thread Seymour J Metz
If I wasn't concerned about an audit trail I'd probably use PDS or StarTool 
(whatever the current name), but that's more a matter of taste than anything 
else. TMTOWTDI.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Robert Prins [robert.ah.pr...@gmail.com]
Sent: Sunday, June 19, 2022 6:10 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Old PL/I Optimizing compiler - COUNT & FLOW options

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

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


Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Seymour J Metz
Whoosh! 

There is no "traditional transaction processing"; transaction processing is an 
open ended paradigm. CICS may have it's limitation, but the fact that it has 
been around for half a century should be enough to demolish the belief that 
mainframe=batch.

The availability of, e.g., REST, on z/OS is not exactly breaking news. 

The reference to IFL is because the author of the article seems to believe that 
Linux and mainframe are mutually exclusive, despite the lengthy availability of 
Linux on Z and the lengthy availability of specialty engines to reduce the cost.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
David Crayford [dcrayf...@gmail.com]
Sent: Sunday, June 19, 2022 3:24 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

On 20/06/2022 2:53 am, Seymour J Metz wrote:
> Systems like CICS *are* real-time, straight-through, although they can 
> certainly create data for later batch processing. The point is that for half 
> a century "mainframe" has included a wealth of applications that were not 
> batch, and that the point of transactional subsytems was to get away from 
> batch. There may be many valid reasons for getting away from a mainframe, but 
> the belief that you need to do so in order to get away from batch is insane

You're still missing the point. CICS is a transaction monitor. I'm
talking about real-time, continuous data feeds using middleware like
Kafka as the central nervous system. This is a new concept and very
different to traditional transaction processing + batch. Watch
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dx_rYEpRrdrA&data=05%7C01%7Csmetz3%40gmu.edu%7C1e7929130b7f4b268fad08da52295fed%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C637912635333981942%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=VgGuc7QO%2Bra6fWz851FIGf50geCCSsd3Jw3Jf1raxbs%3D&reserved=0
 which is a microcosm of what
many mainframe sites are doing. Almost every bank that I know of who run
mainframes are doing something similar.


>
> Similarly, the desire to use new APIs that are already available on the 
> mainframe does not explain the desire to leave.

What APIs are you referring to?


>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
> David Crayford [dcrayf...@gmail.com]
> Sent: Sunday, June 19, 2022 2:02 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and 
> AWS
>
> On 20/06/2022 12:38 am, Seymour J Metz wrote:
>> Keep in mind that the mainframe can only do batch processing, with input 
>> from cards. It doesn't support anything like CICS, IMS or Sabre..
> What have transactional systems like CICS or IMS got to do with
> real-time, straight-through processing? Most mainframe transactions
> store data that is later processed by batch, typically overnight. In the
> case of banking transactions that require inter-bank settlements this
> can cause delays of several days. In Australia the government mandated
> the NPP (New Payments Platform) which facilities instant payments using
> payids, which can be an email address, cellphone numbers etc. The API is
> a simple REST API using HTTP
> https://secure-web.cisco.com/1sBq5wh7NBIBtcLlnoe7mev6AZm4hzTAbw1IPjJa9kH6InoJ3U_Zwg7o9Mx_hc9VvcqSkO2GzjUCct8uA5cgnRrFTDuTMQtKKkcfMvJDb1lG83vYcBEiuvMNdKd-AF1d2oturWYl8cZaHKzA-Pdj-pyq3tHgfdJ5klsvrizH8LlkD_HYXieEshsP0famNedXtmoeOw5Urs-J_juVmfWlBLkL5DnxoSvjxKXs3irUVXLx3kIeGvCnSoZwaEeOhIw9o54Tm07SLXThtFfQSMhbhzK-GX34THADQG95_2Wf5Wm7VVHzxBSLvNCP4OVR5cUH1Blor-f81GcfMVs_XxpJ2-Z4_b4kClC7HDOWZLKqZGtSoXtnAaIXHkAeq2Pb3Q-S86UNOkXncePZm3DFQsAVpYKVN1zSAt5Hr9wo_ll03r2pE-zuCf5lLvXbyW6SSnZG_/https%3A%2F%2Fnppa.com.au%2Fwp-content%2Fuploads%2F2020%2F10%2FNPP-API-Framework-v4.0-Final.pdf.
> It's my understanding that no bank implemented NPP on the mainframe.
>   From the presentations I've seen they used CDC to capture writes and
> then published events to Kafka, which was fanned out to different
> micro-services to do fraud detection, payments, push notifications etc.
> Back in the day straight-through processing was a pipe dream which is
> why we have overnight batch. It's a relic of applications written
> decades ago for very different hardware platforms.
>
>
>> It's much better to run Linux than to get an IFL, which can only run batch.
> I have no idea what you mean?
>
>> Cynical? Moi?
>>
>>
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>>
>> 
>> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
>> David Crayford [dcrayf...@gmail.com]
>> Sent: Sunday,

Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Seymour J Metz
Perhaps some are: CVS isn't.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Johnson [0047540adefe-dmarc-requ...@listserv.ua.edu]
Sent: Sunday, June 19, 2022 4:21 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

Most mainframes store transactions and process in batch? Are you the same guy 
who didn’t know pharmacies are open 24 by 7?


Sent from Yahoo Mail for iPhone


On Sunday, June 19, 2022, 2:03 PM, David Crayford  wrote:

On 20/06/2022 12:38 am, Seymour J Metz wrote:
> Keep in mind that the mainframe can only do batch processing, with input from 
> cards. It doesn't support anything like CICS, IMS or Sabre..

What have transactional systems like CICS or IMS got to do with
real-time, straight-through processing? Most mainframe transactions
store data that is later processed by batch, typically overnight. In the
case of banking transactions that require inter-bank settlements this
can cause delays of several days. In Australia the government mandated
the NPP (New Payments Platform) which facilities instant payments using
payids, which can be an email address, cellphone numbers etc. The API is
a simple REST API using HTTP
https://secure-web.cisco.com/1cVCppuTlJ_nNLCyIpfi-pFWBClb6lq0nQl_7E--OgnADnbuDkYX8bcjtN6oIQ16B7sRfQ6OOuKQq5QEsgUNf1wFNw-vDdy4M0iIKKAuBN963Nz6gCY1jLEhKQkGKEoyGO9Z-wZYLbalLh_6t-yXF0tJt57oapuTFDOrG3GFsopnPGoLuZ4lhsE-QLh8nA4FrboD8IlzLKjbPsQj-pX4nCx-5TqIo8psGz3mESLroERbYAiILA7fDZwB43yTbn-VzeobnA6ekc_rpFTqhR0IQ5Sh4Edlu7N1EUQ58yn28hGb_a0yq75xJMnQiCxA0sU1Si67g84Rll_yCyt27ggj4mSC-Y501bGnMLip29-0IurTidywtHtLuc7WbjeLeon2CRuFO9mcnFZ5ZFvA_KT8equXAEbZ7tPu1HS-0BD6cCWjPwQggcoAS7FwZRvM34g_d/https%3A%2F%2Fnppa.com.au%2Fwp-content%2Fuploads%2F2020%2F10%2FNPP-API-Framework-v4.0-Final.pdf.
It's my understanding that no bank implemented NPP on the mainframe.
 From the presentations I've seen they used CDC to capture writes and
then published events to Kafka, which was fanned out to different
micro-services to do fraud detection, payments, push notifications etc.
Back in the day straight-through processing was a pipe dream which is
why we have overnight batch. It's a relic of applications written
decades ago for very different hardware platforms.


> It's much better to run Linux than to get an IFL, which can only run batch.

I have no idea what you mean?

>
> Cynical? Moi?
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> 
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
> David Crayford [dcrayf...@gmail.com]
> Sent: Sunday, June 19, 2022 2:36 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and 
> AWS
>
> On 19/06/2022 5:23 am, Enzo D'Amato wrote:
>> I also agree, but as a non-insider, I wanted to know what others were 
>> thinking. I also belive that in most cases, the effort spent trying to get 
>> off the mainframe would be better spent actually fixing the code running on 
>> it in the first place. Moving around broken code doesn't automatically fix 
>> it.
> It's not just about fixing broken code. If you read the ING CIO's
> remarks about why they wanted off the mainframe it's not about the
> platform. Nobody denies that mainframes are insanely brilliant hardware
> platforms. ING wanted to get rid of batch and move towards an event
> driven architecture using pub/sub where they can easily deploy loosely
> coupled micro-services to provide cutting edge products. The technology
> stacks are built on open source such as Kafka, MongoDB, Cassandra, NiFi,
> Avro etc.  The retail banking industry has been disrupted by fintechs so
> waiting for an overnight batch schedule for settlements is a competitive
> disadvantage.  Cracking open and modernizing 50-60 year old COBOL batch
> applications is a VERY heavy lift.
>
> https://secure-web.cisco.com/1GoiNO6FBPSWW0D9FZYVYixer1jsPeSd_xH-wmi6jMOC-onAkZQ4Pkf3c1UMGWbQeEprnkSWa1xGxz4vvn-LF0jVrCFlVVFZKQJ4Jti8nbQ7QchsOxhwNiwluJrdKkQP2nXXHQH2Ut2NNa9VChfVBIDR7Akw4ud6_pIXLAFXO5l73Sv-iLZFNU1MWWnLapWhhCKvytdzs7EJTvNZ2qbU8xwCdBEl1UkUuL-jHHZLk6xJPxAadVRWP1nuLz8i5AZrfvDI8u8rZ0V0DT77_Uvu8klHLbL9xe2qaYi1P6a6mc8r9Aj2jothGC-CR9cbCgb-JVXupgin9UctH5C_iVMyn_T-9jzZjtNyZDETxb8hXMU-BOuUz89MGu1nniZJ2tvSSN8yh5A6K-_It8fA10UFCfSBhOB0NVkwKL5M8A2BxZ9_e111GnxGK_PAbj0wh5fvU/https%3A%2F%2Fwww.theregister.com%2F2016%2F07%2F01%2Fing_mainframe_strategy%2F
>  <- read
> the comments section. It's hilarious :)
>
> The doubly whammy is there's a skills crisis slowly unraveling. In the
> last year we've had 3 key resources move to 3 day weeks with a view to
> retiring. Replacing highly skilled assembler programmers with deep
> subsystem knowledge is proving to be difficult. Young people don't want
> to learn HLASM as they consider it a dead-end. Their position 

Re: Some UNIX file usage questions

2022-06-20 Thread Seymour J Metz
No, ANSI stream I/O does not provide for file locking. However, implementations 
are allowed to define addtional options and commands for the stream() BIF.

I'm not sure whether file attributes and permissions should be considered to be 
part of the I/O infrastructure of a language.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Paul Gilmartin [042bfe9c879d-dmarc-requ...@listserv.ua.edu]
Sent: Sunday, June 19, 2022 2:47 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Some UNIX file usage questions

On Sun, 19 Jun 2022 18:33:42 +, Seymour J Metz wrote:
>
>Are you claiming that syscall is a convenient way to do I/O in REXX? I find 
>ANSI stream I/O to be much cleaner.
>
Make lemonade.

Does ANSI stream I/O provide full control of such as O_CREAT, O_EXCL,
O_TRUNC, O_APPEND, ... as syscall does?

--
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: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread René Jansen
You can make that 'about 30 years ago' - time flies while we’re having fun.

René.

> On 20 Jun 2022, at 09:51, Colin Paice  wrote:
> 
> MQ from IBM developed about 20+ years ago helped get from Batch to real
> time.   You put messages to a queue, and it can run IMS transactions
> (including OTMA),  CICS transactions, or even batch!.  You can put on one
> member in a sysplex and get in another member.
> It has single put, and also publish/subscribe capability.
> 
> Colin
> 

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


Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread David Crayford

On 20/06/2022 3:51 pm, Colin Paice wrote:

MQ from IBM developed about 20+ years ago helped get from Batch to real
time.   You put messages to a queue, and it can run IMS transactions
(including OTMA),  CICS transactions, or even batch!.  You can put on one
member in a sysplex and get in another member.
It has single put, and also publish/subscribe capability.


Great post. For the use case I'm discussing, which is real-time data 
replication, Kafka will be orders of magnitude more efficient then MQ as 
it uses a pull model while maintaining equivalent HA durability. MQ is 
awesome for mainframe applications that require edge triggered events 
such as CICS transactions. I'm not sure if I would use it in a batch job 
as the middleware for a data mover.  I stumbled across an interesting 
paper from IBM with performance metrics running MQ with zCX as the 
concentrator.  Seems that there may be serious money to be saved with 
this deployment using zCX. I like these sensible, real world scenarios 
as opposed to the usual fluff about running large distributed systems on 
zCX containers.


https://ibm-messaging.github.io/mqperf/MQ%20with%20zCX.pdf



Colin

On Sun, 19 Jun 2022 at 22:27, Joe Monk  wrote:


"What have transactional systems like CICS or IMS got to do with
real-time, straight-through processing? Most mainframe transactions
store data that is later processed by batch, typically overnight."

If you think CICS and IMS are transactional only, youre stuck in the '80s.
As an example, ICCF on VSE uses CICS as the TP Monitor. Tell me that
writing code, storing it in a library, compiling, etc. are not "real-time".

Joe

On Sun, Jun 19, 2022 at 1:03 PM David Crayford
wrote:


On 20/06/2022 12:38 am, Seymour J Metz wrote:

Keep in mind that the mainframe can only do batch processing, with

input

from cards. It doesn't support anything like CICS, IMS or Sabre..

What have transactional systems like CICS or IMS got to do with
real-time, straight-through processing? Most mainframe transactions
store data that is later processed by batch, typically overnight. In the
case of banking transactions that require inter-bank settlements this
can cause delays of several days. In Australia the government mandated
the NPP (New Payments Platform) which facilities instant payments using
payids, which can be an email address, cellphone numbers etc. The API is
a simple REST API using HTTP



https://nppa.com.au/wp-content/uploads/2020/10/NPP-API-Framework-v4.0-Final.pdf
.

It's my understanding that no bank implemented NPP on the mainframe.
  From the presentations I've seen they used CDC to capture writes and
then published events to Kafka, which was fanned out to different
micro-services to do fraud detection, payments, push notifications etc.
Back in the day straight-through processing was a pipe dream which is
why we have overnight batch. It's a relic of applications written
decades ago for very different hardware platforms.



It's much better to run Linux than to get an IFL, which can only run

batch.

I have no idea what you mean?


Cynical? Moi?


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on

behalf of David Crayford [dcrayf...@gmail.com]

Sent: Sunday, June 19, 2022 2:36 AM
To:IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM

and AWS

On 19/06/2022 5:23 am, Enzo D'Amato wrote:

I also agree, but as a non-insider, I wanted to know what others were

thinking. I also belive that in most cases, the effort spent trying to

get

off the mainframe would be better spent actually fixing the code running

on

it in the first place. Moving around broken code doesn't automatically

fix

it.

It's not just about fixing broken code. If you read the ING CIO's
remarks about why they wanted off the mainframe it's not about the
platform. Nobody denies that mainframes are insanely brilliant hardware
platforms. ING wanted to get rid of batch and move towards an event
driven architecture using pub/sub where they can easily deploy loosely
coupled micro-services to provide cutting edge products. The technology
stacks are built on open source such as Kafka, MongoDB, Cassandra,

NiFi,

Avro etc.  The retail banking industry has been disrupted by fintechs

so

waiting for an overnight batch schedule for settlements is a

competitive

disadvantage.  Cracking open and modernizing 50-60 year old COBOL batch
applications is a VERY heavy lift.



https://secure-web.cisco.com/1GoiNO6FBPSWW0D9FZYVYixer1jsPeSd_xH-wmi6jMOC-onAkZQ4Pkf3c1UMGWbQeEprnkSWa1xGxz4vvn-LF0jVrCFlVVFZKQJ4Jti8nbQ7QchsOxhwNiwluJrdKkQP2nXXHQH2Ut2NNa9VChfVBIDR7Akw4ud6_pIXLAFXO5l73Sv-iLZFNU1MWWnLapWhhCKvytdzs7EJTvNZ2qbU8xwCdBEl1UkUuL-jHHZLk6xJPxAadVRWP1nuLz8i5AZrfvDI8u8rZ0V0DT77_Uvu8klHLbL9xe2qaYi1P6a6mc8r9Aj2jothGC-CR9cbCgb-JVXupgin9UctH5C_iVMyn_T-9jzZjtNyZDETxb8hXMU-BOuUz89MGu1nniZJ2tvSSN8yh5A6K-_It8fA10UFCfSBhOB0NVkw

Re: Modernize Mainframe Applications for Hybrid Cloud with IBM and AWS

2022-06-20 Thread Colin Paice
MQ from IBM developed about 20+ years ago helped get from Batch to real
time.   You put messages to a queue, and it can run IMS transactions
(including OTMA),  CICS transactions, or even batch!.  You can put on one
member in a sysplex and get in another member.
It has single put, and also publish/subscribe capability.

Colin

On Sun, 19 Jun 2022 at 22:27, Joe Monk  wrote:

> "What have transactional systems like CICS or IMS got to do with
> real-time, straight-through processing? Most mainframe transactions
> store data that is later processed by batch, typically overnight."
>
> If you think CICS and IMS are transactional only, youre stuck in the '80s.
> As an example, ICCF on VSE uses CICS as the TP Monitor. Tell me that
> writing code, storing it in a library, compiling, etc. are not "real-time".
>
> Joe
>
> On Sun, Jun 19, 2022 at 1:03 PM David Crayford 
> wrote:
>
> > On 20/06/2022 12:38 am, Seymour J Metz wrote:
> > > Keep in mind that the mainframe can only do batch processing, with
> input
> > from cards. It doesn't support anything like CICS, IMS or Sabre..
> >
> > What have transactional systems like CICS or IMS got to do with
> > real-time, straight-through processing? Most mainframe transactions
> > store data that is later processed by batch, typically overnight. In the
> > case of banking transactions that require inter-bank settlements this
> > can cause delays of several days. In Australia the government mandated
> > the NPP (New Payments Platform) which facilities instant payments using
> > payids, which can be an email address, cellphone numbers etc. The API is
> > a simple REST API using HTTP
> >
> >
> https://nppa.com.au/wp-content/uploads/2020/10/NPP-API-Framework-v4.0-Final.pdf
> .
> >
> > It's my understanding that no bank implemented NPP on the mainframe.
> >  From the presentations I've seen they used CDC to capture writes and
> > then published events to Kafka, which was fanned out to different
> > micro-services to do fraud detection, payments, push notifications etc.
> > Back in the day straight-through processing was a pipe dream which is
> > why we have overnight batch. It's a relic of applications written
> > decades ago for very different hardware platforms.
> >
> >
> > > It's much better to run Linux than to get an IFL, which can only run
> > batch.
> >
> > I have no idea what you mean?
> >
> > >
> > > Cynical? Moi?
> > >
> > >
> > > --
> > > Shmuel (Seymour J.) Metz
> > > http://mason.gmu.edu/~smetz3
> > >
> > > 
> > > From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on
> > behalf of David Crayford [dcrayf...@gmail.com]
> > > Sent: Sunday, June 19, 2022 2:36 AM
> > > To: IBM-MAIN@LISTSERV.UA.EDU
> > > Subject: Re: Modernize Mainframe Applications for Hybrid Cloud with IBM
> > and AWS
> > >
> > > On 19/06/2022 5:23 am, Enzo D'Amato wrote:
> > >> I also agree, but as a non-insider, I wanted to know what others were
> > thinking. I also belive that in most cases, the effort spent trying to
> get
> > off the mainframe would be better spent actually fixing the code running
> on
> > it in the first place. Moving around broken code doesn't automatically
> fix
> > it.
> > > It's not just about fixing broken code. If you read the ING CIO's
> > > remarks about why they wanted off the mainframe it's not about the
> > > platform. Nobody denies that mainframes are insanely brilliant hardware
> > > platforms. ING wanted to get rid of batch and move towards an event
> > > driven architecture using pub/sub where they can easily deploy loosely
> > > coupled micro-services to provide cutting edge products. The technology
> > > stacks are built on open source such as Kafka, MongoDB, Cassandra,
> NiFi,
> > > Avro etc.  The retail banking industry has been disrupted by fintechs
> so
> > > waiting for an overnight batch schedule for settlements is a
> competitive
> > > disadvantage.  Cracking open and modernizing 50-60 year old COBOL batch
> > > applications is a VERY heavy lift.
> > >
> > >
> >
> https://secure-web.cisco.com/1GoiNO6FBPSWW0D9FZYVYixer1jsPeSd_xH-wmi6jMOC-onAkZQ4Pkf3c1UMGWbQeEprnkSWa1xGxz4vvn-LF0jVrCFlVVFZKQJ4Jti8nbQ7QchsOxhwNiwluJrdKkQP2nXXHQH2Ut2NNa9VChfVBIDR7Akw4ud6_pIXLAFXO5l73Sv-iLZFNU1MWWnLapWhhCKvytdzs7EJTvNZ2qbU8xwCdBEl1UkUuL-jHHZLk6xJPxAadVRWP1nuLz8i5AZrfvDI8u8rZ0V0DT77_Uvu8klHLbL9xe2qaYi1P6a6mc8r9Aj2jothGC-CR9cbCgb-JVXupgin9UctH5C_iVMyn_T-9jzZjtNyZDETxb8hXMU-BOuUz89MGu1nniZJ2tvSSN8yh5A6K-_It8fA10UFCfSBhOB0NVkwKL5M8A2BxZ9_e111GnxGK_PAbj0wh5fvU/https%3A%2F%2Fwww.theregister.com%2F2016%2F07%2F01%2Fing_mainframe_strategy%2F
> > <- read
> > > the comments section. It's hilarious :)
> > >
> > > The doubly whammy is there's a skills crisis slowly unraveling. In the
> > > last year we've had 3 key resources move to 3 day weeks with a view to
> > > retiring. Replacing highly skilled assembler programmers with deep
> > > subsystem knowledge is proving to be difficult. Young people don't want
> > > to learn HLASM as they conside

Re: Some UNIX file usage questions

2022-06-20 Thread Peter Sylvester

On 20/06/2022 08:30, David Crayford wrote:
Python closes files at the end of a with statement scope. It will also close the file cleanly if 
an exception is thrown.  That's what I call KISS!


Yes. I think I missed O_CREATE. Another +1

My reference to KISS was related to avoiding whatever logic to rename files.

Best




with open('file_path', 'w') as file:
    file.write('hello world !')


On 20/06/2022 1:47 pm, Peter Sylvester wrote:

Hi,

I remember I did that 25 years ago something like (was actually in perl on 
windows):

  open(path/prefix-current_day_or_so, |O_WRONLY|O_APPEND|)"
  write(..)
  cliose(..)
  fsync(...)

(error treating TDB).

KISS  ?

( If you are paranoiac, use three copies, or else  :-)

Peter
peter.sylvester (a) could


On 19/06/2022 22:35, Farley, Peter x23353 wrote:

Agreed; I did not spell out all the details, silly me.

close(old)
rename(old)
open(new)

Peter




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


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




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