Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Job Control Language
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Job Entry Control Language== On IBM mainframe systems ''Job Entry Control Language'' or ''JECL'' is the set of [[command language]] control statements that provide information for the [[spooling]] subsystem – [[Job Entry Subsystem 2/3|JES2 or JES3]] on [[z/OS]] or [[IBM POWER (software)|VSE/POWER]] for [[VSE (operating system)|z/VSE]]. JECL statements may "specify on which network computer to run the [[Job stream|job]], when to run the job, and where to send the resulting output."<ref name=Brown>{{cite book|last=Brown|first=Gary DeWard|title=zOS JCL|year=2002|publisher=John Wiley & Sons|isbn=9780471426738|url=https://books.google.com/books?id=K8kMJa8arlIC&dq=jecl+definition&pg=PA3|access-date=2014-05-05}}</ref> JECL is distinct from [[job control language]] (JCL), which instructs the [[operating system]] ''how'' to run the job. There are different versions of JECL for the three environments. ===OS/360=== An early version of Job Entry Control Language for OS/360 Remote Job Entry (Program Number 360S-RC-536) used the identifier <code>..</code> in columns 1–2 of the input record and consisted of a single control statement: <code>JED</code> (Job Entry Definition). "Workstation Commands" such as <code>LOGON</code>, <code>LOGOFF</code>, and <code>STATUS</code> also began with <code>..</code> .<ref>{{cite book|last=IBM Corporation|title=IBM System/360 Operating System Remote Job Entry|year=1968|url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/360/rje/C30-2006-1_Remote_Job_Entry_May68.pdf|access-date=2014-05-05}}</ref> ====pre-JES JECL==== Although the term had not yet been developed, [[Houston Automatic Spooling Priority|HASP]] did have similar functionality to what would become the JECL of [[Job Entry Subsystem 2/3|JES]], including <code>/*</code> syntax. ===z/OS=== For JES2 JECL statements start with <code>/*</code>, for JES3 they start with <code>//*</code>, except for remote <code>/*SIGNON</code> and <code>/*SIGNOFF</code> commands. The commands for the two systems are completely different. ====JES2 JECL==== The following JES2 JECL statements are used in z/OS 1.2.0.<ref>{{cite web|last=IBM Corporation|title=Job Entry Subsystem 2 (JES2) Control Statements|url=http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/iea2b510/1.1.2?SHELF=EZ2ZO103&DT=20010626133938&CASE=|work=z/OS V1R2.0 MVS JCL|access-date=February 25, 2013|archive-date=October 18, 2015|archive-url=https://web.archive.org/web/20151018201305/http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/iea2b510/1.1.2?SHELF=EZ2ZO103&DT=20010626133938&CASE=|url-status=dead}}</ref> {| class="wikitable" |- ! JECL statement !! Function !! Example |- | <code>/*$''command''</code> || Enters an operator (console) command || <code>/*$S PRINTER3</code><ref>other examples can be viewed at [[Houston Automatic Spooling Priority#Operator Commands]]</ref> |- | <code>/*JOBPARM</code> || Specifies values for job-related parameters || <code>/*JOBPARM TIME=10</code> |- | <code>/*MESSAGE</code> || Sends a message to the operator console || <code>/*MESSAGE CALL JOE AT HOME IF JOB ABENDS</code> |- | <code>/*NETACCT</code> || Specifies account number for network job || <code>/*NETACCT 12345</code> |- | <code>/*NOTIFY</code> || Specifies destination for notification messages || <code>/*NOTIFY SAM</code> |- | <code>/*OUTPUT</code> || Specifies ''SYSOUT'' dataset options || <code>/*OUTPUT FORMS=BILL</code> |- | <code>/*PRIORITY</code> || Sets job selection priority || <code>/*PRIORITY 15</code> |- | <code>/*ROUTE</code> || Specifies output destination or execution node || <code>/*ROUTE PRT RMT5</code> |- | <code>/*SETUP</code> || Requests volume mounting or other offline operation || <code>/*SETUP TAPE01,TAPE02</code> |- | <code>/*SIGNOFF</code> || Ends remote session || <code>/*SIGNOFF</code> |- | <code>/*SIGNON</code> || Begins remote session || <code>/*SIGNON REMOTE5 ''password''</code> |- | <code>/*XEQ</code> || Specifies execution node || <code>/*XEQ DENVER</code> |- | <code>/*XMIT</code> || Indicates job or dataset to be transmitted to another network node || <code>/*XMIT NYC</code> |} ====JES3 JECL==== The following JES3 JECL statements are used in z/OS 1.2.0<ref>{{cite web|last=IBM Corporation|title=Job Entry Subsystem 3 (JES3) Control Statements|url=http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/iea2b510/1.1.2?SHELF=EZ2ZO103&DT=20010626133938&CASE=|work=z/OS V1R2.0 MVS JCL|access-date=February 25, 2013|archive-date=October 18, 2015|archive-url=https://web.archive.org/web/20151018201305/http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/iea2b510/1.1.2?SHELF=EZ2ZO103&DT=20010626133938&CASE=|url-status=dead}}</ref> {| class="wikitable" |- ! JECL statement !! Function !! Example |- | <code>//**''command''</code> || Enters a JES3 operator (console) command || |- | <code>//*DATASET</code> || Marks the beginning of an in-stream dataset || |- | <code>//*ENDDATASET</code> || Marks the end of an in-stream dataset || |- | <code>//*ENDPROCESS</code> || Marks the end of a series of <code>//*PROCESS</code> statements || |- | <code>//*FORMAT</code> || Specifies <code>SYSOUT</code> dataset options || |- | <code>//*MAIN</code> || Specifies values for job-related parameters || |- | <code>//*NET</code> || Identifies relationships among jobs using JES3 ''dependent job control'' || |- | <code>//*NETACCT</code> || Specifies account number for network job || |- | <code>//*OPERATOR</code> || Sends a message to the operator console || |- | <code>//*PAUSE</code> || Stops the input reader || |- | <code>//*PROCESS</code> || Identifies a non-standard job || |- | <code>//*ROUTE</code> || Specifies the execution node for the job || |- | <code>/*SIGNOFF</code> || Ends remote session || <code>/*SIGNOFF</code> |- | <code>/*SIGNON</code> || Begins remote session || |} ===z/VSE=== For VSE JECL statements start with '<code>* $$</code>' (note the ''single'' space). The Job Entry Control Language defines the start and end lines of JCL jobs. It advises [[VSE (operating system)|VSE]]/[[IBM POWER (software)|POWER]] how this job is handled. JECL statements define the job name (used by VSE/POWER), the class in which the job is processed, and the disposition of the job (i.e. <code>D</code>, <code>L</code>, <code>K</code>, <code>H</code>). {| class="wikitable" |- ! JECL statement<ref>{{cite book|last=IBM Corporation|title=DOS/VS POWER/VS Installation and Operations|year=1974|url=http://bitsavers.trailing-edge.com/pdf/ibm/370/DOS_VS/GC33-5403-1_DOS_VS_POWER_VS_Installation_and_Operation_Sep74.pdf}}</ref> !! Function !! Example |- | <code>* $$ CTL</code> || Establishes a default ''input class'' || <code>* $$ CTL CLASS=A</code> |- | <code>* $$ JOB</code> || Specifies attributes of a job || <code>* $$ JOB JNM=PYRL,PRI=9</code> |- | <code>* $$ EOJ</code> || Marks the end of a job || <code>* $$ EOJ</code> |- | <code>* $$ RDR</code> || Inserts a file from a 3540 diskette into the input stream || <code>* $$ RDR SYS005,'fname',2</code> |- | <code>* $$ PRT</code> || Specifies characteristics of spooled print files<br> "LST' is a synonym for "PRT" || <code>* $$ PRT FNO=STD,COPY=2</code> |- | <code>* $$ PUN</code> || Specifies characteristics of spooled punch files || <code>* $$ PUN DISP=T,TADDR=280</code> |- | <code>* $$ SLI</code> || Inserts data ("book") from source statement library into the input stream|| <code>* $$ SLI A.JCL1</code> |- | <code>* $$ DATA</code> || Inserts data from the card reader into a book retrieved from the source statement library|| <code>* $$ DATA INPUT1</code> |} Example: <syntaxhighlight lang="jcl"> * $$ JOB JNM=NAME,DISP=K,CLASS=2 [some JCL statements here] * $$ EOJ </syntaxhighlight>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)