LJL is a job creation language that takes a job file, gathers items mentioned in its various lines and here-documents, and generates a runnable .deck file (short for "deck of cards").
The .deck file is a complex Bash script that creates a log spool and several temporary files in /tmp/<jobname>. It automatically cleans up scratchable files after the run. The log file contains the output of each step, including any program results.
Generates a deck command to invoke ifclass a, which checks if the
job's class allows execution at run time.
Generates a deck command to Log "sumjob is starting" to /var/log/JCL/ with a timestamp.
Generates a deck command to create /tmp/sumjob
Generates a deck command to initializes /tmp/sumjob/jobname.log with a formatted header
(e.g., via figlet sumjob).
Job Classes:
A = Runs as soon as submitted
B = Runs only if load is low enough
C = Runs in Off-Hours
//dd alias source(here|file=pathandfilename|new) disp(keep|scratch)
Note the disp (disposition) if keep the put the file in /home/user/.lcl/jobname as whatever the alias is
if the disp(scratch) then the file will go into the /tmp/jobname directory as named by the alias.
Generate deck commands to
-- if source is here: copy lines from lcl up to '/*' to the deck file as a here document
if source is a file: add commands to copy the file into a working directory either in user's home
or in the tmp directory under the alias.
//dd users source(file=/etc/passwd) disp(keep) ==> copy /etc/passwd to /home/user/.ljl/users
//ex somecommand --options < alias
-Generate doc commands to execute the program as specified and save the output to the logfile
In this case echo (somecommand --options < aliasproperlyexpanded ) > logfile
The deck file now forms a fully functional batch file to do the specified computation.