Which JCL?

It is surprising how many job vacancies for mainframe are advertised that ask for JCL experience. They don't say which JCL they require experience with, just JCL. I suppose that's because a lot of people who work on mainframes have only ever worked with one job control language so they think that's the only one that there is.

There are in fact at least three different JCLs that are in common use on mainframe computers.

The most common JCL that I have seen used on mainframes is MVS (which was originally called OS). This operating system (for that's really what the JCL equates to) is the most powerful and flexible of the three mainframe JCLs that I am familiar with but it also requires the most computing power to be able to run it. It tends therefore to be used mainly by larger companies who have the more powerful mainframes that can run it.

The MVS operating system allows datasets (files) to be created without having to specify where on the disk that the file will go. Batch jobs are run via a number of initiators each of which has one or more job classes assigned to it and jobs are run based on the class, priority, and order of submission by an initiator assigned to that class provided that no jobs are waiting in classes assigned higher priority with that initiator. Each job class can also have different defaults assigned such as maximum run time, availability of various drives, access to databases, etc. Most MVS systems also run an online environment called TSO (time share option) which allows the standard operating system functions to be performed interactively. There is also a shell that sits on top of TSO called ISPF which provides a menu driven interface and a powerful editor (along with a number of other options).

Another JCL that dates back to about as far as MVS is VSE (originally called DOS - long before PCs were invented). This operating system uses a more primitive style of commands than MVS and also requires far less in the way of resources on the computer to be able to run it.

VSE requires that the actual location on a disk drive be allocated to a specific file (unless an add on file manager is used). Batch jobs are run in one of twelve (previously three) specific partitions which have preassigned priorities with the lowest priority being known as BG (background), the highest being known as F1 (foreground one), and those in between being F2 through F9 followed by FA and FB (foreground two through eleven). Online processing is provided by running an online processor such as PWS (programmer work station) or ROSCOE in one of the higher priority foreground partitions.

The third of the common JCLs is called CMS (conversational monitor system). This system handles file allocations by assigning everyone their own virtual disk upon which to store their own files and their own virtual machine in which to run their online functions (which are built into the operating system). Instead of a file name, each file has a name, type, and mode. Batch programs are run using commands that are almost identical to VSE. This operating system also has its own built in file editor which is about as powerful as the one in ISPF that is used on MVS but has commands that work somewhat differently.

This is only a very brief introduction to these three different mainframe JCLs but should be enough for you to be able to tell that they are for the most part very different from one another. Experience with one of these JCLs is not a great deal of help in learning one of the others. So next time that a potential employer says that they need to have JCL knowledge, make sure that you ask them which one.

go to top

FaceBook Follow
Twitter Follow