{"id":901,"date":"2017-11-07T21:25:36","date_gmt":"2017-11-07T15:55:36","guid":{"rendered":"http:\/\/zMainframes.com\/zlog\/?p=901"},"modified":"2023-01-20T13:30:14","modified_gmt":"2023-01-20T08:00:14","slug":"jcl-statements-job-statement","status":"publish","type":"post","link":"https:\/\/zmainframes.com\/zlog\/jcl-statements-job-statement\/","title":{"rendered":"JCL statements \u2013 JOB statement"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>The JOB statement is the very first control statement in a JCL. It marks the start of a job and also specifies the name of the job. The JOB statement is also used to provide certain administrative information, including accounting, security and identification information.<\/p>\n<p>There will be only 1 JOB statement in a given job.<\/p>\n<h2><span style=\"text-decoration: underline\">JOB Statement Syntax<\/span><\/h2>\n<p><img data-recalc-dims=\"1\" fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-911 size-large\" src=\"https:\/\/i0.wp.com\/zMainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/1-1024x591.png?resize=656%2C379\" alt=\"\" width=\"656\" height=\"379\" title=\"\" srcset=\"https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/1.png?resize=1024%2C591&amp;ssl=1 1024w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/1.png?resize=300%2C173&amp;ssl=1 300w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/1.png?resize=768%2C443&amp;ssl=1 768w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/1.png?w=1048&amp;ssl=1 1048w\" sizes=\"(max-width: 656px) 100vw, 656px\" \/><\/p>\n<h3><\/h3>\n<h3>JOB Name<\/h3>\n<p>As said earlier, JOB statement marks the beginning of every job and gives a name to the job. Here in above example, the JOB name is \u2018SAMPLE01\u2019.<\/p>\n<p>The JOB name is \u2013<\/p>\n<ul>\n<li>Mandatory and will always start at column 3.<\/li>\n<li>The Job name is 1 to 8 bytes in length, which can be alphabetic, alphanumeric or national (#, @, $).<\/li>\n<li>First byte of Job name can be either alphabetic or national. It cannot be numeric.<\/li>\n<li>Job name must be followed by at least 1 blank.<\/li>\n<\/ul>\n<p>The JOB name gives an identity of the job to the MVS, in the spool and in the scheduler.<\/p>\n<p>Once you submit a job, you can check the execution details of the job in spool using the jobname.<\/p>\n<p>(Spool navigation: START -&gt; S -&gt; ST -&gt; PRE &lt;space&gt; <em>jobname<\/em>). (Assumption here is that the site has SDSF to manage the spool. These options might vary for different shops.)<\/p>\n<p><em>You might be wondering, in case, same job with same jobname or some another job with same jobname is submitted multiple times, then how will you identify your submitted job details in spool?<\/em><\/p>\n<p>Please remember, when you submit a job, a unique number called as <em>job-number<\/em> is assigned to it by the JES (Job entry subsystem), details of which are generally displayed when job is submitted.<\/p>\n<p>Using the Job-name and Job-number combination, you can uniquely identify the log of the job submitted in spool. However, if you\u2019ve SUBmitted a JOB twice with same name, then the \u201csecond Job\u201d will be queued up and wait until the first Job with same name finishes.<\/p>\n<h3><span style=\"text-decoration: underline\">JOB Keyword<\/span><\/h3>\n<p>The literal JOB is used to identify that it is a JOB statement or a JOB card. This is the only keyword to identify a Job-card.<\/p>\n<h3><span style=\"text-decoration: underline\">Positional Parameters<\/span><\/h3>\n<p>In JOB statement, there are 2 Positional parameters:<\/p>\n<h4>(a)&nbsp; <span style=\"text-decoration: underline\">Accounting Information<\/span><\/h4>\n<p>This information is used to identify the person or the department or the organization that will be charged for utilizing the CPU time on mainframe.<\/p>\n<p>It should be coded between enclosing parentheses ( ) or apostrophes \u2018\u2019.<\/p>\n<p>For example (6621, GROUP2) or \u20186621, GROUP2\u2019. Here we can say, GROUP2 is a group in a given company and the 6621 is the department name in that group.<\/p>\n<p>If any special characters are used, enclose the accounting information in apostrophes \u2018\u2019.<\/p>\n<p>For example (6621,\u2019GROUP\/2\u2019, 1) or \u20186621, GROUP\/2,1\u2019<\/p>\n<p><strong><span style=\"text-decoration: underline\">Length:<\/span> 1 to 143 bytes<\/strong><\/p>\n<p><strong><span style=\"text-decoration: underline\">Syntax:<\/span> <em>account-number<\/em><\/strong><\/p>\n<p><strong><em>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u2018Account-number, other-info\u2019<\/em><\/strong><\/p>\n<p><em><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u2018Account number\u2019 (for special character<\/strong>s)<\/em><\/p>\n<p>Accounting information is mandatory in JOB card and its value may differ across different mainframe shops.<\/p>\n<h4><\/h4>\n<h4>(b)&nbsp; <span style=\"text-decoration: underline\">Programmer Name<\/span><\/h4>\n<p>This identifies the person or the group that is responsible for the job. It is not a mandatory parameter.<\/p>\n<p>If special characters (other than hyphens, leading or embedded periods) are coded, then the name must be enclosed in apostrophes \u2018\u2019.<\/p>\n<p>Programmer name should be coded after accounting information.<\/p>\n<p><strong><span style=\"text-decoration: underline\">Length:<\/span>&nbsp;1 to 20 bytes<\/strong><\/p>\n<p><strong><span style=\"text-decoration: underline\">Syntax:<\/span> Name<\/strong><\/p>\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \u2018Name\u2019 (for special characters)<\/strong><\/p>\n<p><strong><u>Key-points for Positional parameters<\/u><\/strong><\/p>\n<p>If a positional parameter is omitted, then a comma \u2018,\u2019 has to be coded to indicate the omitted parameter.<\/p>\n<p>The replacing comma should not be coded in below scenarios:<\/p>\n<ul>\n<li>If the positional parameter omitted is the last positional parameter.<\/li>\n<li>If all the positional parameters are omitted.<\/li>\n<li>If all the following positional parameters are omitted.<\/li>\n<\/ul>\n<h3><\/h3>\n<h3><\/h3>\n<h3><span style=\"text-decoration: underline\">Keyword Parameters<\/span><\/h3>\n<p>The parameters apart from Positional parameters are called Keyword parameters.<\/p>\n<p>These keyword parameters can be coded in any sequence following Positional parameters.<\/p>\n<p>The Keyword parameters are indicated by coding the keyword sign followed by an equal \u2018=\u2019 sign and the keyword value. (Keyword = Value). E.g. CLASS = A.<\/p>\n<p>Unlike Positional parameters, commas \u2018,\u2019 are not used to indicate omission of keyword parameters.<\/p>\n<p>There are more than 20 keyword parameters and we will go through the common ones in detail.<\/p>\n<h4>(a)&nbsp; <span style=\"text-decoration: underline\">CLASS<\/span><\/h4>\n<p>In order to improve the efficiency of a batch system, one way is to carefully schedule the work by grouping the jobs with similar resource requirements and this task of grouping similar jobs is done by assigning them to classes.<\/p>\n<p>For e.g., a Class A job might need only the standard input and output devices, while the jobs requiring for a printer output might be assigned to Class B.<\/p>\n<p>In simple terms, CLASS keyword specifies the job class i.e. the nature of the job.<\/p>\n<p>Many mainframe shops do not make use of this option and the CLASS value is set as per the assigned User id.<\/p>\n<p>Job CLASSES are set up at JES initialization.<\/p>\n<p><strong><span style=\"text-decoration: underline\">Length:<\/span> 01 Byte<\/strong><\/p>\n<p><strong><span style=\"text-decoration: underline\">Possible Values:<\/span> A to Z or 0 to 9.<\/strong><\/p>\n<p><strong><span style=\"text-decoration: underline\">Syntax:<\/span> CLASS = value<\/strong><\/p>\n<p>As mentioned earlier, keyword parameters are optional, so if you do not specify CLASS keyword in the job card, JES will use the installation default specified at initialization.<\/p>\n<p><span style=\"text-decoration: underline\"><strong>Example<\/strong><\/span><\/p>\n<figure id=\"attachment_913\" aria-describedby=\"caption-attachment-913\" style=\"width: 656px\" class=\"wp-caption alignnone\"><img data-recalc-dims=\"1\" decoding=\"async\" class=\"wp-image-913 size-large\" src=\"https:\/\/i0.wp.com\/zMainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/class-1024x741.png?resize=656%2C475\" alt=\"\" width=\"656\" height=\"475\" title=\"\" srcset=\"https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/class.png?resize=1024%2C741&amp;ssl=1 1024w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/class.png?resize=300%2C217&amp;ssl=1 300w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/class.png?resize=768%2C556&amp;ssl=1 768w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/class.png?w=1057&amp;ssl=1 1057w\" sizes=\"(max-width: 656px) 100vw, 656px\" \/><figcaption id=\"caption-attachment-913\" class=\"wp-caption-text\">(Source: IBM)<\/figcaption><\/figure>\n<p>Here, in above example, we can see that the 2 jobs T1 and T2 have been submitted and they are in spool queue. Considering CLASS=A having high priority than CLASS=W, T1 job will be executed first.<\/p>\n<p>Please note that the class priority may vary in every mainframe shop. It varies depending on the parameters setup during install.<\/p>\n<h4><\/h4>\n<h4>(b)&nbsp; <span style=\"text-decoration: underline\">MSGCLASS<\/span><\/h4>\n<p>While working with JCL, you need to see the execution details or the \u2018job log\u2019 of the JCL submitted. These job logs require memory destination in order to be stored or written.<\/p>\n<p>MSGCLASS does this task of determining the output class where the system messages and JCL messages will be written.<\/p>\n<p><strong><span style=\"text-decoration: underline\">Length:<\/span> 01 Byte<\/strong><\/p>\n<p><strong><span style=\"text-decoration: underline\">Possible Values:<\/span> A to Z or 0 to 9.<\/strong><\/p>\n<p><strong><span style=\"text-decoration: underline\">Syntax:<\/span> MSGCLASS = value<\/strong><\/p>\n<p>As mentioned earlier, keyword parameters are optional, so if you do not specify MSGCLASS keyword in the job card, JES will use the installation default specified at initialization.<\/p>\n<p><span style=\"text-decoration: underline\"><strong>Example<\/strong><\/span><\/p>\n<figure id=\"attachment_914\" aria-describedby=\"caption-attachment-914\" style=\"width: 656px\" class=\"wp-caption alignnone\"><img data-recalc-dims=\"1\" decoding=\"async\" class=\"wp-image-914 size-large\" src=\"https:\/\/i0.wp.com\/zMainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/msgclass-1024x745.png?resize=656%2C477\" alt=\"\" width=\"656\" height=\"477\" title=\"\" srcset=\"https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/msgclass.png?resize=1024%2C745&amp;ssl=1 1024w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/msgclass.png?resize=300%2C218&amp;ssl=1 300w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/msgclass.png?resize=768%2C558&amp;ssl=1 768w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/msgclass.png?w=1048&amp;ssl=1 1048w\" sizes=\"(max-width: 656px) 100vw, 656px\" \/><figcaption id=\"caption-attachment-914\" class=\"wp-caption-text\">(Source: IBM)<\/figcaption><\/figure>\n<h4><\/h4>\n<h4>(c)&nbsp;&nbsp; <span style=\"text-decoration: underline\">MSGLEVEL<\/span><\/h4>\n<p>MSGLEVEL keyword specifies which JCL statement and JES messages are to be printed in the job log.<\/p>\n<p><strong><span style=\"text-decoration: underline\">Syntax:<\/span> MSGLEVEL=(x,y)<\/strong><\/p>\n<p>The first sub-parameter of MSGLEVEL controls which statements will be printed in the job log.<\/p>\n<p>The second sub-parameter of MSGLEVEL controls which messages will be printed in the job log.<\/p>\n<p>Below illustration will clear the MSGLEVEL usage clearly.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-916 size-full\" src=\"https:\/\/i0.wp.com\/zMainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/meglevel.png?resize=774%2C415\" alt=\"\" width=\"774\" height=\"415\" title=\"\" srcset=\"https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/meglevel.png?w=774&amp;ssl=1 774w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/meglevel.png?resize=300%2C161&amp;ssl=1 300w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/meglevel.png?resize=768%2C412&amp;ssl=1 768w\" sizes=\"(max-width: 774px) 100vw, 774px\" \/>As mentioned earlier, keyword parameters are optional, so if you do not specify MSGLEVEL keyword in the job card, JES will use the installation default specified at initialization.<\/p>\n<p>Did you notice that parentheses \u2018()\u2019 were included in above syntax. Also, did you wonder why so?<\/p>\n<p>Before answering to this, first check how many sub-parameters were coded?<\/p>\n<p>2 \u2013 Correct. So, when there are more than 1 sub parameter being coded, you must make use of parentheses \u2018()\u2019.<\/p>\n<h4><\/h4>\n<h4>(d)&nbsp; <span style=\"text-decoration: underline\">Notify<\/span><\/h4>\n<p>NOTIFY keyword helps the system determine where to send the job complete information.<\/p>\n<p>It causes the system to notify the TSO user mentioned on the NOTIFY parameter when the job completes.<\/p>\n<p><strong><span style=\"text-decoration: underline\">Syntax:<\/span> NOTIFY = user-id<\/strong>&nbsp; &nbsp; &nbsp; &nbsp; &#8211; Message will be sent to mentioned user-id. Must be a valid<\/p>\n<p>TSO ID.<\/p>\n<p><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NOTIFY = &amp;SYSUID<\/strong>&nbsp; &#8211; Messages will be sent to the user-id that was used to submit<\/p>\n<p>the job.<\/p>\n<h4><\/h4>\n<h4>(e)&nbsp; <span style=\"text-decoration: underline\">TYPRUN<\/span><\/h4>\n<p>TYPRUN keyword modifies the way JES processes the JOB.<\/p>\n<p>It checks the JCL and holds the job in the input queue.<\/p>\n<ul>\n<li><strong>TYPRUN=SCAN<\/strong><\/li>\n<\/ul>\n<p>JCL is scanned for errors but is not executed.<\/p>\n<ul>\n<li><strong>TYPRUN=HOLD<\/strong><\/li>\n<\/ul>\n<p>JCL is scanned for errors and if there are any errors, the JCL fails with error notification without execution.<\/p>\n<p>If there are no errors, the job is held in queue and it should be released by the user for execution.<\/p>\n<p>Release action can be done by typing \u2018A\u2019 against the job name in spool.<\/p>\n<ul>\n<li><strong>TYPRUN= JCLHOLD<\/strong><\/li>\n<\/ul>\n<p>It is similar to HOLD, however, the error check is done only after the job is released by the user.<\/p>\n<h4>(f)&nbsp;&nbsp;&nbsp; <span style=\"text-decoration: underline\">REGION<\/span><\/h4>\n<p>When you submit a JCL, it needs some memory where it can process and execute the required task.<\/p>\n<p>The REGION parameter specifies the amount of virtual storage needed by a job\/ job step.<\/p>\n<p>It can be coded in JOB statement and EXEC statement as well.<\/p>\n<p>Please note,<\/p>\n<ul>\n<li>If REGION is specified in JOB statement, it applies to each step in the job and overrides the REGION parameter specified in each EXEC statement.<\/li>\n<li>Jobs will abend if some step needs a larger REGION size or if the REGION value cannot be obtained.<\/li>\n<li>REGION must be defined in Steps, when different steps need different amount of space.<\/li>\n<\/ul>\n<p>REGION can be specified with the value equal to K (kilobytes) or M (Megabytes)<\/p>\n<p><strong>Syntax:&nbsp; REGION= xx K\/M<\/strong><\/p>\n<p>A value equal to 0K or 0M will give job all the storage available.<\/p>\n<h4>&nbsp;(g)&nbsp; <span style=\"text-decoration: underline\">RESTART<\/span><\/h4>\n<p>While working on the data processing, you will definitely face errors. This is a fact and let us accept it.<\/p>\n<p>No worries mate! RESTART parameter will help you instruct the system to restart your job after a failure. Of course, the restart action might or might not be successful. It totally depends on what kind of error you have encountered.<\/p>\n<p>RESTART parameter forces the JOB execution to start from the mentioned step.<\/p>\n<p><strong><span style=\"text-decoration: underline\">Syntax<\/span>: RESTART=step-name<\/strong><\/p>\n<p><span style=\"text-decoration: underline\"><strong>Example<\/strong><\/span><\/p>\n<figure id=\"attachment_917\" aria-describedby=\"caption-attachment-917\" style=\"width: 656px\" class=\"wp-caption alignnone\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-917 size-large\" src=\"https:\/\/i0.wp.com\/zMainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/restart-1024x678.png?resize=656%2C434\" alt=\"\" width=\"656\" height=\"434\" title=\"\" srcset=\"https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/restart.png?resize=1024%2C678&amp;ssl=1 1024w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/restart.png?resize=300%2C199&amp;ssl=1 300w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/restart.png?resize=768%2C509&amp;ssl=1 768w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/restart.png?w=1078&amp;ssl=1 1078w\" sizes=\"(max-width: 656px) 100vw, 656px\" \/><figcaption id=\"caption-attachment-917\" class=\"wp-caption-text\">(Source: IBM)<\/figcaption><\/figure>\n<p>Please note, in order to make use of the RESTART option, step names must be unique.<\/p>\n<h4><\/h4>\n<h4>(h)&nbsp; <span style=\"text-decoration: underline\">TIME<\/span><\/h4>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-919 alignleft\" src=\"https:\/\/i0.wp.com\/zMainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/time1.png?resize=225%2C225\" alt=\"\" width=\"225\" height=\"225\" title=\"\" srcset=\"https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/time1.png?w=225&amp;ssl=1 225w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/time1.png?resize=150%2C150&amp;ssl=1 150w\" sizes=\"(max-width: 225px) 100vw, 225px\" \/><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"wp-image-918 size-medium alignnone\" src=\"https:\/\/i0.wp.com\/zMainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/time-2-300x245.jpg?resize=300%2C245\" alt=\"\" width=\"300\" height=\"245\" title=\"\" srcset=\"https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/time-2.jpg?resize=300%2C245&amp;ssl=1 300w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/time-2.jpg?w=372&amp;ssl=1 372w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Most batch systems automatically cancel a program caught in an endless loop after a reasonable time has passed.<\/p>\n<p>The data for setting the timer must come from somewhere.<\/p>\n<p>This task is done by using the TIME parameter.<\/p>\n<p>TIME parameter signifies the maximum time that the JOB or STEP can take to run.<\/p>\n<p>It can be coded in both JOB &amp; EXEC statements.<\/p>\n<p>If it is coded in both JOB and EXEC statements, the smaller among them will be applicable.<\/p>\n<p><strong><span style=\"text-decoration: underline\">Syntax<\/span>: TIME=NOLIMIT&nbsp; &nbsp; &nbsp;&#8211;&nbsp;<\/strong><strong>JOB can utilize the processor for any amount <\/strong><strong>time.<\/strong><\/p>\n<p><strong>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; TIME = MAXIMUM&nbsp; &#8211; <\/strong><strong>JOB or STEP can be used for maximum amount of<\/strong><strong>&nbsp;time&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; i.e. 357,912 minutes.<\/strong><\/p>\n<p><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TIME = (minutes, seconds)&nbsp;&nbsp; <\/strong><\/p>\n<p>Please note that TIME=1440 is equivalent to coding TIME=NOLIMIT. Thus, 1440 is the only numerical value that is not to be interpreted directly.<\/p>\n<p>When there is a time out, the abend code is <strong>S322<\/strong>.<\/p>\n<h4>(i)&nbsp;&nbsp;&nbsp; <span style=\"text-decoration: underline\">PRTY<\/span><\/h4>\n<p>It assigns priority to jobs.<\/p>\n<p>Consider that there are 2 jobs in a queue with same job class, JES will schedule the job that has high priority first.<\/p>\n<p>Priority numbers range from (0-14) or (0-15) depending on the installations.<\/p>\n<p>The job with priority coded as 15 has the highest priority and PRTY = 0 has the lowest priority.<\/p>\n<p><strong><span style=\"text-decoration: underline\">Syntax<\/span>: PRTY=priority<\/strong><\/p>\n<p><span style=\"text-decoration: underline\"><strong>Defaults in JCL<\/strong><\/span><\/p>\n<p>In above discussion, we have repeatedly mentioned the default values that would be considered in case you don\u2019t mention.<\/p>\n<p>Did it strike to you why it is so?<\/p>\n<p>Okay, so there are many parameters that can be coded by you programmers in each of the jobs. Instead of coding these parameters, mainframe shops rely on the <em>Defaults.<\/em><\/p>\n<p>So, if you fail to mention any keyword and its corresponding value, the system will assume a value by default. However, mostly accounting information and programmer name is required. But, again it will entirely depend on how the JCL in the mainframe shop has been configured. In few shops, it might happen that it will be okay if you don\u2019t provide the accounting information and the programmer name values as well.<\/p>\n<p>To override a default, simply code the appropriate parameter.<\/p>\n<p>This was all about the JOB statements in a JCL.<\/p>\n<p>We will continue with the EXEC statement in the next discussion.<\/p>\n<p>&nbsp;<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-915 size-full\" src=\"https:\/\/i0.wp.com\/zMainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/dyk2.png?resize=891%2C211\" alt=\"\" width=\"891\" height=\"211\" title=\"\" srcset=\"https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/dyk2.png?w=891&amp;ssl=1 891w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/dyk2.png?resize=300%2C71&amp;ssl=1 300w, https:\/\/i0.wp.com\/zmainframes.com\/zlog\/wp-content\/uploads\/2017\/10\/dyk2.png?resize=768%2C182&amp;ssl=1 768w\" sizes=\"(max-width: 891px) 100vw, 891px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; The JOB statement is the very first control statement in a JCL. It marks the start of a job [&hellip;]<\/p>\n","protected":false},"author":316,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[121,125,118,122,129,119,127,128,131,124,120,123,132,117,130,126],"class_list":["post-901","post","type-post","status-publish","format-standard","hentry","category-jcl","tag-dd-statement-in-jcl","tag-difference-between-positional-and-keyword-parameters-in-macro","tag-exec-statement-in-jcl","tag-how-many-job-statements-a-jcl-can-have","tag-jcl-exec-statement","tag-jcl-job-card-programmer-name-length","tag-jcl-parameters-job-card","tag-jcl-parameters-mainframe","tag-list-of-keyword-parameters-in-jcl","tag-list-of-positional-parameters-in-jcl","tag-message-level-in-jcl","tag-msgclassp-in-jcl","tag-msglevel-in-jcl","tag-positional-and-keyword-parameters-in-jcl","tag-positional-parameters-in-dd-statement","tag-positional-parameters-must-be-specified-before-keyword"],"amp_enabled":true,"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"Arpit Patel","author_link":"https:\/\/zmainframes.com\/zlog\/author\/arpitpatel01\/"},"rttpg_comment":7,"rttpg_category":"<a href=\"https:\/\/zmainframes.com\/zlog\/mainframes\/jcl\/\" rel=\"category tag\">JCL<\/a>","rttpg_excerpt":"&nbsp; The JOB statement is the very first control statement in a JCL. It marks the start of a job [&hellip;]","_links":{"self":[{"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/posts\/901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/users\/316"}],"replies":[{"embeddable":true,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/comments?post=901"}],"version-history":[{"count":16,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/posts\/901\/revisions"}],"predecessor-version":[{"id":1171,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/posts\/901\/revisions\/1171"}],"wp:attachment":[{"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/media?parent=901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/categories?post=901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/zmainframes.com\/zlog\/wp-json\/wp\/v2\/tags?post=901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}