I'm currently working as a mainframe COBOL developer, obviously ISPF feels now much more familiar to me than the vanilla mvs-tk4 TSO. I love that interface too, indeed...it was my first hands on contact with the mainframe world. Love at first sight. You're the best, moshix! Cheers.
Oh man...I have some really good mainframe/COBOL pandemic unemployment benefits war stories. We pulled some rabbits out of hats that I'm quite proud of!
slapouttech.blogspot.com/2019/12/10-things-i-hate-about-you-cobol.html I started to write a post about the things I like, but I never finished it. One thing, though, is the 88 levels.@@moshixmainframechannel
What you see in IT is the stupid rejected the old simply because it old and they think they are being clever. COBOL is a superb tool. Most paper work in business is processing lists of stuff. And that is what COBOL does.
@@moshixmainframechannel I worked in IT at the end of the mainframe coming of the PC / web era. I heard all manner of rubbish spoken. About 20 years ago I was made redundant because Unix and Linux were things of the past and Windows was the future. I left IT then.
This ^^^ I am learning C/COBOL/ASM right now because I believe we are going to need to head backward soon. Just a feeling. I cannot stand the abstractions that higher level languages above C++ have in programming. I like the nuts and the bolts of things.
@@Learnerofthings Yes I leaned COBOL at college. I think it is a simple and powerful tool. Though I understand modern programming languages I think they are just too abstract. Getting stuff is done is lost.
There are things that COBOL cannot do. Since it still uses old XML, AJAX but the main problem is performance when transacting thru web and mobile, well compare to JSON format it is bit slower. Not sure if they can do push notification also. I never heard COBOL can do push notif thru mobile. And also there is no innovation already in COBOL. Just old plain maintenance and No job opportunities. Am I not here to argue with guys? we need to make things new in COBOL so that we can attract developers to love it. Share your knowledge about this. We should tried to solve modern problems and issues.
I learn COBOL/CICS Programming during college days, unfortunately after that I didn't able to chance to work that use COBOL because companies need more experience in COBOL.
omg Moshix... i was doing this (and all worked ofcause). And while watching the output, all of a sudden my fingers typed "[home]=3.4 [enter]" to continue editing and why i don't know, must be some kind of automatic something from >35 years ago. I was so suprised that the "=" was still hidden somewhere in my finders and not in my consious brain because before that moment i coult not remember the = being goto top ispf level. Learning and Forgetting every day LOL.
I followed this exactly - but when I submit the Primes Cobol job, I do not see the output, and the log in mvs says it's sent to a printer. How can I change this to output the job to a file like in your video?
While this is cool and is definitely a nice quick way to get a taste of the mainframe,, I would like to point out that OS COBOLis not the same as the COBOL most mainframe shops use today. It's quite a bit different. In my opinion more different than say python 2 vs python 3. The last time I looked there was no means to compile COBOL programs meeting modern standards in MVS 3.8. Has that changed?
@@moshixmainframechannel Understood and I'm not throwing shade. Just pointing that out so that people don't get the idea that they'll be ready for a current COBOL job if they know that version. However, it's a good start and I recommend everyone who is curious about the mainframe but don't have access to one, check this out.
@moshix Would plan on updating the archive with the latest as you and other add to tk4 ? This video is the easiest way for newbies to install and run mvs3.8.....
@@moshixmainframechannel True, this distribution is the best. I just meant will this be the archive that you keep adding new and updated components like you did with the September 2022 update to MVS 3.8j TK4- with ISPF, BREXX, NJE, and lots of updates. SO will this archive be the place to go when more updates are added?
@@justwanderin847 ok I got you. No, no fixes or improvements are going into TK4- for the public. Everybody applies her own fixes. We need Juergen to release 9 with all the hundreds of improvements but at this point this seems less and less likely.
is it possible to create an api that alllows the dataset in the MVS Hercules to be accessed and modified through a website / GUI / console app even if your on a different network? and is it possible to change user passwords?
@@moshixmainframechannel May I ask on which video it was? I'm just beginning to read about CICS in Murach's Mainframe, but I find that videos help me understand the concepts better and I would like to try and practice it.
You change password by logging in with oldpass/newpass, with all the problems attached to typos in the second password. If you have the permissions (initially AFAIK only herc01 on tk4-), you can also edit sys1.secure.cntl(users) to see and change everyone's password.
If you use F3 to many times and get a blank screen with Ready how do you get back the the ISPF Menu. I tried TSOAPPLS and it goes to the RPF menu. Thanks for the tutorial, I ready enjoyed it.
@@moshixmainframechannel Do you mean that these Link downloads run on linux or Windows, look for the Linux packages? Ah I have already done the installation but the step in Batch 3.8 I do not see the JOB of the utility.
Yeah, you ran a canned program, but it's clear how easy it would be to write and execute a COBOL program with this. Delightful! Is there support for (a variant of) CICS?
Need a little help…I’m working in my herc environment and am trying to compile a cobol program into a load library. I’m having some success but not all the way. I think I’m getting a clean compile and link, but I can’t get the load module to show up. Here is my compilation jcl and a few lines from the output… COMPILE JCL: //NEWJOB02 JOB NEWJOB02,'COMPILE AND LINK',CLASS=A,MSGCLASS=X //STEP01 EXEC COBUCL, // PARM.COB='FLAGW,LOAD,SUPMAP,SIZE=2048K,BUF=1024K' //COB.SYSPUNCH DD DUMMY //COB.SYSIN DD DSNAME=HERC01.TEST.CNTL(PROG0003),DISP=SHR //COB.SYSLIB DD DSNAME=SYS1.COBLIB,DISP=SHR //LKED.SYSOUT DD SYSOUT=,DCB=(RECFM=FBA,LRECL=161,BLKSIZE=16100) //LKED.SYSLMOD DD DSNAME=HERC01.TEST.LOADLIB(PROG0003),DISP=(SHR) //LKED.SYSIN DD NAME PROG0003 (R) /* //* JOB OUTPUT: IEF142I NEWJOB02 COB STEP01 - STEP WAS EXECUTED - COND CODE 0000 IEF142I NEWJOB02 LKED STEP01 - STEP WAS EXECUTED - COND CODE 0000 **PROG0003 NOW ADDED TO DATA SET
😊 Hi all, This package is amazing and I really enjoy it. But I also need help. I tried a similar example as @Philip Greenberg did. I copied COBOL PRIME number sample PGM to SYS2.COBOL.WORK(PROG0001) - removing all JCL part, keeping only COBOL code. And I try to run "EXEC COBUCL" in my JCL: HERC01.TEST.CNTL(COBULC). But I keep getting JCL error - see below. Do we have a JCL sample for compiling COBOL source-code, and placing binary object into a PDS lib? Here my JCL, and I got error on line #23 - IEF632I FORMAT ERROR JCL: //HERC01CG JOB HERC01CG,'COMPILE AND LINK',CLASS=A,MSGCLASS=X //STEP01 EXEC COBUCL, // PARM.COB='FLAGW,LOAD,SUPMAP,SIZE=2048K,BUF=1024K' //COB.SYSPUNCH DD DUMMY //COB.SYSIN DD DSNAME=SYS2.COBOL.WORK(PROG0001),DISP=SHR //COB.SYSLIB DD DSNAME=SYS1.COBLIB,DISP=SHR //LKED.SYSOUT DD SYSOUT=,DCB=(RECFM=FBA,LRECL=161,BLKSIZE=16100) //LKED.SYSLMOD DD DSNAME=HERC01.TEST.LOADLIB(PROG0001),DISP=(SHR) //LKED.SYSIN DD NAME PROG0001 (R) /* //* RESULT FROM 3.8: 1 //HERC01CG JOB HERC01CG,'COMPILE AND LINK',CLASS=A,MSGCLASS=X, // USER=HERC01,PASSWORD= GENERATED BY IKJEFF10 2 //STEP01 EXEC COBUCL, // PARM.COB='FLAGW,LOAD,SUPMAP,SIZE=2048K,BUF=1024K' 3 XXCOBUCL PROC SOUT='*' 4 XXCOB EXEC PGM=IKFCBL00, XX PARM='LOAD,SUPMAP,SIZE=2048K,BUF=1024K' 5 XXSYSPRINT DD SYSOUT=&SOUT 6 XXSYSUT1 DD UNIT=SYSDA,SPACE=(460,(700,100)) 7 XXSYSUT2 DD UNIT=SYSDA,SPACE=(460,(700,100)) 8 XXSYSUT3 DD UNIT=SYSDA,SPACE=(460,(700,100)) 9 XXSYSUT4 DD UNIT=SYSDA,SPACE=(460,(700,100)) 10 XXSYSLIN DD DSNAME=&LOADSET,DISP=(MOD,PASS),UNIT=SYSDA, XX SPACE=(80,(500,100)) 11 //COB.SYSPUNCH DD DUMMY 12 //COB.SYSIN DD DSNAME=SYS2.COBOL.WORK(PROG0001),DISP=SHR 13 //COB.SYSLIB DD DSNAME=SYS1.COBLIB,DISP=SHR 14 XXLKED EXEC PGM=IEWL,PARM='LIST,XREF,LET',COND=(5,LT,COB) 15 XXSYSLIN DD DSNAME=&LOADSET,DISP=(OLD,DELETE) 16 XX DD DDNAME=SYSIN 17 XXSYSLIB DD DSNAME=SYS1.COBLIB,DISP=SHR 18 XXSYSLMOD DD DSNAME=&GODATA(RUN),DISP=(NEW,PASS),UNIT=SYSDA, XX SPACE=(1024,(50,20,1)) 19 XXSYSUT1 DD UNIT=(SYSDA,SEP=(SYSLIN,SYSLMOD)),SPACE=(1024,(50,20)) 20 XXSYSPRINT DD SYSOUT=&SOUT 21 //LKED.SYSOUT DD SYSOUT=,DCB=(RECFM=FBA,LRECL=161,BLKSIZE=16100) 22 //LKED.SYSLMOD DD DSNAME=HERC01.TEST.LOADLIB(PROG0001),DISP=(SHR) 23 //LKED.SYSIN DD 24 //SYSIN DD * GENERATED STATEMENT *** STMT NO. MESSAGE - 5 IEF653I SUBSTITUTION JCL - SYSOUT=* 20 IEF653I SUBSTITUTION JCL - SYSOUT=* 23 IEF632I FORMAT ERROR Thank you.
I'm currently working as a mainframe COBOL developer, obviously ISPF feels now much more familiar to me than the vanilla mvs-tk4 TSO. I love that interface too, indeed...it was my first hands on contact with the mainframe world. Love at first sight. You're the best, moshix! Cheers.
Pleasure !
Oh man...I have some really good mainframe/COBOL pandemic unemployment benefits war stories. We pulled some rabbits out of hats that I'm quite proud of!
I've heard that Cobol is a legacy language and I've heard that legacy means that it works. Legacy is a very good thing.
Hahahah true
I once wrote a blog post called "10 Things I Hate About You, COBOL"
Great! URL? And what are 10 things you love ?
slapouttech.blogspot.com/2019/12/10-things-i-hate-about-you-cobol.html I started to write a post about the things I like, but I never finished it. One thing, though, is the 88 levels.@@moshixmainframechannel
All my thanks you for this video especially for the links to the resources. Thank you again.
What you see in IT is the stupid rejected the old simply because it old and they think they are being clever.
COBOL is a superb tool. Most paper work in business is processing lists of stuff. And that is what COBOL does.
Agreed
@@moshixmainframechannel I worked in IT at the end of the mainframe coming of the PC / web era. I heard all manner of rubbish spoken. About 20 years ago I was made redundant because Unix and Linux were things of the past and Windows was the future. I left IT then.
This ^^^ I am learning C/COBOL/ASM right now because I believe we are going to need to head backward soon. Just a feeling. I cannot stand the abstractions that higher level languages above C++ have in programming. I like the nuts and the bolts of things.
@@Learnerofthings Yes I leaned COBOL at college. I think it is a simple and powerful tool. Though I understand modern programming languages I think they are just too abstract. Getting stuff is done is lost.
There are things that COBOL cannot do. Since it still uses old XML, AJAX but the main problem is performance when transacting thru web and mobile, well compare to JSON format it is bit slower. Not sure if they can do push notification also. I never heard COBOL can do push notif thru mobile. And also there is no innovation already in COBOL. Just old plain maintenance and No job opportunities.
Am I not here to argue with guys? we need to make things new in COBOL so that we can attract developers to love it. Share your knowledge about this. We should tried to solve modern problems and issues.
Thank you for this very useful video!
Thanks for watching !
I learn COBOL/CICS Programming during college days, unfortunately after that I didn't able to chance to work that use COBOL because companies need more experience in COBOL.
omg Moshix... i was doing this (and all worked ofcause). And while watching the output, all of a sudden my fingers typed "[home]=3.4 [enter]" to continue editing and why i don't know, must be some kind of automatic something from >35 years ago. I was so suprised that the "=" was still hidden somewhere in my finders and not in my consious brain because before that moment i coult not remember the = being goto top ispf level. Learning and Forgetting every day LOL.
Cool
Superb! Thanks Moshix!!!
Thank you
COBOL the cause of and solution to all our mainframe problems! 😂Actually that's probably programming in general.
I followed this exactly - but when I submit the Primes Cobol job, I do not see the output, and the log in mvs says it's sent to a printer. How can I change this to output the job to a file like in your video?
Then you didn’t follow exactly 😃. Make it msgclass=X
@@moshixmainframechannel ok - I don't remember him doing that, but I changing it to H or X works :)
While this is cool and is definitely a nice quick way to get a taste of the mainframe,, I would like to point out that OS COBOLis not the same as the COBOL most mainframe shops use today. It's quite a bit different. In my opinion more different than say python 2 vs python 3.
The last time I looked there was no means to compile COBOL programs meeting modern standards in MVS 3.8. Has that changed?
I agree it’s very different. I never claimed it was modern Cobol. Indeed I said it was from the 80s
@@moshixmainframechannel Understood and I'm not throwing shade. Just pointing that out so that people don't get the idea that they'll be ready for a current COBOL job if they know that version. However, it's a good start and I recommend everyone who is curious about the mainframe but don't have access to one, check this out.
I wrote an entire TCPIP client and server using cobol for a customer
Wow
Thanks
@moshix Would plan on updating the archive with the latest as you and other add to tk4 ? This video is the easiest way for newbies to install and run mvs3.8.....
I have not yet seen a distribution other than TK4- as robust and easy to use as TK4- itself
@@moshixmainframechannel True, this distribution is the best. I just meant will this be the archive that you keep adding new and updated components like you did with the September 2022 update to MVS 3.8j TK4- with ISPF, BREXX, NJE, and lots of updates. SO will this archive be the place to go when more updates are added?
@@justwanderin847 ok I got you. No, no fixes or improvements are going into TK4- for the public. Everybody applies her own fixes. We need Juergen to release 9 with all the hundreds of improvements but at this point this seems less and less likely.
is it possible to create an api that alllows the dataset in the MVS Hercules to be accessed and modified through a website / GUI / console app even if your on a different network?
and
is it possible to change user passwords?
Yes. And I have shown in this channel how to do it
@@moshixmainframechannel May I ask on which video it was? I'm just beginning to read about CICS in Murach's Mainframe, but I find that videos help me understand the concepts better and I would like to try and practice it.
Don’t remember. Try towards the end of my volume clipping video
@@moshixmainframechannel Ok, thanks
You change password by logging in with oldpass/newpass, with all the problems attached to typos in the second password. If you have the permissions (initially AFAIK only herc01 on tk4-), you can also edit sys1.secure.cntl(users) to see and change everyone's password.
Same download and install for Linux that worked for Windows?
Yes
If you use F3 to many times and get a blank screen with Ready how do you get back the the ISPF Menu. I tried TSOAPPLS and it goes to the RPF menu. Thanks for the tutorial, I ready enjoyed it.
I figured it out. You just have to enter ISPF and it takes you back into ISPF . If you use TSOAPPLS it takes you back to RPF
Will typing TSO take you there? Sorry, it's been years since I have left IT.
Tsoaplls or ISPF
What windows will his emulator run on?vista?
Any
I have already installed Hercules TK4 as your previous youtube. If I do this 5min install will it be separate or will it mess up the other version?
Yes it’s a different version. Just copy it into a different directory
Hi, do you have this same installation but from Linux Debian, not for Windows? Amazing content for Mainframe
Thanks. It’s independent of base OS. It runs on Linux or on Windows, etc.
@@moshixmainframechannel Do you mean that these Link downloads run on linux or Windows, look for the Linux packages? Ah I have already done the installation but the step in Batch 3.8 I do not see the JOB of the utility.
@@jcsuarez8970 it’s independent of host OS. There are no different packages. Find my TK5 video and that has the full explanation
Most excellent. What version of cobol ?
It would be OS/VS2 Cobol.
May 1972 iirc
Specifically: IBM OS American National Standard COBOL - version designation: V2 LVL78 01 MAY 72 (with some updates and fixes added later.)
What version of Cobol did you install?
Dont remember
do you need a terminal emulator for mac?
I don’t.
Yeah, you ran a canned program, but it's clear how easy it would be to write and execute a COBOL program with this. Delightful! Is there support for (a variant of) CICS?
Yes there is CICS compatible system. Canned or not canned. What does it matter ??
@@moshixmainframechannel : canned program = far less time to run... It's ok. You were doing a speed run.
Need a little help…I’m working in my herc environment and am trying to compile a cobol program into a load library. I’m having some success but not all the way. I think I’m getting a clean compile and link, but I can’t get the load module to show up. Here is my compilation jcl and a few lines from the output…
COMPILE JCL:
//NEWJOB02 JOB NEWJOB02,'COMPILE AND LINK',CLASS=A,MSGCLASS=X
//STEP01 EXEC COBUCL,
// PARM.COB='FLAGW,LOAD,SUPMAP,SIZE=2048K,BUF=1024K'
//COB.SYSPUNCH DD DUMMY
//COB.SYSIN DD DSNAME=HERC01.TEST.CNTL(PROG0003),DISP=SHR
//COB.SYSLIB DD DSNAME=SYS1.COBLIB,DISP=SHR
//LKED.SYSOUT DD SYSOUT=,DCB=(RECFM=FBA,LRECL=161,BLKSIZE=16100)
//LKED.SYSLMOD DD DSNAME=HERC01.TEST.LOADLIB(PROG0003),DISP=(SHR)
//LKED.SYSIN DD
NAME PROG0003 (R)
/*
//*
JOB OUTPUT:
IEF142I NEWJOB02 COB STEP01 - STEP WAS EXECUTED - COND CODE 0000
IEF142I NEWJOB02 LKED STEP01 - STEP WAS EXECUTED - COND CODE 0000
**PROG0003 NOW ADDED TO DATA SET
So all good then. I don’t see any errors
😊 Hi all, This package is amazing and I really enjoy it. But I also need help. I tried a similar example as @Philip Greenberg did. I copied COBOL PRIME number sample PGM to SYS2.COBOL.WORK(PROG0001) - removing all JCL part, keeping only COBOL code. And I try to run "EXEC COBUCL" in my JCL: HERC01.TEST.CNTL(COBULC). But I keep getting JCL error - see below. Do we have a JCL sample for compiling COBOL source-code, and placing binary object into a PDS lib? Here my JCL, and I got error on line #23 - IEF632I FORMAT ERROR
JCL:
//HERC01CG JOB HERC01CG,'COMPILE AND LINK',CLASS=A,MSGCLASS=X
//STEP01 EXEC COBUCL,
// PARM.COB='FLAGW,LOAD,SUPMAP,SIZE=2048K,BUF=1024K'
//COB.SYSPUNCH DD DUMMY
//COB.SYSIN DD DSNAME=SYS2.COBOL.WORK(PROG0001),DISP=SHR
//COB.SYSLIB DD DSNAME=SYS1.COBLIB,DISP=SHR
//LKED.SYSOUT DD SYSOUT=,DCB=(RECFM=FBA,LRECL=161,BLKSIZE=16100)
//LKED.SYSLMOD DD DSNAME=HERC01.TEST.LOADLIB(PROG0001),DISP=(SHR)
//LKED.SYSIN DD
NAME PROG0001 (R)
/*
//*
RESULT FROM 3.8:
1 //HERC01CG JOB HERC01CG,'COMPILE AND LINK',CLASS=A,MSGCLASS=X,
// USER=HERC01,PASSWORD= GENERATED BY IKJEFF10
2 //STEP01 EXEC COBUCL,
// PARM.COB='FLAGW,LOAD,SUPMAP,SIZE=2048K,BUF=1024K'
3 XXCOBUCL PROC SOUT='*'
4 XXCOB EXEC PGM=IKFCBL00,
XX PARM='LOAD,SUPMAP,SIZE=2048K,BUF=1024K'
5 XXSYSPRINT DD SYSOUT=&SOUT
6 XXSYSUT1 DD UNIT=SYSDA,SPACE=(460,(700,100))
7 XXSYSUT2 DD UNIT=SYSDA,SPACE=(460,(700,100))
8 XXSYSUT3 DD UNIT=SYSDA,SPACE=(460,(700,100))
9 XXSYSUT4 DD UNIT=SYSDA,SPACE=(460,(700,100))
10 XXSYSLIN DD DSNAME=&LOADSET,DISP=(MOD,PASS),UNIT=SYSDA,
XX SPACE=(80,(500,100))
11 //COB.SYSPUNCH DD DUMMY
12 //COB.SYSIN DD DSNAME=SYS2.COBOL.WORK(PROG0001),DISP=SHR
13 //COB.SYSLIB DD DSNAME=SYS1.COBLIB,DISP=SHR
14 XXLKED EXEC PGM=IEWL,PARM='LIST,XREF,LET',COND=(5,LT,COB)
15 XXSYSLIN DD DSNAME=&LOADSET,DISP=(OLD,DELETE)
16 XX DD DDNAME=SYSIN
17 XXSYSLIB DD DSNAME=SYS1.COBLIB,DISP=SHR
18 XXSYSLMOD DD DSNAME=&GODATA(RUN),DISP=(NEW,PASS),UNIT=SYSDA,
XX SPACE=(1024,(50,20,1))
19 XXSYSUT1 DD UNIT=(SYSDA,SEP=(SYSLIN,SYSLMOD)),SPACE=(1024,(50,20))
20 XXSYSPRINT DD SYSOUT=&SOUT
21 //LKED.SYSOUT DD SYSOUT=,DCB=(RECFM=FBA,LRECL=161,BLKSIZE=16100)
22 //LKED.SYSLMOD DD DSNAME=HERC01.TEST.LOADLIB(PROG0001),DISP=(SHR)
23 //LKED.SYSIN DD
24 //SYSIN DD * GENERATED STATEMENT
***
STMT NO. MESSAGE
-
5 IEF653I SUBSTITUTION JCL - SYSOUT=*
20 IEF653I SUBSTITUTION JCL - SYSOUT=*
23 IEF632I FORMAT ERROR
Thank you.
Hello. Pls join the discord channel and ask for help there. It’s nearly impossible to help with JCL in the comments section