During the JCLCheck jcl validation, it can happen to get the error message :
CAY6077E NO 'unitname' UNITS ARE AVAILABLE FOR 'volume'
but the same job is then correctly executed when submitted in the same lpar where the validation failed.
Why this 'false' error and how to bypass it.
Release : All
Component : JCLCheck
From the JCLCheck Message Guide :
NO unit UNITS ARE AVAILABLE FOR volume
Volume volume is not currently mounted, and no online units of type unit are available for mounting it.
Unless the operator can vary a unit online at runtime, you must cancel the job upon execution.
Correct and reenter.
So the units and volumes used in a jcl, should exist , be available online and mounted on the system where the validation is executed, otherwise this error is issued.
Usually, in order to allow the correctly execution of the job, customers have sort of Autoperator ATP (Automatic Tape Processing) that does the vary online on demand immediately before the affected job starts, to put these units online, while during the jclchk validation of the same jcl they are not and that's why the error CAY6077E.
An easy way to bypass the JCLCheck RC=08 during the validation, is to decrease the message severity for CAY6077E, implementing the Runtime Option
This option has the following format:
MCOSys(datasetname[,membername]) | NOMCOSys
Specifies the data set name of the message control file to be processed. This file must point to an existing sequential file that contains a logical record length of 80.
Specifies the optional member name of the message control file to be processed. This file must point to an existing sequential file that contains a logical record length of 80.
The format of every line in the system message control option file is:
If You get CAY6077E and want to decrease this to a Warning CAY6077W (RC=04), in the member You have to code the following:
(cols 1-3 ---> the message number 077
col 4 ---> the current message severity E
cols 5-6 ---> the new message severity according to the below explanation:
-1 Suppress the message
00 - 03 Informational severity
04 - 07 Warning severity
08 - 11 Error severity
12 - 15 Serious error severity )
So in summary You need to add the Runtime Option
and in membername You have to code the string
Also underlining the following Knowledge Documents:
about how to to change severity levels for messages in JCLCheck.