Using Jol
New notes about Jol - Dec 19, 2024 by Clement Clarke
==============
Jol was invented around 1968 on a system using punch cards and no TSO and years before REXX. The computer had less than a megabyte and so Jol had to run in a 20K partition which was shared with the IBM Reader program. There were no interactive facilities available then, and tapes were used for main storage, and disks were tiny.
Since then, to say many things have changed in the IBM Mainframe world is a vast understatement!
Over the years, many facilities were added to Jol to incorporate new advances in technology.
NOTE: A detailed list of Jol instructions may be found at www.JolUCL.com/JolDoc
if you are coming from a JCL backgound, then here are some of the major differences:
Jol is a free format language based on PL/I. Unlike REXX, semi-colons are required to separate statements.
Jol will do most JCL functions. In addition:
a) Has a full Symbolic Parameter Processing language builtin. You may test, assign and perform arithemetic on Symbolic Variables.
b) The incredibly simple Panel instruction can be used to input Symbolic Variables through TSO.
c) Symbolic Variables may be saved and reused in data sets, and passed from job to job.
c) Symbolic Variables may be used in card image files to generate system utility commands.
d) Instructions to Allocate, Copy and Move Data Sets are builtin and maybe used interactively via TSO.
e) An INCLUDE facility allows nested procedures to be used.
f) A powerful Macro facility can be used to build new instructions.
If you are a Data Space Administrator, you can use the Jol Data Set Data Base to define to Jol all the characteristics of data sets. Programmers writing Jol Code may simply reference a data set name, and Jol can use these details to allocate or create the data set when necessary.
Programmers can store information about programs in the Program Data Base. Details such as the language the program is written in and the DDnames are stored. The a simple Complile and Link command is used to make an executable program. And an EXEC instruction will match the DDnames to Data Sets to run tests.
For JCL writers of complicated procedures, Jol offers several methods.
A method very similar to Unix, Linux and Windows Command line procedures. You simply code the name of the program you wish to execute, followed by the Data Set Names and Printer names. These are then matched to the program in the Program data base to get the appropriate DDnames, and then the Data Set Name data base is accessed to get the data set details, and create the data set if neccessary. The interactive BUILDJOB facility may be used to create such a Jol job which may be edited to add more features, if necessay.
The original Jol method of creating jobs may be used. Here, all data sets are declared with their attributes such as space, record formats and sp on. Programs are declared with their DDnames indicating which data sets are to be connected to which data sets. Then RUN instructions are used to actually execute the programs.
A combination of the two methods may be used.
See the examples for more details.