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

2023-03-28 Thread David Crayford

On 28/3/23 13:26, Tony Harminc wrote:

I use programming languages that I don't like all the time. C, in
particular, I dislike a lot. That doesn't mean they're not useful.

Whew! And I thought you were a C fanatic. Thanks for disabusing me of that.
Ha! I don't develop emotional attachments to programming languages, 
except for Lua which I find exceptionally elegant. Its power and 
conciseness are truly impressive. I'm still astonished how such a tiny 
language can be so powerful with such economy. Nonetheless, I tend to 
follow the crowd and use Python as my primary scripting language, even 
though I have a preference for Lua. While Kotlin appealed to me for our 
latest project, we ultimately opted for Java due to its abundant talent 
pool, which eliminated the need for additional training of new hires.



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


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

2023-03-28 Thread David Crayford

On 28/3/23 13:56, Wayne Bickerdike wrote:

During my early training we were sent to learn Michael Jackson structured
programming.


I had a few brief years as an applications programmer back in the early 
90s. I came from operations so I had to take the IBM aptitude test. The 
interviewer held out both hands, one with an open palm the other with a 
clenched fist and asked me "what hand is the ball bearing in"?. Anyway, 
they shipped us all off for a months training in rural Berkshire just 
outside London for training. Very nice it was too, loads of nice quaint 
pubs. We learned Jackson Structured Programming methodology before we 
wrote any code. We drew org chart diagrams to design programs. Each box 
had a different character in the top right such as a asterix or a circle 
to determine iteration or selection. It was decent for designing COBOL 
programs. I think it only ever took of in the UK, maybe because Jackson 
was a Brit.




MJ quotes Dijkstra a lot, however, I didn't realise that he
was a PL/I hater. That was the first language I learned and still think it
was a masterpiece.


The PL/I specification was ahead of its time. It was too difficult to 
write a decent compiler so the guys at bell invented C. PL/I is arguable 
a better language then C but it's a niche language. IIRC, roughly 90% of 
mainframe applications are written in COBOL. I only worked with PL/I 
briefly but it was a breath of fresh air after COBOL. It had generic 
functions and lots of really nice features such as built-in multi-tasking.




I encountered COBOL after I left IBM and it happened to
be Microfocus COBOL, a very odd variant designed for Z80/CPM based
microcomputers. It barely did the job since it only supported a rudimentary
ISAM file system. A couple of years later as our software house was going
broke, I went for an interview for a DOS/VSE COBOL role. The customer was
doubtful that my MF COBOL would translate to a mainframe role. It didn't
prove to be a problem but oh how I wished it had been a PL/I shop.

Inverted programs in COBOL? Blech..

On Tue, Mar 28, 2023 at 4:27 PM Tony Harminc  wrote:


On Mon, 27 Mar 2023 at 23:22, David Crayford  wrote:

I think it was flippant Edsger W. Dijkstra  quote:

  “The use of COBOL cripples the mind; its teaching should,
therefore, be regarded as a criminal offense.”

Dijkstra wasn't hot on a lot of languages:

"If Fortran has been called an infantile disorder, PL/I must be
classified as a fatal disease."
-Edsger Dijkstra in Introduction to the Art of Computer Programming

Which prompted, or at least provided a juicy quote for, Ric Holt's
1972 paper "Teaching the Fatal Disease (or) Introductory Computer
Programming Using PL/I".


I use programming languages that I don't like all the time. C, in
particular, I dislike a lot. That doesn't mean they're not useful.

Whew! And I thought you were a C fanatic. Thanks for disabusing me of that.

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: Stop the ragging on COBOL please [was: RE: ASM call by value]

2023-03-28 Thread Bob Bridges
It certainly does!  Lots of applications developers hate that, but it always 
seemed to me that it’s a necessary part of making usable code.  If my users 
never talked to me ("could you add a command arg that sorts the output this way 
instead of that?"), I'd suspect - actually I'd be sure - that they never 
actually use what I wrote for them.

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

/* Part of what makes us human are the kinks. They’re the mutations, the 
outliers, the flaws that create art or the new invention.  [So in designing AI 
solutions] one of the challenges is where and when is it appropriate for us to 
have things work exactly the way they’re supposed to, without surprises.  
-Barak Obama in a conversation about artificial intelligence, August 2016 */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Charles Mills
Sent: Tuesday, March 28, 2023 18:21

Ha! I always said if I ever taught programming -- I never have -- I was going 
to do that -- swap code between students.

The other thing I was going to do in the same vein was give a programming 
assignment -- perhaps with a fairly tight deadline -- and halfway through say 
"oh, wait, the specs have changed" and hand them a somewhat different variant 
of the problem. (I thought that modeled real life programming!) 

--- On Tue, 28 Mar 2023 17:17:05 -0400, Steve Thompson  wrote:
>In an effort to keep people from writing difficult to impossible to 
>maintain code, while I was teaching COBOL, I warned the students that I 
>would be picking a programming lesson, where once it was completed, 
>everyone would have to swap card decks and then have to add the next 
>lesson's function to it.

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


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

2023-03-28 Thread Schmitt, Michael
The customer says, “Build me a house”.

So we build them a house.

Then after it is finished, they say, “that I can drive to the lake”.

From: IBM Mainframe Discussion List  on behalf of 
Steve Thompson 
Date: Tuesday, March 28, 2023 at 5:50 PM
To: IBM-MAIN@LISTSERV.UA.EDU 
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]
I just wasn't that devious, but yeah, happens in real shops more
than one cares to admit.

Steve Thompson

On 3/28/2023 6:20 PM, Charles Mills wrote:
> Ha! I always said if I ever taught programming -- I never have -- I was going 
> to do that -- swap code between students.
>
> The other thing I was going to do in the same vein was give a programming 
> assignment -- perhaps with a fairly tight deadline -- and halfway through say 
> "oh, wait, the specs have changed" and hand them a somewhat different variant 
> of the problem. (I thought that modeled real life programming!)
>
> Charles
>
> On Tue, 28 Mar 2023 17:17:05 -0400, Steve Thompson  wrote:
>
>> In an effort to keep people from writing difficult to impossible
>> to maintain code, while I was teaching COBOL, I warned the
>> students that I would be picking a programming lesson, where once
>> it was completed, everyone would have to swap card decks and then
>> have to add the next lesson's function to it. They would be
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: 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: Stop the ragging on COBOL please [was: RE: ASM call by value]

2023-03-28 Thread Steve Thompson
I just wasn't that devious, but yeah, happens in real shops more 
than one cares to admit.


Steve Thompson

On 3/28/2023 6:20 PM, Charles Mills wrote:

Ha! I always said if I ever taught programming -- I never have -- I was going 
to do that -- swap code between students.

The other thing I was going to do in the same vein was give a programming assignment -- 
perhaps with a fairly tight deadline -- and halfway through say "oh, wait, the specs 
have changed" and hand them a somewhat different variant of the problem. (I thought 
that modeled real life programming!)

Charles

On Tue, 28 Mar 2023 17:17:05 -0400, Steve Thompson  wrote:


In an effort to keep people from writing difficult to impossible
to maintain code, while I was teaching COBOL, I warned the
students that I would be picking a programming lesson, where once
it was completed, everyone would have to swap card decks and then
have to add the next lesson's function to it. They would be

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


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


Fascinating Interview with Steve Jobs [non-mainframe]

2023-03-28 Thread Charles Mills
A friend shared this with me and I thought it was just extraordinary. It is not 
"mainframe" but his comments on what happens when the marketeers run a tech 
company will resonate with many of us. It’s a fairly long read. It’s a 
transcript of a long interview done for a TV show – only a few minutes were 
actually used – by Bob Cringely, and thought to be lost. Steve Jobs was at the 
time (1995) running NeXT, which he was to sell to Apple a month later. It is a 
fascinating read.

https://sameerbajaj.com/jobs/  

Charles

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


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

2023-03-28 Thread Charles Mills
Ha! I always said if I ever taught programming -- I never have -- I was going 
to do that -- swap code between students.

The other thing I was going to do in the same vein was give a programming 
assignment -- perhaps with a fairly tight deadline -- and halfway through say 
"oh, wait, the specs have changed" and hand them a somewhat different variant 
of the problem. (I thought that modeled real life programming!) 

Charles

On Tue, 28 Mar 2023 17:17:05 -0400, Steve Thompson  wrote:

>In an effort to keep people from writing difficult to impossible
>to maintain code, while I was teaching COBOL, I warned the
>students that I would be picking a programming lesson, where once
>it was completed, everyone would have to swap card decks and then
>have to add the next lesson's function to it. They would be

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


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

2023-03-28 Thread Bernd Oppolzer
Very good method ... I was teaching programming during my career, much 
the same as you did,
but I never did it like that. But I also encouraged the students to 
discuss their solutions with me
and with other students and required that there be comments and 
meaningful variable names etc.


IMO, the COBOL language and the mainframe is still alive and will not 
die in the near future for the

following reasons:

- the applications are more secure because of the use of decimal data 
(0C7 will often occur, when
uninitialized data is used ... this is often detected during testing. On 
other platforms, you may get

unexpected results, but no abends)

- if you get an ABEND, you have well established analyzing and recovery 
procedures and readable dumps;
compare that to a "segmentation fault" on a Unix box ... you normally 
need to start a debugger to

examine the problem (in the production system?)

- most mainframe shops have established procedures for change management 
etc., and software

doesn't go to production untested etc.

- the system software stack is stable ... on the other platforms, it is 
possible that a software after only
3 years is "legacy" or "toxic" ... with mainframes, legacy starts after 
25 to 30 years :-)

and the software is still readable (well: normally).

Kind regards

Bernd


Am 28.03.2023 um 23:17 schrieb Steve Thompson:
In an effort to keep people from writing difficult to impossible to 
maintain code, while I was teaching COBOL, I warned the students that 
I would be picking a programming lesson, where once it was completed, 
everyone would have to swap card decks and then have to add the next 
lesson's function to it. They would be graded on getting the lesson 
done, graded on how well they could update someone else's code and on 
how problematic their code was for another person to update it. And 
then there would be one more of these that I would announce with no 
warning to do before the final program was due.


So programming task #3 was done and I announced this was the time for 
the swap.


After that lesson, and me having graded it, code started to have 
meaningful comments and better to understand variable names and logic. 
I never pulled the second one on them because I felt the mission and 
lesson had been accomplished.


I think more instructors should do things like this.

Steve Thompson


On 3/28/2023 5:01 PM, Bernd Oppolzer wrote:
With the clever use of GOTOs and the use of different variables with 
strange names
for the same purpose, you can even turn a less than 1000 lines COBOL 
program completely unreadable.


I see such programs almost every day.

The biggest obstacle for keeping large COBOL programs maintainable is 
the lack of procedures and local variables, IMO.
Because all variables are global, it is almost impossible to 
structure your program into many small independent and
separate blocks, which IMO is crucial when it comes to fighting 
complexity. You need much discipline and talent,
inspired by other programming languages (in my case PL/1 - Pascal - C 
- Assembler, to name a few), if you want to produce

good quality software in a shop who is COBOL only :-(

I'm doing this for more than 3 years now ... new COBOL software every 
day. COBOL is not dead and will not be

for the next 10 to 20 years, at least.

Kind regards

Bernd



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


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

2023-03-28 Thread Steve Thompson
In an effort to keep people from writing difficult to impossible 
to maintain code, while I was teaching COBOL, I warned the 
students that I would be picking a programming lesson, where once 
it was completed, everyone would have to swap card decks and then 
have to add the next lesson's function to it. They would be 
graded on getting the lesson done, graded on how well they could 
update someone else's code and on how problematic their code was 
for another person to update it. And then there would be one more 
of these that I would announce with no warning to do before the 
final program was due.


So programming task #3 was done and I announced this was the time 
for the swap.


After that lesson, and me having graded it, code started to have 
meaningful comments and better to understand variable names and 
logic. I never pulled the second one on them because I felt the 
mission and lesson had been accomplished.


I think more instructors should do things like this.

Steve Thompson


On 3/28/2023 5:01 PM, Bernd Oppolzer wrote:
With the clever use of GOTOs and the use of different variables 
with strange names
for the same purpose, you can even turn a less than 1000 lines 
COBOL program completely unreadable.


I see such programs almost every day.

The biggest obstacle for keeping large COBOL programs 
maintainable is the lack of procedures and local variables, IMO.
Because all variables are global, it is almost impossible to 
structure your program into many small independent and
separate blocks, which IMO is crucial when it comes to fighting 
complexity. You need much discipline and talent,
inspired by other programming languages (in my case PL/1 - 
Pascal - C - Assembler, to name a few), if you want to produce

good quality software in a shop who is COBOL only :-(

I'm doing this for more than 3 years now ... new COBOL software 
every day. COBOL is not dead and will not be

for the next 10 to 20 years, at least.

Kind regards

Bernd


Am 28.03.2023 um 17:05 schrieb David Spiegel:

Hi Bill,
You said: "...It seems to help with maintenance and updating 
of large, complex commercial programs..."
Back in the mid-'80s, I used to support a 3-letter software 
vendor's Payroll package.
The source was unreadable because of the amount and size of 
copybooks. When compiled, the listing was so big that it was 
near impossible to follow.
Needless to say, the variable and paragraph names didn't help 
too much.
Have you ever tried reading a DMS for CICS (again, 40 years 
ago) generated COBOL listing?
My point is that anything can be unreadable, including wordy 
COBOL.
I used to code FORTRAN, ASSEMBLER and APL for a living (early 
'80s). These 3 can be readable if there are departmental 
standards in place.


Caveat: I still program Rexx and given the chance would (and 
have) program(med) PL/I -- my favourite compiled language.
(Edsger W. Dijkstra be damned. (If he had to work in a 
commercial (aka "real") environment (instead of his ivory 
tower), his opinion might've been tempered a bit.) )


Regards,
David



-- 


For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: 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: Stop the ragging on COBOL please [was: RE: ASM call by value]

2023-03-28 Thread Bob Bridges
PL/I (or actually PL/C) was the first language I was exposed to, also - took a 
class in college while getting my Accounting degree - and I still think it's 
wonderful.  A classmate was interviewing me for a job with his employer a few 
years later and asked me what I thought to be the principle advantage of PL/I.  
For me that was easy:  Detailed control of storage.  (He agreed with me, but he 
didn't hire me.)

A few years later I worked for a university and got a chance to teach myself 
Algol.  What I remember most about it is the paucity of its built-in functions, 
but it was easy enough to write my own so it didn't bother me much.

I agree with Seymour:  If you can program in one language, you can learn 
another.  At least, so it seems to me.  Programming is an approach to a 
problems, not the actual language.  I not tired yet of learning more.

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

/* Opinions expressed in this post are not those of my employer.  The opinion 
of my employer is that I should get back to work. */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Seymour J Metz
Sent: Tuesday, March 28, 2023 06:35

Yes, COBOL has a lot of faults, and, yes, I consider PL/I to be much better. 
However, a real programmer should be able to pick up a new language and be 
productive in it, even one that he hates.

I distinguish between a person that views programming through COBOL colored 
glasses and a programmer who happens to be using COBOL; it is unfair to link 
the latter with the faults of the former.

IMHO, nobody really knows a language unless they are able to see deficiencies 
in a language. I love PL/I and REXX, but there are definitely things that I 
would change in each.


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Wayne Bickerdike
Sent: Tuesday, March 28, 2023 1:56 AM

During my early training we were sent to learn Michael Jackson structured 
programming. MJ quotes Dijkstra a lot, however, I didn't realise that he was a 
PL/I hater. That was the first language I learned and still think it was a 
masterpiece. I encountered COBOL after I left IBM and it happened to be 
Microfocus COBOL, a very odd variant designed for Z80/CPM based microcomputers. 
It barely did the job since it only supported a rudimentary ISAM file system. A 
couple of years later as our software house was going broke, I went for an 
interview for a DOS/VSE COBOL role. The customer was doubtful that my MF COBOL 
would translate to a mainframe role. It didn't prove to be a problem but oh how 
I wished it had been a PL/I shop.

--- On Tue, Mar 28, 2023 at 4:27 PM Tony Harminc  wrote:
> "If Fortran has been called an infantile disorder, PL/I must be 
> classified as a fatal disease."
> -Edsger Dijkstra in Introduction to the Art of Computer Programming
>
> Which prompted, or at least provided a juicy quote for, Ric Holt's
> 1972 paper "Teaching the Fatal Disease (or) Introductory Computer 
> Programming Using PL/I".

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


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

2023-03-28 Thread Bernd Oppolzer
With the clever use of GOTOs and the use of different variables with 
strange names
for the same purpose, you can even turn a less than 1000 lines COBOL 
program completely unreadable.


I see such programs almost every day.

The biggest obstacle for keeping large COBOL programs maintainable is 
the lack of procedures and local variables, IMO.
Because all variables are global, it is almost impossible to structure 
your program into many small independent and
separate blocks, which IMO is crucial when it comes to fighting 
complexity. You need much discipline and talent,
inspired by other programming languages (in my case PL/1 - Pascal - C - 
Assembler, to name a few), if you want to produce

good quality software in a shop who is COBOL only :-(

I'm doing this for more than 3 years now ... new COBOL software every 
day. COBOL is not dead and will not be

for the next 10 to 20 years, at least.

Kind regards

Bernd


Am 28.03.2023 um 17:05 schrieb David Spiegel:

Hi Bill,
You said: "...It seems to help with maintenance and updating of large, 
complex commercial programs..."
Back in the mid-'80s, I used to support a 3-letter software vendor's 
Payroll package.
The source was unreadable because of the amount and size of copybooks. 
When compiled, the listing was so big that it was near impossible to 
follow.

Needless to say, the variable and paragraph names didn't help too much.
Have you ever tried reading a DMS for CICS (again, 40 years ago) 
generated COBOL listing?

My point is that anything can be unreadable, including wordy COBOL.
I used to code FORTRAN, ASSEMBLER and APL for a living (early '80s). 
These 3 can be readable if there are departmental standards in place.


Caveat: I still program Rexx and given the chance would (and have) 
program(med) PL/I -- my favourite compiled language.
(Edsger W. Dijkstra be damned. (If he had to work in a commercial (aka 
"real") environment (instead of his ivory tower), his opinion might've 
been tempered a bit.) )


Regards,
David



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


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

2023-03-28 Thread Bob Bridges
Ok, to be fair I tnd to abbrvt evrthg I can and use two- and thr-chr var
nams.  I couldn't do that if I were still writing application programs for
my employer.  Instead I write tools, utilities and commands that anyone can
use but no one bothers to maintain.  I try to be careful to use a consistent
naming scheme and to leave behind lots of comments, but I do get that COBOL
would force me to be less concise.

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

/* There are not enough jails, not enough policemen, not enough courts to
enforce a law not supported by the people.  -Hubert H. Humphrey */

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of
billogden
Sent: Tuesday, March 28, 2023 10:26

I am not a COBOL programmer, except for some very minor attempts a long time
ago. However, I very much respect the proper use of the WORDY aspect. It
seems to help with maintenance and updating of large, complex commercial
programs that were originally written (in good, well-thought out words) long
ago.

--- Bob Bridges wrote:
>I myself dislike COBOL for the very simple and personal reason that 
>it's so WORDY.

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


Re: DFSORT to count and sum subsets of data

2023-03-28 Thread Billy Ashton
Kolusu, you are great and gracious! Thank you for this - it works as 
expected. I will dress up the file a bit with a good header, date and 
timestamp, and be able to turn it over to my user tomorrow. I greatly 
appreciate the teaching through this, too.


Thank you and best regards,
Billy Ashton


-- Original Message --

From "Sri h Kolusu" 

To IBM-MAIN@listserv.ua.edu
Date 3/28/2023 4:00:27 PM
Subject Re: DFSORT to count and sum subsets of data


 Wow, I did not want this to be so difficult...but given a choice, I would like 
the second approach


Billy,

It isn't that difficult; we just need to adjust the way we are summing the 
results. Since you did not want the department row, we just need to switch to 
using SUM instead of Reporting features.  Since we are using SUM, we need to 
handle the overflow of data, so when summing the 9 byte items, we will pad 3 
zeroes and sum it as 12 byte so that we account for overflow of the summation.

As for the header, generating a symbol by reading the 2nd record is the 
simplest and easiest way.

//**
//* The filename is on the 2nd record of the file. use SORT*
//* to read just that record and generate a symbol of the  *
//* filename.  *
//**
//GETFNAME EXEC PGM=SORT
//SYSOUT   DD SYSOUT=*
//SORTIN   DD DISP=(OLD,PASS),DSN=&
//SORTOUT  DD DSN=&,DISP=(,PASS),SPACE=(TRK,(1,1),RLSE)
//SYSINDD *
  OPTION COPY,SKIPREC=1,STOPAFT=1
  OUTREC BUILD=(02,44,JFY=(SHIFT=LEFT,
LEAD=C'FILENAME,C''',
   TRAIL=C,
  LENGTH=80))
/*
//**
//* Generate summary report of "D" records *
//**
//GENREP   EXEC PGM=SORT,COND=(0,LT)
//SYSOUT   DD SYSOUT=*
//SYMNAMES DD DISP=(OLD,DELETE),DSN=&
//SYMNOUT  DD SYSOUT=*
//SORTIN   DD DISP=(OLD,PASS),DSN=&
//SORTOUT  DD SYSOUT=*
//SYSINDD *
  INCLUDE COND=(019,03,FS,EQ,NUM,AND,  # Field is numeric and
022,01,CH,EQ,C'D') # Type = D

  INREC BUILD=(001,03, # Department
   3C'0',  # pad 3 zeros
   102,09,UFF,M11,LENGTH=9,# item qty
   C'0001')# init counter

  SORT FIELDS=(01,03,CH,A) # Department
   SUM FIELDS=(04,12,ZD,   # item
   16,08,ZD)   # count

  OUTFIL REMOVECC,
 BUILD=(C' DEPARTMENT  ',
01,03,
16,08,ZD,M10,LENGTH=8,
C' ARTICLES, TOTAL ITEMS: ',
04,12,ZD,M10,LENGTH=12),
  HEADER1=(FILENAME),
  TRAILER1=('*** TOTAL *** : ',
TOT=(16,08,ZD,M10,LENGTH=8),
' ARTICLES, TOTAL ITEMS: ',
TOT=(04,12,ZD,M10,LENGTH=12))
/*



 but for the sake of learning (if you don't mind), I would welcome the first 
option, also, to make my training more complete!


Just run your existing control cards without any D records and see the output.  
 (You will not have the filename as header, but you will have 1 row for 
department and total row)

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


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


Re: DFSORT to count and sum subsets of data

2023-03-28 Thread Sri h Kolusu
>> Wow, I did not want this to be so difficult...but given a choice, I would 
>> like the second approach

Billy,

It isn't that difficult; we just need to adjust the way we are summing the 
results. Since you did not want the department row, we just need to switch to 
using SUM instead of Reporting features.  Since we are using SUM, we need to 
handle the overflow of data, so when summing the 9 byte items, we will pad 3 
zeroes and sum it as 12 byte so that we account for overflow of the summation.

As for the header, generating a symbol by reading the 2nd record is the 
simplest and easiest way.

//**
//* The filename is on the 2nd record of the file. use SORT*
//* to read just that record and generate a symbol of the  *
//* filename.  *
//**
//GETFNAME EXEC PGM=SORT
//SYSOUT   DD SYSOUT=*
//SORTIN   DD DISP=(OLD,PASS),DSN=&
//SORTOUT  DD DSN=&,DISP=(,PASS),SPACE=(TRK,(1,1),RLSE)
//SYSINDD *
  OPTION COPY,SKIPREC=1,STOPAFT=1
  OUTREC BUILD=(02,44,JFY=(SHIFT=LEFT,
LEAD=C'FILENAME,C''',
   TRAIL=C,
  LENGTH=80))
/*
//**
//* Generate summary report of "D" records *
//**
//GENREP   EXEC PGM=SORT,COND=(0,LT)
//SYSOUT   DD SYSOUT=*
//SYMNAMES DD DISP=(OLD,DELETE),DSN=&
//SYMNOUT  DD SYSOUT=*
//SORTIN   DD DISP=(OLD,PASS),DSN=&
//SORTOUT  DD SYSOUT=*
//SYSINDD *
  INCLUDE COND=(019,03,FS,EQ,NUM,AND,  # Field is numeric and
022,01,CH,EQ,C'D') # Type = D

  INREC BUILD=(001,03, # Department
   3C'0',  # pad 3 zeros
   102,09,UFF,M11,LENGTH=9,# item qty
   C'0001')# init counter

  SORT FIELDS=(01,03,CH,A) # Department
   SUM FIELDS=(04,12,ZD,   # item
   16,08,ZD)   # count

  OUTFIL REMOVECC,
 BUILD=(C' DEPARTMENT  ',
01,03,
16,08,ZD,M10,LENGTH=8,
C' ARTICLES, TOTAL ITEMS: ',
04,12,ZD,M10,LENGTH=12),
  HEADER1=(FILENAME),
  TRAILER1=('*** TOTAL *** : ',
TOT=(16,08,ZD,M10,LENGTH=8),
' ARTICLES, TOTAL ITEMS: ',
TOT=(04,12,ZD,M10,LENGTH=12))
/*


>> but for the sake of learning (if you don't mind), I would welcome the first 
>> option, also, to make my training more complete!

Just run your existing control cards without any D records and see the output.  
 (You will not have the filename as header, but you will have 1 row for 
department and total row)

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


Re: ASM call by value

2023-03-28 Thread Steve Smith
What does "didn't work" mean?  What did the CALL expansion look like?

The code might be clearer if you just coded LA R1,=F'3' before the CALL.
Your usage of MF=E is novel, and I'm hesitant to condemn it, but it's
non-standard.

Incidentally, why would you replace =F'1,2,3' on your second example with a
hex string?

sas

On Tue, Mar 28, 2023 at 3:17 PM Frank Swarbrick 
wrote:

> Another typo, of course.
> =X'000100030003' should be =X'000100020003'
> 
> From: IBM Mainframe Discussion List  on behalf
> of Frank Swarbrick 
> Sent: Tuesday, March 28, 2023 12:52 PM
> To: IBM-MAIN@LISTSERV.UA.EDU 
> Subject: Re: ASM call by value
>
> So that didn't work.  But after a lot of fiddling about, here's what works
> for me.  I LE enabled it so it will be reentrant.
>
> ISCICS#  CEEENTRY MAIN=NO
> *SEE IF WE'RE RUNNING UNDER CICS BY CALLING @@GETCB...
>  CALL  @@GETCB,MF=(E,=F'3') ...WITH VALUE INTEGER 3
>  CEETERM RC=(15)
> *
> PPA  CEEPPA
>  CEEDSA ,
>  CEECAA ,
>  END   ISCICS#
>
> By using the execute format of the CALL macro, assuming all of the fields
> are to be passed by value, you can place them, in order, in the execute
> literal (or whatever its called that follows the 'E').
>
> So, for example, if you wanted to call like the C statement "F(1,2,3)" you
> could do:
>  CALL  F,MF=(E,=X'000100030003')
> Or, of course, you could refer do a DC group instead of using a literal.
>
> Perhaps this will help others.
>
> Frank
>
>

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


Re: DFSORT to count and sum subsets of data

2023-03-28 Thread Billy Ashton
Wow, I did not want this to be so difficult...but given a choice, I 
would like the second approach, as it is cleaner, but for the sake of 
learning (if you don't mind), I would welcome the first option, also, to 
make my training more complete!


Thank you and best regards,
Billy Ashton


-- Original Message --

From "Sri h Kolusu" 

To IBM-MAIN@listserv.ua.edu
Date 3/28/2023 3:14:21 PM
Subject Re: DFSORT to count and sum subsets of data


 Kolusu, this works well when I have records to work with, but if I have no "D" 
records (sorry for the fat finger earlier...) to count or sum, I would still like to 
produce a summary. There will be no DEPARTMENT rows, but I would like to have the file 
name Header1, and a TOTAL line with the 0 Articles and 0 Items.


Billy,

There are different ways of getting results.  When the input does NOT have a 
"D" record, it will still generate the department row as you are using trailer3 
and it will have ZERO count and ZERO total.

Something like this

PROD.A31XAD.IDARTA00
 DEPARTMENT0 ARTICLES, TOTAL ITEMS:0
*** TOTAL *** :0 ARTICLES, TOTAL ITEMS:0


But if you insist on NOT having the Department record, then we need to do it 
slightly different.

PROD.A31XAD.IDARTA00
*** TOTAL *** :0 ARTICLES, TOTAL ITEMS:0


What is the preferred output ?  the First one or the second one?

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


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


Re: ASM call by value

2023-03-28 Thread Frank Swarbrick
Another typo, of course.
=X'000100030003' should be =X'000100020003'

From: IBM Mainframe Discussion List  on behalf of 
Frank Swarbrick 
Sent: Tuesday, March 28, 2023 12:52 PM
To: IBM-MAIN@LISTSERV.UA.EDU 
Subject: Re: ASM call by value

So that didn't work.  But after a lot of fiddling about, here's what works for 
me.  I LE enabled it so it will be reentrant.

ISCICS#  CEEENTRY MAIN=NO
*SEE IF WE'RE RUNNING UNDER CICS BY CALLING @@GETCB...
 CALL  @@GETCB,MF=(E,=F'3') ...WITH VALUE INTEGER 3
 CEETERM RC=(15)
*
PPA  CEEPPA
 CEEDSA ,
 CEECAA ,
 END   ISCICS#

By using the execute format of the CALL macro, assuming all of the fields are 
to be passed by value, you can place them, in order, in the execute literal (or 
whatever its called that follows the 'E').

So, for example, if you wanted to call like the C statement "F(1,2,3)" you 
could do:
 CALL  F,MF=(E,=X'000100030003')
Or, of course, you could refer do a DC group instead of using a literal.

Perhaps this will help others.

Frank



From: IBM Mainframe Discussion List  on behalf of 
Frank Swarbrick 
Sent: Monday, March 27, 2023 11:49 AM
To: IBM-MAIN@LISTSERV.UA.EDU 
Subject: Re: ASM call by value

So it looks like all I need is the following:
CALL @@GETCB,(3)
which should call the @@GETCB function passing integer 3 by value, returning 0 
or 1 in R15 to indicate if the task is running in a CICS environment.
Will give this a shot.  Thanks!

Frank


From: IBM Mainframe Discussion List  on behalf of 
Bernd Oppolzer 
Sent: Monday, March 27, 2023 12:49 AM
To: IBM-MAIN@LISTSERV.UA.EDU 
Subject: Re: ASM call by value

Sorry that I post to the original question;
that's because most of the answers so far missed the point.

Call by value means that a value is passed to the caller;
call by reference means that a reference (technically: an address) is
passed to the caller.

In ASSEMBLER:

CALL SUBPROG,(A,B,C),VL

sends address constants of fields A, B and C to the caller (via reg1
address list),
so that is always call by reference.

You can instead send an integer constant to the caller using CALL or a
register:

CALL SUBPROG,(1024,(R3))

with the integer constant, this sure is call by value, but you are
limited to integer arguments.
With the register argument, it depends on what is contained in the
register;
if it is an address, you have call by reference again.

The only real "call by value" I can see here is the case where an
integer constant is part
of the reg1 parameter list (the 1024 constant above); and this is what C
technically does
in the "call by value" case. If C passes larger values "call by value",
it copies them in the
reg1 parameter list. This CANNOT BE DONE using the CALL macro. And this
would be
the correct answer to the original question.

HTH,
kind regards

Bernd


Am 26.03.2023 um 23:35 schrieb Frank Swarbrick:
> Can the MVS CALL macro be used to call a C function with "value" parameters 
> (rather than reference parameters)?
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: 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: DFSORT to count and sum subsets of data

2023-03-28 Thread Sri h Kolusu
>> Kolusu, this works well when I have records to work with, but if I have no 
>> "D" records (sorry for the fat finger earlier...) to count or sum, I would 
>> still like to produce a summary. There will be no DEPARTMENT rows, but I 
>> would like to have the file name Header1, and a TOTAL line with the 0 
>> Articles and 0 Items.

Billy,

There are different ways of getting results.  When the input does NOT have a 
"D" record, it will still generate the department row as you are using trailer3 
and it will have ZERO count and ZERO total.

Something like this

PROD.A31XAD.IDARTA00
 DEPARTMENT0 ARTICLES, TOTAL ITEMS:0
*** TOTAL *** :0 ARTICLES, TOTAL ITEMS:0


But if you insist on NOT having the Department record, then we need to do it 
slightly different.

PROD.A31XAD.IDARTA00
*** TOTAL *** :0 ARTICLES, TOTAL ITEMS:0


What is the preferred output ?  the First one or the second one?

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


Re: ASM call by value

2023-03-28 Thread Frank Swarbrick
So that didn't work.  But after a lot of fiddling about, here's what works for 
me.  I LE enabled it so it will be reentrant.

ISCICS#  CEEENTRY MAIN=NO
*SEE IF WE'RE RUNNING UNDER CICS BY CALLING @@GETCB...
 CALL  @@GETCB,MF=(E,=F'3') ...WITH VALUE INTEGER 3
 CEETERM RC=(15)
*
PPA  CEEPPA
 CEEDSA ,
 CEECAA ,
 END   ISCICS#

By using the execute format of the CALL macro, assuming all of the fields are 
to be passed by value, you can place them, in order, in the execute literal (or 
whatever its called that follows the 'E').

So, for example, if you wanted to call like the C statement "F(1,2,3)" you 
could do:
 CALL  F,MF=(E,=X'000100030003')
Or, of course, you could refer do a DC group instead of using a literal.

Perhaps this will help others.

Frank



From: IBM Mainframe Discussion List  on behalf of 
Frank Swarbrick 
Sent: Monday, March 27, 2023 11:49 AM
To: IBM-MAIN@LISTSERV.UA.EDU 
Subject: Re: ASM call by value

So it looks like all I need is the following:
CALL @@GETCB,(3)
which should call the @@GETCB function passing integer 3 by value, returning 0 
or 1 in R15 to indicate if the task is running in a CICS environment.
Will give this a shot.  Thanks!

Frank


From: IBM Mainframe Discussion List  on behalf of 
Bernd Oppolzer 
Sent: Monday, March 27, 2023 12:49 AM
To: IBM-MAIN@LISTSERV.UA.EDU 
Subject: Re: ASM call by value

Sorry that I post to the original question;
that's because most of the answers so far missed the point.

Call by value means that a value is passed to the caller;
call by reference means that a reference (technically: an address) is
passed to the caller.

In ASSEMBLER:

CALL SUBPROG,(A,B,C),VL

sends address constants of fields A, B and C to the caller (via reg1
address list),
so that is always call by reference.

You can instead send an integer constant to the caller using CALL or a
register:

CALL SUBPROG,(1024,(R3))

with the integer constant, this sure is call by value, but you are
limited to integer arguments.
With the register argument, it depends on what is contained in the
register;
if it is an address, you have call by reference again.

The only real "call by value" I can see here is the case where an
integer constant is part
of the reg1 parameter list (the 1024 constant above); and this is what C
technically does
in the "call by value" case. If C passes larger values "call by value",
it copies them in the
reg1 parameter list. This CANNOT BE DONE using the CALL macro. And this
would be
the correct answer to the original question.

HTH,
kind regards

Bernd


Am 26.03.2023 um 23:35 schrieb Frank Swarbrick:
> Can the MVS CALL macro be used to call a C function with "value" parameters 
> (rather than reference parameters)?
>
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: 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: Stop the ragging on COBOL please [was: RE: ASM call by value]

2023-03-28 Thread Thomas Kern
Sorry, I have had my fill of debugging BookMaster/GML to produce 
printable daily calendars for the big boss. I still used WSCRIPT and 
some macro collections for my personal documents (for as long as I had a 
mainframe to use).



Tom

On 3/28/2023 11:15 AM, Schmitt, Michael wrote:

You're close but this is an IBM product.

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Thomas Kern
Sent: Tuesday, March 28, 2023 10:01 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

I haven't seen the inside of Waterloo Script macros for al LONG time. It
will take me a while to get back into reading/debugging this just like
working with COBOL.


Tom

On 3/28/2023 10:50 AM, Pommier, Rex wrote:

Are you sure this is a program and not the result of a cat dancing a jig on 
your keyboard?  LOL

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Schmitt, Michael
Sent: Tuesday, March 28, 2023 9:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: [EXTERNAL] Re: Stop the ragging on COBOL please [was: RE: ASM call by 
value]

Yeah, but you can come back to a program years later and understand what it is 
doing.

Unlike this:

.if &*i = 0 .th .se *i = 1
.el .se *i = 2
.se *tp = ''
.se *pos = &*tp
..@tbloop
.se *l = '&*&*i
.se *l = &*l + 2 + &$IN
.se *pos = &*pos + &*l
.se *tp = '&*tp &*pos'
.se *i = &*i + 1
.if &*i <= &*0 .th .go @tbloop
.tp &*tp
.br
.dm off
.dm inwidth on
.if '&*1 = OFF .th .se *direct = '-'
.el  .se *direct = '+'
.se *str   = '&*&*0'
.se *width = '''&*str
.in &*direct.&*width.DH
.dm off
.dm setup on
.if '@SEsetup = 1 .th .me
.se @SEsetup = yes
.im &*


-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
billogden
Sent: Tuesday, March 28, 2023 9:26 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]


I myself dislike COBOL for the very simple and personal reason that
it's so WORDY.

***
I am not a COBOL programmer, except for some very minor attempts a long time ago. However, I very 
much respect the proper use of the WORDY aspect. It seems to help with maintenance and updating of 
large, complex commercial programs that were originally written (in good, well-thought out words) 
long ago. The language itself has been carefully updated and seems to lack the constantly changing, 
sometimes not-so-well-thought-out aspect of many of the PC languages today. (And, since so much of 
COBOL programming seems to be in significant financial areas, it seems to avoid the frequent 
"little problem details" that apparently afflict the "more modern" languages.)

Very short story: Long ago, my manager and I were sent to a smaller, rather 
"northern" country to evaluate (to sell to customers) a potential application 
program written there. I cannot remember the application, but I do remember seeing a 
listing that fit on a single page, being an extreme opposite of WORDY. It was APL, of 
course, and even the authors needed considerable practice to be able to explain how it 
worked. (We rejected the potential SW product and managed to escape without being 
murdered.)

Bill Ogden

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

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

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

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

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




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



Re: DFSORT to count and sum subsets of data

2023-03-28 Thread Billy Ashton
Kolusu, this works well when I have records to work with, but if I have 
no "D" records (sorry for the fat finger earlier...) to count or sum, I 
would still like to produce a summary. There will be no DEPARTMENT rows, 
but I would like to have the file name Header1, and a TOTAL line with 
the 0 Articles and 0 Items.


Is this possible?

Thank you and best regards,
Billy Ashton


-- Original Message --

From "Sri h Kolusu" 

To IBM-MAIN@listserv.ua.edu
Date 3/28/2023 12:09:14 PM
Subject Re: DFSORT to count and sum subsets of data


 Kolusu, this works great, and the end user is happy with the detail.  Now, he 
wants one additional tweak. The top of the file (within the first two rows) has 
this:


Billy,

If your intention is to pick the 2nd or 3rd record, all you need to do is add 
the sequence number to the records and then use that in WHEN=GROUP to push it 
all records.  The numeric validation and D record validation can also be done 
on OUTFIL.

Use the control cards.(This uses the info from the 2nd record)

//SYSINDD *
  INREC IFTHEN=(WHEN=INIT,
 OVERLAY=(134:SEQNUM,8,ZD)),
IFTHEN=(WHEN=GROUP,BEGIN=(134,8,ZD,EQ,2),
PUSH=(143:02,44))

   SORT FIELDS=(01,03,CH,A)

  OUTFIL REMOVECC,NODETAIL,
  INCLUDE=(19,03,FS,EQ,NUM,AND,
   22,01,CH,EQ,C'D'),
  HEADER1=(143,044),
  SECTIONS=(01,03,
  TRAILER3=(' DEPARTMENT  ',
01,03,
COUNT=(M10,LENGTH=8),
' ARTICLES, TOTAL ITEMS: ',
TOT=(102,09,UFF,M10,LENGTH=12))),
  TRAILER1=('*** TOTAL *** : ',
COUNT=(M10,LENGTH=8),
' ARTICLES, TOTAL ITEMS: ',
TOT=(102,09,UFF,M10,LENGTH=12))
/*

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


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


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

2023-03-28 Thread Frank Swarbrick
COBOL now has:

PERFORM UNTIL EXIT
[...]
END-PERFORM

And it has finally been implemented in Enterprise COBOL (v6.4; backported to 
v6.3 on my request!).


From: IBM Mainframe Discussion List  on behalf of 
Andrew Rowley 
Sent: Tuesday, March 28, 2023 5:02 AM
To: IBM-MAIN@LISTSERV.UA.EDU 
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

On 28/03/2023 9:34 pm, Seymour J Metz wrote:
> I once found myself defending the common idiom
>
> for (;;) {
>foo;
> }
>
> as a perfectly clear DO FOREVER.

I'm not sure that it is completely clear, it depends on knowledge if
whether the empty statement evaluates as true or false - or just a guess
that do forever is more likely than do never...

Personally, I prefer something like:

while (TRUE)
{

}

--
Andrew Rowley
Black Hill Software

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

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


Re: Cloning SMPe Global, Target and DLIB

2023-03-28 Thread Mark Zelden
On Tue, 28 Mar 2023 04:08:13 -0500, Bill Giannelli  
wrote:

>What is the best or recommended way to copy or clone a SMPe Global CSI, Target 
>and Dlib with all the underlying datasets?
>I want to create a new HLQ and clone under that.
>thanks
>Bill

A new HLQ for the zones?  You're not going to rename things like SYS1.LINKLIB.  
 

The planning for installation manual has a section on cloning your system.   I 
don't know about "best", but I have sample in the "Jobs/Doc" section of my web 
site.  It's from z/OS 1.8, but the process was the same for many years prior 
and after.  The only thing that ever really changed was the introduction of 
VSAM for zFS.   I've always kept the volser as part of the name even when it 
was HFS, so zFS vs. HFS doesn't matter in terms of that sample.  

Regards,

Mark
--
Mark Zelden - Zelden Consulting Services - z/OS, OS/390 and MVS
ITIL v3 Foundation Certified
mailto:m...@mzelden.com
Mark's MVS Utilities: http://www.mzelden.com/mvsutil.html

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


Re: DFSORT to count and sum subsets of data

2023-03-28 Thread Sri h Kolusu
>> Kolusu, this works great, and the end user is happy with the detail.  Now, 
>> he wants one additional tweak. The top of the file (within the first two 
>> rows) has this:

Billy,

If your intention is to pick the 2nd or 3rd record, all you need to do is add 
the sequence number to the records and then use that in WHEN=GROUP to push it 
all records.  The numeric validation and D record validation can also be done 
on OUTFIL.

Use the control cards.(This uses the info from the 2nd record)

//SYSINDD *
  INREC IFTHEN=(WHEN=INIT,
 OVERLAY=(134:SEQNUM,8,ZD)),
IFTHEN=(WHEN=GROUP,BEGIN=(134,8,ZD,EQ,2),
PUSH=(143:02,44))

   SORT FIELDS=(01,03,CH,A)

  OUTFIL REMOVECC,NODETAIL,
  INCLUDE=(19,03,FS,EQ,NUM,AND,
   22,01,CH,EQ,C'D'),
  HEADER1=(143,044),
  SECTIONS=(01,03,
  TRAILER3=(' DEPARTMENT  ',
01,03,
COUNT=(M10,LENGTH=8),
' ARTICLES, TOTAL ITEMS: ',
TOT=(102,09,UFF,M10,LENGTH=12))),
  TRAILER1=('*** TOTAL *** : ',
COUNT=(M10,LENGTH=8),
' ARTICLES, TOTAL ITEMS: ',
TOT=(102,09,UFF,M10,LENGTH=12))
/*

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


Re: DFSORT to count and sum subsets of data

2023-03-28 Thread Billy Ashton
Kolusu, this works great, and the end user is happy with the detail. 
Now, he wants one additional tweak. The top of the file (within the 
first two rows) has this:


PROD.A31XAD.IDARTA00  ARTICLE LISTING BY 
DEPARTMENT


(This starts in Col 2)   (This 
starts in Col 56)


I managed to include this file name by pushing it onto the unneeded area 
in every row like this:

INREC IFTHEN=(WHEN=GROUP,BEGIN=(56,15,CH,EQ,C'ARTICLE LISTING'),
   PUSH=(30:2,44))

and then I could include it in a Header1 clause. However, if there are 
no "L" records in the file, there is no file name in col 30 to use. Is 
there some other way I can capture this filename from the first or 
second row, and then use it in my OUTFIL Header1 clause even if there 
are no detail records to Count or Tot?


Billy


-- Original Message --

From "Sri h Kolusu" 

To IBM-MAIN@listserv.ua.edu
Date 3/27/2023 12:29:22 PM
Subject Re: DFSORT to count and sum subsets of data


 What I want to do is produce a single line for each Department (cols 1-3), that tells me 
the number of articles (Count of all rows with a numeric value in cols 19-21, and an 
Indicator in col 22 of "D"), and a sum of the Counter (cols 102-110, pic 
9), with a grand total. It will look like this:


Billy,

It is quite simple.  Use the following control cards.

//SYSINDD *
  INCLUDE COND=(22,01,CH,EQ,C'D')

   SORT FIELDS=(01,03,CH,A)

  OUTFIL REMOVECC,NODETAIL,
  SECTIONS=(01,03,
  TRAILER3=(' DEPARTMENT  ',
01,03,
COUNT=(M10,LENGTH=8),
' ARTICLES, TOTAL ITEMS: ',
TOT=(102,09,UFF,M10,LENGTH=12))),
  TRAILER1=('*** TOTAL *** : ',
COUNT=(M10,LENGTH=8),
' ARTICLES, TOTAL ITEMS: ',
TOT=(102,09,UFF,M10,LENGTH=12))
/*


If you do need to validate the contents of 19-21 for numeric , then you just 
need to use the following control cards.  Just add an IFTHEN statement for 
numeric check.

//SYSINDD *
  INCLUDE COND=(22,01,CH,EQ,C'D')

  INREC IFTHEN=(WHEN=(19,3,FS,EQ,NUM),
   OVERLAY=(130:C'1'))

   SORT FIELDS=(01,03,CH,A)

  OUTFIL REMOVECC,NODETAIL,
  SECTIONS=(01,03,
  TRAILER3=(' DEPARTMENT  ',
01,03,
TOT=(130,01,ZD,M10,LENGTH=8),
' ARTICLES, TOTAL ITEMS: ',
TOT=(102,09,UFF,M10,LENGTH=12))),
  TRAILER1=('*** TOTAL *** : ',
TOT=(130,01,ZD,M10,LENGTH=8),
' ARTICLES, TOTAL ITEMS: ',
TOT=(102,09,UFF,M10,LENGTH=12))
/*



If you intend to have the spaces trimmed in the output, let me know and I will 
suggest an alternative.


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


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


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

2023-03-28 Thread Seymour J Metz
What do you see there that's not the same in SCRIPTW and SCRIPT/VS?


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Thomas Kern [0041d919e708-dmarc-requ...@listserv.ua.edu]
Sent: Tuesday, March 28, 2023 11:01 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

I haven't seen the inside of Waterloo Script macros for al LONG time. It
will take me a while to get back into reading/debugging this just like
working with COBOL.


Tom

On 3/28/2023 10:50 AM, Pommier, Rex wrote:
> Are you sure this is a program and not the result of a cat dancing a jig on 
> your keyboard?  LOL
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of 
> Schmitt, Michael
> Sent: Tuesday, March 28, 2023 9:41 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: [EXTERNAL] Re: Stop the ragging on COBOL please [was: RE: ASM call 
> by value]
>
> Yeah, but you can come back to a program years later and understand what it 
> is doing.
>
> Unlike this:
>
> .if &*i = 0 .th .se *i = 1
> .el .se *i = 2
> .se *tp = ''
> .se *pos = &*tp
> ..@tbloop
> .se *l = '&*&*i
> .se *l = &*l + 2 + &$IN
> .se *pos = &*pos + &*l
> .se *tp = '&*tp &*pos'
> .se *i = &*i + 1
> .if &*i <= &*0 .th .go @tbloop
> .tp &*tp
> .br
> .dm off
> .dm inwidth on
> .if '&*1 = OFF .th .se *direct = '-'
> .el  .se *direct = '+'
> .se *str   = '&*&*0'
> .se *width = '''&*str
> .in &*direct.&*width.DH
> .dm off
> .dm setup on
> .if '@SEsetup = 1 .th .me
> .se @SEsetup = yes
> .im &*
>
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of 
> billogden
> Sent: Tuesday, March 28, 2023 9:26 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]
>
>> I myself dislike COBOL for the very simple and personal reason that
>> it's so WORDY.
> ***
> I am not a COBOL programmer, except for some very minor attempts a long time 
> ago. However, I very much respect the proper use of the WORDY aspect. It 
> seems to help with maintenance and updating of large, complex commercial 
> programs that were originally written (in good, well-thought out words) long 
> ago. The language itself has been carefully updated and seems to lack the 
> constantly changing, sometimes not-so-well-thought-out aspect of many of the 
> PC languages today. (And, since so much of COBOL programming seems to be in 
> significant financial areas, it seems to avoid the frequent "little problem 
> details" that apparently afflict the "more modern" languages.)
>
> Very short story: Long ago, my manager and I were sent to a smaller, rather 
> "northern" country to evaluate (to sell to customers) a potential application 
> program written there. I cannot remember the application, but I do remember 
> seeing a listing that fit on a single page, being an extreme opposite of 
> WORDY. It was APL, of course, and even the authors needed considerable 
> practice to be able to explain how it worked. (We rejected the potential SW 
> product and managed to escape without being murdered.)
>
> Bill Ogden
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
> lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
> lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> The information contained in this message is confidential, protected from 
> disclosure and may be legally privileged. If the reader of this message is 
> not the intended recipient or an employee or agent responsible for delivering 
> this message to the intended recipient, you are hereby notified that any 
> disclosure, distribution, copying, or any action taken or action omitted in 
> reliance on it, is strictly prohibited and may be unlawful. If you have 
> received this communication in error, please notify us immediately by 
> replying to this message and destroy the material in its entirety, whether in 
> electronic or hard copy format. Thank you.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to 

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

2023-03-28 Thread Seymour J Metz
The two are fairly close. I've used, and like, both.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Schmitt, Michael [michael.schm...@dxc.com]
Sent: Tuesday, March 28, 2023 11:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

You're close but this is an IBM product.

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Thomas Kern
Sent: Tuesday, March 28, 2023 10:01 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

I haven't seen the inside of Waterloo Script macros for al LONG time. It
will take me a while to get back into reading/debugging this just like
working with COBOL.


Tom

On 3/28/2023 10:50 AM, Pommier, Rex wrote:
> Are you sure this is a program and not the result of a cat dancing a jig on 
> your keyboard?  LOL
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of 
> Schmitt, Michael
> Sent: Tuesday, March 28, 2023 9:41 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: [EXTERNAL] Re: Stop the ragging on COBOL please [was: RE: ASM call 
> by value]
>
> Yeah, but you can come back to a program years later and understand what it 
> is doing.
>
> Unlike this:
>
> .if &*i = 0 .th .se *i = 1
> .el .se *i = 2
> .se *tp = ''
> .se *pos = &*tp
> ..@tbloop
> .se *l = '&*&*i
> .se *l = &*l + 2 + &$IN
> .se *pos = &*pos + &*l
> .se *tp = '&*tp &*pos'
> .se *i = &*i + 1
> .if &*i <= &*0 .th .go @tbloop
> .tp &*tp
> .br
> .dm off
> .dm inwidth on
> .if '&*1 = OFF .th .se *direct = '-'
> .el  .se *direct = '+'
> .se *str   = '&*&*0'
> .se *width = '''&*str
> .in &*direct.&*width.DH
> .dm off
> .dm setup on
> .if '@SEsetup = 1 .th .me
> .se @SEsetup = yes
> .im &*
>
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of 
> billogden
> Sent: Tuesday, March 28, 2023 9:26 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]
>
>> I myself dislike COBOL for the very simple and personal reason that
>> it's so WORDY.
> ***
> I am not a COBOL programmer, except for some very minor attempts a long time 
> ago. However, I very much respect the proper use of the WORDY aspect. It 
> seems to help with maintenance and updating of large, complex commercial 
> programs that were originally written (in good, well-thought out words) long 
> ago. The language itself has been carefully updated and seems to lack the 
> constantly changing, sometimes not-so-well-thought-out aspect of many of the 
> PC languages today. (And, since so much of COBOL programming seems to be in 
> significant financial areas, it seems to avoid the frequent "little problem 
> details" that apparently afflict the "more modern" languages.)
>
> Very short story: Long ago, my manager and I were sent to a smaller, rather 
> "northern" country to evaluate (to sell to customers) a potential application 
> program written there. I cannot remember the application, but I do remember 
> seeing a listing that fit on a single page, being an extreme opposite of 
> WORDY. It was APL, of course, and even the authors needed considerable 
> practice to be able to explain how it worked. (We rejected the potential SW 
> product and managed to escape without being murdered.)
>
> Bill Ogden
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
> lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
> lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> The information contained in this message is confidential, protected from 
> disclosure and may be legally privileged. If the reader of this message is 
> not the intended recipient or an employee or agent responsible for delivering 
> this message to the intended recipient, you are hereby notified that any 
> disclosure, distribution, copying, or any action taken or action omitted in 
> reliance on it, is strictly prohibited and may be unlawful. If you have 
> received this communication in error, please notify us immediately by 
> replying to this message and destroy the material in its entirety, whether in 
> electronic or hard copy format. Thank you.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access 

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

2023-03-28 Thread Seymour J Metz
How do you mark up a thesis in COBOL?

Yes, I know that you're more likely to use LaTeX than Script, but the point 
remains that the macro language is an adjunct to a fairly easy to read language.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Schmitt, Michael [michael.schm...@dxc.com]
Sent: Tuesday, March 28, 2023 10:40 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

Yeah, but you can come back to a program years later and understand what it is 
doing.

Unlike this:

.if &*i = 0 .th .se *i = 1
.el .se *i = 2
.se *tp = ''
.se *pos = &*tp
...@tbloop
.se *l = '&*&*i
.se *l = &*l + 2 + &$IN
.se *pos = &*pos + &*l
.se *tp = '&*tp &*pos'
.se *i = &*i + 1
.if &*i <= &*0 .th .go @tbloop
.tp &*tp
.br
.dm off
.dm inwidth on
.if '&*1 = OFF .th .se *direct = '-'
.el  .se *direct = '+'
.se *str   = '&*&*0'
.se *width = '''&*str
.in &*direct.&*width.DH
.dm off
.dm setup on
.if '@SEsetup = 1 .th .me
.se @SEsetup = yes
.im &*


-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
billogden
Sent: Tuesday, March 28, 2023 9:26 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

>I myself dislike COBOL for the very simple and personal reason that it's so
>WORDY.
***
I am not a COBOL programmer, except for some very minor attempts a long time
ago. However, I very much respect the proper use of the WORDY aspect. It
seems to help with maintenance and updating of large, complex commercial
programs that were originally written (in good, well-thought out words) long
ago. The language itself has been carefully updated and seems to lack the
constantly changing, sometimes not-so-well-thought-out aspect of many of the
PC languages today. (And, since so much of COBOL programming seems to be in
significant financial areas, it seems to avoid the frequent "little problem
details" that apparently afflict the "more modern" languages.)

Very short story: Long ago, my manager and I were sent to a smaller, rather
"northern" country to evaluate (to sell to customers) a potential
application program written there. I cannot remember the application, but I
do remember seeing a listing that fit on a single page, being an extreme
opposite of WORDY. It was APL, of course, and even the authors needed
considerable practice to be able to explain how it worked. (We rejected the
potential SW product and managed to escape without being murdered.)

Bill Ogden

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: 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: Stop the ragging on COBOL please [was: RE: ASM call by value]

2023-03-28 Thread Schmitt, Michael
You're close but this is an IBM product.

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Thomas Kern
Sent: Tuesday, March 28, 2023 10:01 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

I haven't seen the inside of Waterloo Script macros for al LONG time. It
will take me a while to get back into reading/debugging this just like
working with COBOL.


Tom

On 3/28/2023 10:50 AM, Pommier, Rex wrote:
> Are you sure this is a program and not the result of a cat dancing a jig on 
> your keyboard?  LOL
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of 
> Schmitt, Michael
> Sent: Tuesday, March 28, 2023 9:41 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: [EXTERNAL] Re: Stop the ragging on COBOL please [was: RE: ASM call 
> by value]
>
> Yeah, but you can come back to a program years later and understand what it 
> is doing.
>
> Unlike this:
>
> .if &*i = 0 .th .se *i = 1
> .el .se *i = 2
> .se *tp = ''
> .se *pos = &*tp
> ..@tbloop
> .se *l = '&*&*i
> .se *l = &*l + 2 + &$IN
> .se *pos = &*pos + &*l
> .se *tp = '&*tp &*pos'
> .se *i = &*i + 1
> .if &*i <= &*0 .th .go @tbloop
> .tp &*tp
> .br
> .dm off
> .dm inwidth on
> .if '&*1 = OFF .th .se *direct = '-'
> .el  .se *direct = '+'
> .se *str   = '&*&*0'
> .se *width = '''&*str
> .in &*direct.&*width.DH
> .dm off
> .dm setup on
> .if '@SEsetup = 1 .th .me
> .se @SEsetup = yes
> .im &*
>
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf Of 
> billogden
> Sent: Tuesday, March 28, 2023 9:26 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]
>
>> I myself dislike COBOL for the very simple and personal reason that
>> it's so WORDY.
> ***
> I am not a COBOL programmer, except for some very minor attempts a long time 
> ago. However, I very much respect the proper use of the WORDY aspect. It 
> seems to help with maintenance and updating of large, complex commercial 
> programs that were originally written (in good, well-thought out words) long 
> ago. The language itself has been carefully updated and seems to lack the 
> constantly changing, sometimes not-so-well-thought-out aspect of many of the 
> PC languages today. (And, since so much of COBOL programming seems to be in 
> significant financial areas, it seems to avoid the frequent "little problem 
> details" that apparently afflict the "more modern" languages.)
>
> Very short story: Long ago, my manager and I were sent to a smaller, rather 
> "northern" country to evaluate (to sell to customers) a potential application 
> program written there. I cannot remember the application, but I do remember 
> seeing a listing that fit on a single page, being an extreme opposite of 
> WORDY. It was APL, of course, and even the authors needed considerable 
> practice to be able to explain how it worked. (We rejected the potential SW 
> product and managed to escape without being murdered.)
>
> Bill Ogden
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
> lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
> lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> The information contained in this message is confidential, protected from 
> disclosure and may be legally privileged. If the reader of this message is 
> not the intended recipient or an employee or agent responsible for delivering 
> this message to the intended recipient, you are hereby notified that any 
> disclosure, distribution, copying, or any action taken or action omitted in 
> reliance on it, is strictly prohibited and may be unlawful. If you have 
> received this communication in error, please notify us immediately by 
> replying to this message and destroy the material in its entirety, whether in 
> electronic or hard copy format. Thank you.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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




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


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

2023-03-28 Thread David Spiegel

Hi Bill,
You said: "...It seems to help with maintenance and updating of large, 
complex commercial programs..."
Back in the mid-'80s, I used to support a 3-letter software vendor's 
Payroll package.
The source was unreadable because of the amount and size of copybooks. 
When compiled, the listing was so big that it was near impossible to follow.

Needless to say, the variable and paragraph names didn't help too much.
Have you ever tried reading a DMS for CICS (again, 40 years ago) 
generated COBOL listing?

My point is that anything can be unreadable, including wordy COBOL.
I used to code FORTRAN, ASSEMBLER and APL for a living (early '80s). 
These 3 can be readable if there are departmental standards in place.


Caveat: I still program Rexx and given the chance would (and have) 
program(med) PL/I -- my favourite compiled language.
(Edsger W. Dijkstra be damned. (If he had to work in a commercial (aka 
"real") environment (instead of his ivory tower), his opinion might've 
been tempered a bit.) )


Regards,
David

On 2023-03-28 10:25, billogden wrote:

I myself dislike COBOL for the very simple and personal reason that it's so
WORDY.

***
I am not a COBOL programmer, except for some very minor attempts a long time
ago. However, I very much respect the proper use of the WORDY aspect. It
seems to help with maintenance and updating of large, complex commercial
programs that were originally written (in good, well-thought out words) long
ago. The language itself has been carefully updated and seems to lack the
constantly changing, sometimes not-so-well-thought-out aspect of many of the
PC languages today. (And, since so much of COBOL programming seems to be in
significant financial areas, it seems to avoid the frequent "little problem
details" that apparently afflict the "more modern" languages.)

Very short story: Long ago, my manager and I were sent to a smaller, rather
"northern" country to evaluate (to sell to customers) a potential
application program written there. I cannot remember the application, but I
do remember seeing a listing that fit on a single page, being an extreme
opposite of WORDY. It was APL, of course, and even the authors needed
considerable practice to be able to explain how it worked. (We rejected the
potential SW product and managed to escape without being murdered.)

Bill Ogden

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: 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: Stop the ragging on COBOL please [was: RE: ASM call by value]

2023-03-28 Thread Thomas Kern
I haven't seen the inside of Waterloo Script macros for al LONG time. It 
will take me a while to get back into reading/debugging this just like 
working with COBOL.



Tom

On 3/28/2023 10:50 AM, Pommier, Rex wrote:

Are you sure this is a program and not the result of a cat dancing a jig on 
your keyboard?  LOL

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Schmitt, Michael
Sent: Tuesday, March 28, 2023 9:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: [EXTERNAL] Re: Stop the ragging on COBOL please [was: RE: ASM call by 
value]

Yeah, but you can come back to a program years later and understand what it is 
doing.

Unlike this:

.if &*i = 0 .th .se *i = 1
.el .se *i = 2
.se *tp = ''
.se *pos = &*tp
..@tbloop
.se *l = '&*&*i
.se *l = &*l + 2 + &$IN
.se *pos = &*pos + &*l
.se *tp = '&*tp &*pos'
.se *i = &*i + 1
.if &*i <= &*0 .th .go @tbloop
.tp &*tp
.br
.dm off
.dm inwidth on
.if '&*1 = OFF .th .se *direct = '-'
.el  .se *direct = '+'
.se *str   = '&*&*0'
.se *width = '''&*str
.in &*direct.&*width.DH
.dm off
.dm setup on
.if '@SEsetup = 1 .th .me
.se @SEsetup = yes
.im &*


-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
billogden
Sent: Tuesday, March 28, 2023 9:26 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]


I myself dislike COBOL for the very simple and personal reason that
it's so WORDY.

***
I am not a COBOL programmer, except for some very minor attempts a long time ago. However, I very 
much respect the proper use of the WORDY aspect. It seems to help with maintenance and updating of 
large, complex commercial programs that were originally written (in good, well-thought out words) 
long ago. The language itself has been carefully updated and seems to lack the constantly changing, 
sometimes not-so-well-thought-out aspect of many of the PC languages today. (And, since so much of 
COBOL programming seems to be in significant financial areas, it seems to avoid the frequent 
"little problem details" that apparently afflict the "more modern" languages.)

Very short story: Long ago, my manager and I were sent to a smaller, rather 
"northern" country to evaluate (to sell to customers) a potential application 
program written there. I cannot remember the application, but I do remember seeing a 
listing that fit on a single page, being an extreme opposite of WORDY. It was APL, of 
course, and even the authors needed considerable practice to be able to explain how it 
worked. (We rejected the potential SW product and managed to escape without being 
murdered.)

Bill Ogden

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

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

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

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


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


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

2023-03-28 Thread Pommier, Rex
Are you sure this is a program and not the result of a cat dancing a jig on 
your keyboard?  LOL

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Schmitt, Michael
Sent: Tuesday, March 28, 2023 9:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: [EXTERNAL] Re: Stop the ragging on COBOL please [was: RE: ASM call by 
value]

Yeah, but you can come back to a program years later and understand what it is 
doing.

Unlike this:

.if &*i = 0 .th .se *i = 1
.el .se *i = 2
.se *tp = ''
.se *pos = &*tp
...@tbloop
.se *l = '&*&*i
.se *l = &*l + 2 + &$IN
.se *pos = &*pos + &*l
.se *tp = '&*tp &*pos'
.se *i = &*i + 1
.if &*i <= &*0 .th .go @tbloop
.tp &*tp
.br
.dm off
.dm inwidth on
.if '&*1 = OFF .th .se *direct = '-'
.el  .se *direct = '+'
.se *str   = '&*&*0'
.se *width = '''&*str
.in &*direct.&*width.DH
.dm off
.dm setup on
.if '@SEsetup = 1 .th .me
.se @SEsetup = yes
.im &*


-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
billogden
Sent: Tuesday, March 28, 2023 9:26 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

>I myself dislike COBOL for the very simple and personal reason that 
>it's so WORDY.
***
I am not a COBOL programmer, except for some very minor attempts a long time 
ago. However, I very much respect the proper use of the WORDY aspect. It seems 
to help with maintenance and updating of large, complex commercial programs 
that were originally written (in good, well-thought out words) long ago. The 
language itself has been carefully updated and seems to lack the constantly 
changing, sometimes not-so-well-thought-out aspect of many of the PC languages 
today. (And, since so much of COBOL programming seems to be in significant 
financial areas, it seems to avoid the frequent "little problem details" that 
apparently afflict the "more modern" languages.)

Very short story: Long ago, my manager and I were sent to a smaller, rather 
"northern" country to evaluate (to sell to customers) a potential application 
program written there. I cannot remember the application, but I do remember 
seeing a listing that fit on a single page, being an extreme opposite of WORDY. 
It was APL, of course, and even the authors needed considerable practice to be 
able to explain how it worked. (We rejected the potential SW product and 
managed to escape without being murdered.)

Bill Ogden

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

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

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

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


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

2023-03-28 Thread Schmitt, Michael
Yeah, but you can come back to a program years later and understand what it is 
doing.

Unlike this:

.if &*i = 0 .th .se *i = 1
.el .se *i = 2
.se *tp = ''
.se *pos = &*tp
...@tbloop
.se *l = '&*&*i
.se *l = &*l + 2 + &$IN
.se *pos = &*pos + &*l
.se *tp = '&*tp &*pos'
.se *i = &*i + 1
.if &*i <= &*0 .th .go @tbloop
.tp &*tp
.br
.dm off
.dm inwidth on
.if '&*1 = OFF .th .se *direct = '-'
.el  .se *direct = '+'
.se *str   = '&*&*0'
.se *width = '''&*str
.in &*direct.&*width.DH
.dm off
.dm setup on
.if '@SEsetup = 1 .th .me
.se @SEsetup = yes
.im &*


-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
billogden
Sent: Tuesday, March 28, 2023 9:26 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

>I myself dislike COBOL for the very simple and personal reason that it's so
>WORDY.
***
I am not a COBOL programmer, except for some very minor attempts a long time
ago. However, I very much respect the proper use of the WORDY aspect. It
seems to help with maintenance and updating of large, complex commercial
programs that were originally written (in good, well-thought out words) long
ago. The language itself has been carefully updated and seems to lack the
constantly changing, sometimes not-so-well-thought-out aspect of many of the
PC languages today. (And, since so much of COBOL programming seems to be in
significant financial areas, it seems to avoid the frequent "little problem
details" that apparently afflict the "more modern" languages.)

Very short story: Long ago, my manager and I were sent to a smaller, rather
"northern" country to evaluate (to sell to customers) a potential
application program written there. I cannot remember the application, but I
do remember seeing a listing that fit on a single page, being an extreme
opposite of WORDY. It was APL, of course, and even the authors needed
considerable practice to be able to explain how it worked. (We rejected the
potential SW product and managed to escape without being murdered.)

Bill Ogden

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: 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: Cloning SMPe Global, Target and DLIB

2023-03-28 Thread Adam Johanson
> What is the best or recommended way to copy or clone a SMPe Global CSI, 
> Target and Dlib with all the underlying datasets?

There's also the "native" BUILDMCS command, but then you have to figure out the 
best way to do the updates that Kurt mentioned z/OSMF doing on your behalf.

- Adam Johanson

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


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

2023-03-28 Thread billogden
>I myself dislike COBOL for the very simple and personal reason that it's so
>WORDY.
***
I am not a COBOL programmer, except for some very minor attempts a long time
ago. However, I very much respect the proper use of the WORDY aspect. It
seems to help with maintenance and updating of large, complex commercial
programs that were originally written (in good, well-thought out words) long
ago. The language itself has been carefully updated and seems to lack the
constantly changing, sometimes not-so-well-thought-out aspect of many of the
PC languages today. (And, since so much of COBOL programming seems to be in
significant financial areas, it seems to avoid the frequent "little problem
details" that apparently afflict the "more modern" languages.)

Very short story: Long ago, my manager and I were sent to a smaller, rather
"northern" country to evaluate (to sell to customers) a potential
application program written there. I cannot remember the application, but I
do remember seeing a listing that fit on a single page, being an extreme
opposite of WORDY. It was APL, of course, and even the authors needed
considerable practice to be able to explain how it worked. (We rejected the
potential SW product and managed to escape without being murdered.)

Bill Ogden  

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


Re: Cloning SMPe Global, Target and DLIB

2023-03-28 Thread Kurt J. Quackenbush
> What is the best or recommended way to copy or clone a SMPe Global CSI, 
> Target and Dlib with all the underlying datasets?
> I want to create a new HLQ and clone under that.

If you don't already have a process or set of jobs defined to clone your SMP/E 
environment, I suggest you check out the Deployment action in z/OSMF Software 
Management.  You tell z/OSMF the global zone CSI data set and it figures out 
all the target and dlib data sets, the CSIs for the target and dlib zones, the 
other SMP/E data sets...  It also updates all the DDDEF entries, ZONEINDEXes, 
etc to reflect the new names of the cloned data sets.  It doesn't care if the 
source data sets are on a particular volume or have a particular naming 
convention or in a storage group or whatever.  Its quite flexible.  Just sayin'.

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


Re: SMPe securing zones

2023-03-28 Thread Kurt J. Quackenbush
> I've found that GIMSMP opens the datasets in UPDATE mode, so the user will 
> still need UPDATE or higher access.  READ access fails when the program 
> starts.

That is not true for all SMP/E commands.  LIST for example, or the REPORT 
commands, and the ISPF Query dialog, definitely open the SMPCSI data sets in 
READ mode.  But if you're complaining about APPLY CHECK, then yes, APPLY CHECK 
does open the SMPCSI data sets for UPDATE.

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


Re: What time is it in Lebanon?

2023-03-28 Thread Radoslaw Skorupka

W dniu 27.03.2023 o 08:43, Paul Gilmartin pisze:

[...]

STP get its time from enterprise NTP servers.

Nothing comes preconfigured.


Ouch!  Does IBM not even suggest the correct strings for TZ for various 
locations?


AFAIR one can put even incorrect string for TZ. Several years ago I 
tried to set it properly and put some curse word for test. Then ...I 
left it because of some Very Important Meeting. Few months later someone 
asked me about timezone setting...




--
Radoslaw Skorupka
Lodz, Poland

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


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

2023-03-28 Thread Rupert Reynolds
Dr Alan Kay said "...arrogance is measured in nano-Dijkstras", but to my
mind had a dry sense of humour :-)

Roops

On Tue, 28 Mar 2023, 04:22 David Crayford,  wrote:

> I think it was flippant Edsger W. Dijkstra  quote:
>
>  “The use of COBOL cripples the mind; its teaching should,
> therefore, be regarded as a criminal offense.”
>
> I use programming languages that I don't like all the time. C, in
> particular, I dislike a lot. That doesn't mean they're not useful.
>
> No COBOL, no mainframe! Simple as that.
>
>
>

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


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

2023-03-28 Thread Seymour J Metz
The point here is not whether the defense is valid, but rather that I defended 
it against what I saw as an ivalid complaint despite not liking the language. 
Be just.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Andrew Rowley [and...@blackhillsoftware.com]
Sent: Tuesday, March 28, 2023 7:02 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

On 28/03/2023 9:34 pm, Seymour J Metz wrote:
> I once found myself defending the common idiom
>
> for (;;) {
>foo;
> }
>
> as a perfectly clear DO FOREVER.

I'm not sure that it is completely clear, it depends on knowledge if
whether the empty statement evaluates as true or false - or just a guess
that do forever is more likely than do never...

Personally, I prefer something like:

while (TRUE)
{

}

--
Andrew Rowley
Black Hill Software

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

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


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

2023-03-28 Thread Andrew Rowley

On 28/03/2023 9:34 pm, Seymour J Metz wrote:

I once found myself defending the common idiom

for (;;) {
   foo;
}

as a perfectly clear DO FOREVER.


I'm not sure that it is completely clear, it depends on knowledge if 
whether the empty statement evaluates as true or false - or just a guess 
that do forever is more likely than do never...


Personally, I prefer something like:

while (TRUE)
{

}

--
Andrew Rowley
Black Hill Software

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


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

2023-03-28 Thread Seymour J Metz
There was to classic Lindsey, C. H. and van der Meulen, S. G., Informal 
Introduction to ALGOL 68, North-Holland, 1971; however, it did nothing to make 
the formal definition intelligible. The report on ALGOL 68 badly needed a good 
tech writer.

Contrast that to the Vienna report, a beautiful formal definition of PL/I.


--
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: Tuesday, March 28, 2023 6:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

yes, I agree with you. It probably needed one informal text where it explained 
how to program in it. There is an open source implementation which does a good 
job at 
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fjmvdveer.home.xs4all.nl%2Fen.algol-68-genie.html=05%7C01%7Csmetz3%40gmu.edu%7Cae587ac69c70492276b308db2f78ffa1%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638155968958691761%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=FfDEicT0JlHVmo2xuhgt6ubwr0HS5drHQYn9hsCa3ac%3D=0
 but I think its downfall was the bad social dynamics that accompanied it, with 
Wirth already having Algol W which led to Pascal, Modula and Oberon later. A 
funny remark that I always remember is that when the IBM PC came out, people 
within IBM were fighting to bring a Rexx to PC-DOS; because Hursley did not get 
budget but LA did, the project for it was started over there. “Unfortunately, 
it was written in Pascal so it failed”.

Another thing that influenced that Algol-68 report was that van Wijngaarden 
reportedly had fallen in love with the IBM ‘Golfball’ typewriter acquired by 
Stichting Mathematisch Centrum so all its available symbols were to be used in 
that publication.

René.


> On 28 Mar 2023, at 12:24, Seymour J Metz  wrote:
>
> IMHO, the lack of acceptance of ALGOL 68 had nothing to do with the language 
> itself. The general public thinks of Mathematics in terms of extreme 
> formality and indecipherable prose, but the reality is much different. 
> Mathematical texts are ladden with explanatory prose, and I view ALGOL 68 
> through Mathematics colored glasses.
>
> The defining document is the equivalent to a 20,000 line program without a 
> single comment. It introduces a lot of terms involved in describing its 
> grammar without explaining their roles and why they are named what they are.
>
>
> --
> 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: Tuesday, March 28, 2023 4:01 AM
> To: IBM-MAIN@LISTSERV.UA.EDU 
> Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]
>
> It is very probable that he only liked ALGOL 58 and ALGOL 60, for which he 
> (and Jaap Zonneveld) made the first compiler (for the Electrologica X1), in 
> an old school building in a small street, the Boerhaavestraat in Amsterdam, 
> which I can see from my window across the river right now. The building does 
> not have any marking, which is a bit of a shame.
>
> We know what happened with ALGOL 68, and see also Edsger’s opinion on the 
> document describing it:
>
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.cs.utexas.edu%2Fusers%2FEWD%2Ftranscriptions%2FEWD02xx%2FEWD230.html=05%7C01%7Csmetz3%40gmu.edu%7Cae587ac69c70492276b308db2f78ffa1%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638155968958691761%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=FxnRvMp6T%2F4zOjsnMOcTmdjfUuNE47KAXShUfMQIBO0%3D=0
>
> best regards,
>
> René.
>
>> On 28 Mar 2023, at 07:26, Tony Harminc  wrote:
>>
>> On Mon, 27 Mar 2023 at 23:22, David Crayford  wrote:
>>>
>>> I think it was flippant Edsger W. Dijkstra  quote:
>>>
>>>“The use of COBOL cripples the mind; its teaching should,
>>> therefore, be regarded as a criminal offense.”
>>
>> Dijkstra wasn't hot on a lot of languages:
>>
>> "If Fortran has been called an infantile disorder, PL/I must be
>> classified as a fatal disease."
>> -Edsger Dijkstra in Introduction to the Art of Computer Programming
>>
>> Which prompted, or at least provided a juicy quote for, Ric Holt's
>> 1972 paper "Teaching the Fatal Disease (or) Introductory Computer
>> Programming Using PL/I".
>>
>>> I use programming languages that I don't like all the time. C, in
>>> particular, I dislike a lot. That doesn't mean they're not useful.
>>
>> Whew! And I thought you were a C fanatic. Thanks for disabusing me of that.
>>
>> Tony H.
>>
>> 

Re: Stop the ragging on COBOL please

2023-03-28 Thread Seymour J Metz
 1. "The check's in the mail."

 2. "Trust me, honey, I've had a vasectomy."

 3. "English like"

 4. "Self documenting"


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Mike Schwab [mike.a.sch...@gmail.com]
Sent: Monday, March 27, 2023 4:13 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please

https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fjol.oscar-jol.com%2Fabout-jol=05%7C01%7Csmetz3%40gmu.edu%7Cb40a673781f64d672c6808db2effc451%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638155448269831475%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=NBVqPLMIktGo4YbXT2vdRfVCaZxEtxhqHJYxsZ2Eq70%3D=0
  JCL On Line

On Mon, Mar 27, 2023 at 2:43 PM Farley, Peter
<031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:
>
>  Maybe . . . 
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: 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: Stop the ragging on COBOL please [was: RE: ASM call by value]

2023-03-28 Thread René Jansen
yes, I agree with you. It probably needed one informal text where it explained 
how to program in it. There is an open source implementation which does a good 
job at https://jmvdveer.home.xs4all.nl/en.algol-68-genie.html but I think its 
downfall was the bad social dynamics that accompanied it, with Wirth already 
having Algol W which led to Pascal, Modula and Oberon later. A funny remark 
that I always remember is that when the IBM PC came out, people within IBM were 
fighting to bring a Rexx to PC-DOS; because Hursley did not get budget but LA 
did, the project for it was started over there. “Unfortunately, it was written 
in Pascal so it failed”.

Another thing that influenced that Algol-68 report was that van Wijngaarden 
reportedly had fallen in love with the IBM ‘Golfball’ typewriter acquired by 
Stichting Mathematisch Centrum so all its available symbols were to be used in 
that publication.

René.


> On 28 Mar 2023, at 12:24, Seymour J Metz  wrote:
> 
> IMHO, the lack of acceptance of ALGOL 68 had nothing to do with the language 
> itself. The general public thinks of Mathematics in terms of extreme 
> formality and indecipherable prose, but the reality is much different. 
> Mathematical texts are ladden with explanatory prose, and I view ALGOL 68 
> through Mathematics colored glasses.
> 
> The defining document is the equivalent to a 20,000 line program without a 
> single comment. It introduces a lot of terms involved in describing its 
> grammar without explaining their roles and why they are named what they are.
> 
> 
> --
> 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: Tuesday, March 28, 2023 4:01 AM
> To: IBM-MAIN@LISTSERV.UA.EDU 
> Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]
> 
> It is very probable that he only liked ALGOL 58 and ALGOL 60, for which he 
> (and Jaap Zonneveld) made the first compiler (for the Electrologica X1), in 
> an old school building in a small street, the Boerhaavestraat in Amsterdam, 
> which I can see from my window across the river right now. The building does 
> not have any marking, which is a bit of a shame.
> 
> We know what happened with ALGOL 68, and see also Edsger’s opinion on the 
> document describing it:
> 
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.cs.utexas.edu%2Fusers%2FEWD%2Ftranscriptions%2FEWD02xx%2FEWD230.html=05%7C01%7Csmetz3%40gmu.edu%7C274c6488bc9d4dd4b8ce08db2f62ba66%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638155873317274253%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=I8uDwNmppE9wKncU2LOeEoEJG%2BlOu%2BoSE6DoRnwwyhQ%3D=0
> 
> best regards,
> 
> René.
> 
>> On 28 Mar 2023, at 07:26, Tony Harminc  wrote:
>> 
>> On Mon, 27 Mar 2023 at 23:22, David Crayford  wrote:
>>> 
>>> I think it was flippant Edsger W. Dijkstra  quote:
>>> 
>>>“The use of COBOL cripples the mind; its teaching should,
>>> therefore, be regarded as a criminal offense.”
>> 
>> Dijkstra wasn't hot on a lot of languages:
>> 
>> "If Fortran has been called an infantile disorder, PL/I must be
>> classified as a fatal disease."
>> -Edsger Dijkstra in Introduction to the Art of Computer Programming
>> 
>> Which prompted, or at least provided a juicy quote for, Ric Holt's
>> 1972 paper "Teaching the Fatal Disease (or) Introductory Computer
>> Programming Using PL/I".
>> 
>>> I use programming languages that I don't like all the time. C, in
>>> particular, I dislike a lot. That doesn't mean they're not useful.
>> 
>> Whew! And I thought you were a C fanatic. Thanks for disabusing me of that.
>> 
>> 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
> 
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu  with 
> the message: 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: Stop the ragging on COBOL please [was: RE: ASM call by value]

2023-03-28 Thread Seymour J Metz
Yes, COBOL has a lot of faults, and, yes, I consider PL/I to be much better. 
However, a real programmer should be able to pick up a new language and be 
productive in it, even one that he hates.

I distinguish between a person that views programming through COBOL colored 
glasses and a programmer who happens to be using COBOL; it is unfair to link 
the latter with the faults of the former.

IMHO, nobody really knows a language unless they are able to see deficiencies 
in a language. I love PL/I and REXX, but there are definitely things that I 
would change in each.

Similarly, even a bad language may have good points. I hate, loathe and despise 
C, but I once found myself defending the common idiom

   for (;;) {
  foo;
   }

as a perfectly clear DO FOREVER.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Wayne Bickerdike [wayn...@gmail.com]
Sent: Tuesday, March 28, 2023 1:56 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

During my early training we were sent to learn Michael Jackson structured
programming. MJ quotes Dijkstra a lot, however, I didn't realise that he
was a PL/I hater. That was the first language I learned and still think it
was a masterpiece. I encountered COBOL after I left IBM and it happened to
be Microfocus COBOL, a very odd variant designed for Z80/CPM based
microcomputers. It barely did the job since it only supported a rudimentary
ISAM file system. A couple of years later as our software house was going
broke, I went for an interview for a DOS/VSE COBOL role. The customer was
doubtful that my MF COBOL would translate to a mainframe role. It didn't
prove to be a problem but oh how I wished it had been a PL/I shop.

Inverted programs in COBOL? Blech..

On Tue, Mar 28, 2023 at 4:27 PM Tony Harminc  wrote:

> On Mon, 27 Mar 2023 at 23:22, David Crayford  wrote:
> >
> > I think it was flippant Edsger W. Dijkstra  quote:
> >
> >  “The use of COBOL cripples the mind; its teaching should,
> > therefore, be regarded as a criminal offense.”
>
> Dijkstra wasn't hot on a lot of languages:
>
> "If Fortran has been called an infantile disorder, PL/I must be
> classified as a fatal disease."
> -Edsger Dijkstra in Introduction to the Art of Computer Programming
>
> Which prompted, or at least provided a juicy quote for, Ric Holt's
> 1972 paper "Teaching the Fatal Disease (or) Introductory Computer
> Programming Using PL/I".
>
> > I use programming languages that I don't like all the time. C, in
> > particular, I dislike a lot. That doesn't mean they're not useful.
>
> Whew! And I thought you were a C fanatic. Thanks for disabusing me of that.
>
> Tony H.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


--
Wayne V. Bickerdike

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: 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: Stop the ragging on COBOL please [was: RE: ASM call by value]

2023-03-28 Thread Seymour J Metz
IMHO, the lack of acceptance of ALGOL 68 had nothing to do with the language 
itself. The general public thinks of Mathematics in terms of extreme formality 
and indecipherable prose, but the reality is much different. Mathematical texts 
are ladden with explanatory prose, and I view ALGOL 68 through Mathematics 
colored glasses.

The defining document is the equivalent to a 20,000 line program without a 
single comment. It introduces a lot of terms involved in describing its grammar 
without explaining their roles and why they are named what they are.


--
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: Tuesday, March 28, 2023 4:01 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Stop the ragging on COBOL please [was: RE: ASM call by value]

It is very probable that he only liked ALGOL 58 and ALGOL 60, for which he (and 
Jaap Zonneveld) made the first compiler (for the Electrologica X1), in an old 
school building in a small street, the Boerhaavestraat in Amsterdam, which I 
can see from my window across the river right now. The building does not have 
any marking, which is a bit of a shame.

We know what happened with ALGOL 68, and see also Edsger’s opinion on the 
document describing it:

https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.cs.utexas.edu%2Fusers%2FEWD%2Ftranscriptions%2FEWD02xx%2FEWD230.html=05%7C01%7Csmetz3%40gmu.edu%7C274c6488bc9d4dd4b8ce08db2f62ba66%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638155873317274253%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C=I8uDwNmppE9wKncU2LOeEoEJG%2BlOu%2BoSE6DoRnwwyhQ%3D=0

best regards,

René.

> On 28 Mar 2023, at 07:26, Tony Harminc  wrote:
>
> On Mon, 27 Mar 2023 at 23:22, David Crayford  wrote:
>>
>> I think it was flippant Edsger W. Dijkstra  quote:
>>
>> “The use of COBOL cripples the mind; its teaching should,
>> therefore, be regarded as a criminal offense.”
>
> Dijkstra wasn't hot on a lot of languages:
>
> "If Fortran has been called an infantile disorder, PL/I must be
> classified as a fatal disease."
> -Edsger Dijkstra in Introduction to the Art of Computer Programming
>
> Which prompted, or at least provided a juicy quote for, Ric Holt's
> 1972 paper "Teaching the Fatal Disease (or) Introductory Computer
> Programming Using PL/I".
>
>> I use programming languages that I don't like all the time. C, in
>> particular, I dislike a lot. That doesn't mean they're not useful.
>
> Whew! And I thought you were a C fanatic. Thanks for disabusing me of that.
>
> 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

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


Re: Cloning SMPe Global, Target and DLIB

2023-03-28 Thread Seymour J Metz
I would recommend the following:

 1. Establish naming conventions for SMP datasets, target volumes and 
distribution volumes that make backing up and restooring a single system easier.

 2. Use static system symbols to allow promoting a new system easier, without 
any need to change volume serial numbers or change PARMLIB. I'm pretty sure 
that the initialization and tuna documentation has examples of how to do that.

 3. Document everything.


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


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Bill Giannelli [billgianne...@gmail.com]
Sent: Tuesday, March 28, 2023 5:38 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Cloning SMPe Global, Target and DLIB

Hi Wayne,
Thanks for the response!
So, my current CSI, zones and underlying datasets are all within one storage 
group, mixed in with other unrelated various datasets.
In order to guarantee a better backup, should I have our storage team define a 
separate new storage group solely for new HLQ?
This way the restore, if ever needed, would be easier?
thanks
Bill
On Tue, 28 Mar 2023 20:22:53 +1100, Wayne Bickerdike  wrote:

>ADRDSSU . DUMP and RESTORE with HLQ rename. After that, you'll need to
>modify DDDEFs to reflect the newly created underlying datasets.
>
>On Tue, Mar 28, 2023 at 8:08 PM Bill Giannelli 
>wrote:
>
>> What is the best or recommended way to copy or clone a SMPe Global CSI,
>> Target and Dlib with all the underlying datasets?
>> I want to create a new HLQ and clone under that.
>> thanks
>> Bill
>>
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>>
>
>
>--
>Wayne V. Bickerdike
>
>--
>For IBM-MAIN subscribe / signoff / archive access instructions,
>send email to lists...@listserv.ua.edu with the message: 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: Cloning SMPe Global, Target and DLIB

2023-03-28 Thread Bill Giannelli
Hi Wayne,
Thanks for the response!
So, my current CSI, zones and underlying datasets are all within one storage 
group, mixed in with other unrelated various datasets.
In order to guarantee a better backup, should I have our storage team define a 
separate new storage group solely for new HLQ?
This way the restore, if ever needed, would be easier?
thanks
Bill
On Tue, 28 Mar 2023 20:22:53 +1100, Wayne Bickerdike  wrote:

>ADRDSSU . DUMP and RESTORE with HLQ rename. After that, you'll need to
>modify DDDEFs to reflect the newly created underlying datasets.
>
>On Tue, Mar 28, 2023 at 8:08 PM Bill Giannelli 
>wrote:
>
>> What is the best or recommended way to copy or clone a SMPe Global CSI,
>> Target and Dlib with all the underlying datasets?
>> I want to create a new HLQ and clone under that.
>> thanks
>> Bill
>>
>> --
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>>
>
>
>-- 
>Wayne V. Bickerdike
>
>--
>For IBM-MAIN subscribe / signoff / archive access instructions,
>send email to lists...@listserv.ua.edu with the message: 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: Cloning SMPe Global, Target and DLIB

2023-03-28 Thread Wayne Bickerdike
ADRDSSU . DUMP and RESTORE with HLQ rename. After that, you'll need to
modify DDDEFs to reflect the newly created underlying datasets.

On Tue, Mar 28, 2023 at 8:08 PM Bill Giannelli 
wrote:

> What is the best or recommended way to copy or clone a SMPe Global CSI,
> Target and Dlib with all the underlying datasets?
> I want to create a new HLQ and clone under that.
> thanks
> Bill
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Wayne V. Bickerdike

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


Cloning SMPe Global, Target and DLIB

2023-03-28 Thread Bill Giannelli
What is the best or recommended way to copy or clone a SMPe Global CSI, Target 
and Dlib with all the underlying datasets?
I want to create a new HLQ and clone under that.
thanks
Bill

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


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

2023-03-28 Thread René Jansen
It is very probable that he only liked ALGOL 58 and ALGOL 60, for which he (and 
Jaap Zonneveld) made the first compiler (for the Electrologica X1), in an old 
school building in a small street, the Boerhaavestraat in Amsterdam, which I 
can see from my window across the river right now. The building does not have 
any marking, which is a bit of a shame.

We know what happened with ALGOL 68, and see also Edsger’s opinion on the 
document describing it: 

https://www.cs.utexas.edu/users/EWD/transcriptions/EWD02xx/EWD230.html

best regards,

René.

> On 28 Mar 2023, at 07:26, Tony Harminc  wrote:
> 
> On Mon, 27 Mar 2023 at 23:22, David Crayford  wrote:
>> 
>> I think it was flippant Edsger W. Dijkstra  quote:
>> 
>> “The use of COBOL cripples the mind; its teaching should,
>> therefore, be regarded as a criminal offense.”
> 
> Dijkstra wasn't hot on a lot of languages:
> 
> "If Fortran has been called an infantile disorder, PL/I must be
> classified as a fatal disease."
> -Edsger Dijkstra in Introduction to the Art of Computer Programming
> 
> Which prompted, or at least provided a juicy quote for, Ric Holt's
> 1972 paper "Teaching the Fatal Disease (or) Introductory Computer
> Programming Using PL/I".
> 
>> I use programming languages that I don't like all the time. C, in
>> particular, I dislike a lot. That doesn't mean they're not useful.
> 
> Whew! And I thought you were a C fanatic. Thanks for disabusing me of that.
> 
> 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