View previous topic :: View next topic
|
Author |
Message |
s.saranya srinivasan
New User
Joined: 25 Sep 2015 Posts: 9 Location: india
|
|
|
|
can anyone explain the jcl overriding concept |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Read in the JCL Reference. If you still don't understand it completely, explain what you do understand, and ask a specific question. |
|
Back to top |
|
|
David Robinson
Active User
Joined: 21 Dec 2011 Posts: 199 Location: UK
|
|
|
|
Or just ask one of your colleagues. Far simpler than trying to explain it on a forum. |
|
Back to top |
|
|
Pete Wilson
Active Member
Joined: 31 Dec 2009 Posts: 590 Location: London
|
|
|
|
simply put it allows a new piece of JCL to replace some that is already there, without actually altering the original piece of JCL. It is usually used as a temporary measure to overcome a specific issue. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
When I first started with OS/360, a commonly used cataloged procedure was FORTGCL to compile and link edit a Fortran program. While the details may be incorrect, the procedure looked like this -
Code: |
//FORT EXEC PGM=IEYFORT,PARM='OBJECT,NODECK',
// REGION=100K
//SYSPRINT DD SYSOUT=*
//SYSLIN DD DISP=(MOD,PASS),UNIT=SYSDA,
// DCB=(RECFDM=FB,LRECL=80,BLKSIZE=2960),
// DSN=&&LOADSET
//LINK EXEC PGM=IEWL,COND=(8,GE,FORT),REGION=100K,
// PARM='SIZE=(100K,12K),MAP'
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSLIB DD DISO=(SHR,PASS),DSN=SYS1.FORTLIB
//SYSLMOD DD DISP=(MOD,PASS),UNIT=SYSDA,
// SPACE=(CYL,(1,1,1)),DSN=&&GOSET(GO)
//SYSLIN DD DISP=(OLD,PASS),DSN=&&LOADSET
// DD DDNAME=SYSIN |
The JCL to use the procedure would be something like this -
Code: |
//... JOB ...
//... EXEC FORTGCL
//FORT.SYSIN DD *
... A Fortran program |
There is one example of a JCL override in this JCL: //FORT.SYSIN DD *. The FORT. qualifier tells the JCL processor this DD statement belongs to the FORT step in the procedure.
A very common JCL override for this procedure was to update the SYSLMOD DD statement to store the load module in a permanent library; the JCL might look like this.
Code: |
//... JOB
//... EXEC FORTGCL
//FORT.SYSIN DD *
... A Fortran program
//LINK.SYSLMOD DD DISP=OLD,DSN=library(program),
// SPACE=,UNIT= |
Here the JCL override updates the SYSLMOD DD statement in the LINK step. We respecify essentially the entire DD statement. We specify SPACE= to nullify the SPACE parameter in the procedure so the secondary allocation in the SPACE parameter in the procedure is not used. Similarly, the UNIT parameter in the procedure is nullified so the unit implied by the catalog entry for the program library is used.
More details, including how to override elements of EXEC statements are in the JCL Reference manual for your z/OS release. |
|
Back to top |
|
|
Willy Jensen
Active Member
Joined: 01 Sep 2015 Posts: 730 Location: Denmark
|
|
|
|
Maybe worthwhile mentioning is that JCL override is primarily used with procedures in a JESx proclib, or libraries defined through a JCLLIB statement. Though it works equally well with inline procedures.
Willy |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
Willy Jensen wrote: |
Maybe worthwhile mentioning is that JCL override is primarily used with procedures in a JESx proclib, or libraries defined through a JCLLIB statement. Though it works equally well with inline procedures.
Willy |
Mr. Jensen is correct, of course. Early versions of OS/360 did not have in line procedures, or, for that matter, the // PROC statement and JCL symbols, and // JCLLIB did not exist until well into MVS. User PROCLIBs were possible, though there was no formal, documented way to implement them until MVS. In fact, my example FORTGCL proc would not work until, I think, OS/360 Release 18. |
|
Back to top |
|
|
Pete Wilson
Active Member
Joined: 31 Dec 2009 Posts: 590 Location: London
|
|
|
|
showing your age guys!
OS360 didn't even have JES2, it was HASP (or the OEM GRASP) in those days! Oh..and those horrible pre-ICF catalogs...DLBL's & TLBL's with specific UNIT and VOL...nightmare.
and when those punchcards got chewed up... |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
I thought DLBL and TLBL were DOS. Might the reason that DOS and OS both have "JCL" be that they have a common ancestor? |
|
Back to top |
|
|
Pete Wilson
Active Member
Joined: 31 Dec 2009 Posts: 590 Location: London
|
|
|
|
yes 360 was DOS, well the one I worked on was anyway...360/40. Pretty sure MVS didn't emerge until the early eighties...with MFT then OS/VS1&2 preceeding it.
Mind you those brain cells have taken a hammering so happy to be corrected! |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
System/360 (the hardware) begat TOS/360, DOS/360 and OS/360. TOS/DOS were quickies because OS/360 was running late and because it was too big for systems most potential customers could afford, and IBM marketing desperately needed something for their lower end customers. DOS was not a true disk operating system. Like the disk SYSRES versions of 7090 IBSYS (another tape operating system), DOS was just TOS with a disk SYSRES, but it did not really exploit the capabilities of the disk.
As we all know, DOS/360 refused to die. It begat VSE and z/VSE.
I think Mr. Woodger is incorrect. All operating systems that support stacked job processing, like FMS and IBSYS, provided some sort of control language, though it was not called that until the System/360 operating systems. To the extent there was an “ancestor” of JCL in TOS/DOS and OS/360, it was the control language in IBSYS/IBJOB. To the best of my knowledge, there was never any commonality between TOS/DOS JCL, and OS/360 JCL other than the name. There was some talk about a “standardized” control language in the late 1960s and early 1970s, but nothing came of it.
Mr. Wilson, too, is incorrect.
There were three significant variants of OS/360: PCP (Primary Control Program), MFT (Multiprogramming with a Fixed number of Tasks), and MVT (Multiprogramming with a Variable number of Tasks). PCP and MFT were more closely related than most people now appreciate. In a very real sense, PCP was MFT with one task. MVT, on the other hand, was a much different animal.
In the 1970s, when IBM conceded paging hardware and virtual storage were the future, MFT begat OS/VS1, MVT begat OS/VS2 Release 1 and a whole new animal, OS/VS2 Release 2, later called MVS. Like TOS/DOS, VS1 and VS2 Release 1 were quickies to get some sort of virtual memory system into the hands of users.
The MVS animal of 1973/1974 was pretty bad. True, compared to VS2 Release 1, it was very stable, but it was very hard to control. In the late summer of 1974 I went to a 2 week MVS class. One of the class problems was to tweak the resource manager variables to see what would happen. The conclusion of this exercise is almost anything you did hurt, and it was generally uncontrollable. It took a major rewrite of the resource manager before MVS became truly controllable and usable in 1975 or so. |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Not sure what you felt was incorrect. DLBL and TLBL are DOS for sure. The rest of the text was a question. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
Bill Woodger wrote: |
Not sure what you felt was incorrect. DLBL and TLBL are DOS for sure. The rest of the text was a question. |
I question whether JCL in TOS/DOS and JCL in OS/360 were related. Other than the unnamed control language in systems like FMS and IBSYS/IBJOB, which, in a sense, were JCL ancestors, there was no common ancestor to the two JCLs. |
|
Back to top |
|
|
Pete Wilson
Active Member
Joined: 31 Dec 2009 Posts: 590 Location: London
|
|
|
|
Gordonius Bennettus! You created a neuronal connection that I thought was lost forever in the mists of Islay there Steve, bringing up all those incarnations from DOS to MVS. I was never a TOSer although I have known a few, some of who I would call MFT's due to their advanced skills. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
steve-myers wrote: |
... There were three significant variants of OS/360: PCP (Primary Control Program), MFT (Multiprogramming with a Fixed number of Tasks), and MVT (Multiprogramming with a Variable number of Tasks). PCP and MFT were more closely related than most people now appreciate. ... |
I think it worth while to amend the last sentence.
PCP and the original MFT were more closely related than most people now appreciate.
In a very real sense, there were two MFT versions: the second version was a toned down MVT that used what amounted to the MVT job manager. This is the MFT that most of us remember. The original MFT used the PCP job acheduler, which ran in just one partition at a time. The concept was to start a never ending job - like the original HASP - which released the scheduler to run regular batch jobs in another partition as HASP gave it the jobs. |
|
Back to top |
|
|
|