Tony Thigpen - very observant.
Yes, there is an optional back-end database for Data Set Information.
This was originally added to Jol so that the people in the department
looking after the Data Sets on the machine could be separate from the
people writing the code to actually execute the programs.
Then in order to make Jol more useful (and a universal command language)
the data set and program information such as the DDnames, and whether
they read or write (ie create) files was hidden. The intention with Jol
was always to be a Universal Command Language - and hence commands and
so on have always been built in an English like manner, with
compatibility always in mind. You can see the list of commands on this
page. Press on the:
'Detailed descriptions of Jol Instructions' on this page:
http://start.oscar-jol.com/documentation/technical-how-to-use
Also, you can see the general format of a Jol program by following the
'Jol Reference Guide' link.
------
Originally, people use Jol instructions to declare programs and data
sets and used the Run instruction which tied the declares together to
create the JCL to execute the program.
Here is a simple example of the "low" level Jol.
Job1: Job 10,5 mins acct dept01 250M;
Dcl Output DS temporary.file vb 200, 6144 unit sysda vol vol01;
Dcl Input DS Sys1.maclib(call);
Dcl Printer Print;
Dcl Iebgener Program
sysut1 reads input
sysut2 writes output
sysin reads 'dummy'
sysprint writes Printer;
Run Iebgener;
----------
The above can be simplified to:
Dcl Output DS temporary.file vb 200, 6144 unit sysda vol vol01;
Dcl Input DS Sys1.maclib(call);
Copy Input to Output;
-------
Or further
Copy 'sys1.maclib(call)' to temporary.file;
Tony Thigpen wrote:
So where does JOL get all the other informatoin for the DD card? Is
there some back-end database that has information for all the files
that may be used?
Tony Thigpen
Clem Clarke wrote on 07/10/2018 08:33 PM:
Below is an example of Jol, and the equivalent JCL.
Clem
Simplified Jol Scripting Language for Z/OS, TSO, Linux and Windows
Payroll: Job class C 1000 k;
Exec Validate Input.Trans, Trans.Action(+1); /* Validate Transations */
if Validate=0
then do;
Sort transaction(+1) to Sorted.Trans.Actions(+1)
Fields(10,10,CH,A);
Exec Update Payroll.Master(0), Sorted.Trans.Action(+1),
Payroll.Master(+1);
If Update = 0
then do;
Catalog Payroll.Master(+1), Sorted.Trans.Action(+1);
Submit Job2;
end;
end;
else Stop 'Error in PAYROLL Job';
________________________________
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN