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!
===In-stream input=== DOS and OS JCL both allow in-stream input, i.e. "cards" which are to be processed by the application program rather than the operating system. Data which is to be kept for a long time will normally be stored on disk, but before the use of [[interactive]] terminals became common the only way to create and edit such disk files was by supplying the new data on cards. DOS and OS JCL have different ways of signaling the start of in-stream input, but both end in-stream input with <code>/*</code> at column 1 of the card following the last in-stream data card. This makes the operating system resume processing JCL in the card following the <code>/*</code> card.<ref>Stern and Stern, ''Structured COBOL Programming'', pp. 529, 537.</ref> *OS JCL: DD statements can be used to describe in-stream data, as well as data sets. A DD statement dealing with in-stream data has an asterisk (*) following the DD identifier, e.g. <code>//SYSIN DD *</code>. JCL statements can be included as part of in-stream data by using the DD DATA statements. :An operand named '''DLM''' allowed specifying a delimiter (default is "/*"). Specifying an alternate delimiter allows JCL to be read as data, for example to copy procedures to a library member or to submit a job to the ''internal reader''. :*An example,<ref>modeled on https://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r2.hasc300/has2z1_Submitting_to_the_internal_reader_from_jobs_or_tasks.htm, using knowledge dating back to when Green Cards came from IBM, and Manix worked for a company owning an IBM card sorter</ref> which submits a job to the ''Internal Reader'' ('''INTRDR''') and then deletes two files is: <syntaxhighlight lang="jcl" highlight="8,12,13"> //SUBM EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=Z //SYSUT2 DD SYSOUT=(A,INTRDR) //SYSIN DD DUMMY //SYSUT1 DD DATA,DLM=ZZ //RUNLATR JOB ACCT,MANIX,CLASS=A.TYPRUN=HOLD //* ^ a JOB to run later //CPUHOG EXEC PGM=PICALC1K //OUTPUT DD DSN=PICALC.1000DGTS,SPACE=(TRK,1),DISP=(,KEEP) ZZ //* ^ as specified by DLM=ZZ //DROPOLDR EXEC PGM=IEFBR14 //DELETE4 DD DSN=PICALC.4DGTS,DISP=(OLD,DELETE) //DELETE5 DD DSN=PICALC.5DGTS,DISP=(OLD,DELETE) </syntaxhighlight> ::# The program called PICALC1K will await (TYPRUN=HOLD) being released manually ::# The program called [[IEFBR14]] will run NOW and upon completion, the two existing files, PICALC.4DGTS and PICALC.5DGTS will be deleted. *DOS JCL: Simply enter the in-stream data after the EXEC card for the program.
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)