JCL Scan rules
Contrast Scan supports these rules for JCL.
Severity | Contrast Rule | Engine rule ID | Description |
---|---|---|---|
Critical | Avoid Using Jobs Without Steps | OPT.JCL.AvoidUsingJobsWithoutSteps | AvoidUsingJobsWithoutSteps: Avoid using JCL programs not defining any step |
Critical | Job Name Must Match J C L Name | OPT.JCL.NAM_JCL.JobNameMustMatchJCLName | JobNameMustMatchJCLName: JOB name must be equal to the JCL filename |
Critical | Condition Code In Steps | OPT.JCL.PB_JCL.ConditionCodeInSteps | ConditionCodeInSteps: Use COND on each step to avoid wasted CPU in case of abnormal end |
Critical | Allocate File Space In Tracks | OPT.JCL.PF_JCL.AllocateFileSpaceInTracks | AllocateFileSpaceInTracks: The allocation of space for files must be on tracks (TRKS) |
Critical | Max Space For File | OPT.JCL.PF_JCL.MaxSpaceForFile | MaxSpaceForFile: Maximum allocation of space for files |
Critical | Time Per Step And Job | OPT.JCL.PF_JCL.TimePerStepAndJob | TimePerStepAndJob: Avoid unlimited time per job or step |
High | Avoid Duplicated Step Names | OPT.JCL.AvoidDuplicatedStepNames | AvoidDuplicatedStepNames: Avoid duplicating step names |
High | No Steps Without Steplib | OPT.JCL.GEN_JCL.NoStepsWithoutSteplib | NoStepsWithoutSteplib: Every step must have declared a STEPLIB |
High | Steplib Instead Of Joblib | OPT.JCL.GEN_JCL.SteplibInsteadOfJoblib | SteplibInsteadOfJoblib: Suggest using local declaration instead of global |
High | Allowed Programs | OPT.JCL.MAN_JCL.AllowedPrograms | AllowedPrograms: Allowed programs |
High | Deprecated Programs | OPT.JCL.MAN_JCL.DeprecatedPrograms | DeprecatedPrograms: Deprecated programs |
High | Job Naming Convention | OPT.JCL.NAM_JCL.JobNamingConvention | JobNamingConvention: JOB statement must comply the specifications |
High | Avoid Forbidden Dd Statements | OPT.JCL.PB_JCL.AvoidForbiddenDdStatements | AvoidForbiddenDdStatements: SYSDTERM, SYSUDUMP, SYSABEND, SORTLIB are DD statements not allowed |
High | Multivolume For Large Files | OPT.JCL.PF_JCL.MultivolumeForLargeFiles | MultivolumeForLargeFiles: Large files must be multivolume |
Info | Region Parameter | OPT.JCL.GEN_JCL.RegionParameter | RegionParameter: REGION parameter must have a specific value in JOB, and must not be included in the steps |
Info | Dd Sysin Columning | OPT.JCL.MAN_JCL.DdSysinColumning | DdSysinColumning: Every line of the SYSIN DD and SYSTSIN DD text must begin in the specified column |
Info | First Step Naming Convention | OPT.JCL.NAM_JCL.FirstStepNamingConvention | FirstStepNamingConvention: The name of the first step must be the specificated one |
Info | Last Step Naming Convention | OPT.JCL.NAM_JCL.LastStepNamingConvention | LastStepNamingConvention: The name of the last step must be the specificated one |
Info | Procedures Naming Convention | OPT.JCL.NAM_JCL.ProceduresNamingConvention | ProceduresNamingConvention: Procedure names must comply the pattern |
Info | Steps Naming Convention | OPT.JCL.NAM_JCL.StepsNamingConvention | StepsNamingConvention: Step names must have a specific format |
Low | Avoid Too Long Sysin | OPT.JCL.AvoidTooLongSysin | AvoidTooLongSysin: Avoid a too long SYSIN DD statement |
Low | Unit Assignation | OPT.JCL.GEN_JCL.UnitAssignation | UnitAssignation: The UNIT parameter value must be the specificated one |
Low | One Parameter Per Line In D D | OPT.JCL.MAN_JCL.OneParameterPerLineInDD | OneParameterPerLineInDD: Place every DD parameter in different lines |
Low | Files Naming Convention | OPT.JCL.NAM_JCL.FilesNamingConvention | FilesNamingConvention: Checks that file names comply with the patterns |
Low | Sort Files Naming Convention | OPT.JCL.NAM_JCL.SortFilesNamingConvention | SortFilesNamingConvention: SORT program files definition format |
Low | Step Numbering Convention | OPT.JCL.NAM_JCL.StepNumberingConvention | StepNumberingConvention: Checks if step names comply with specified format |
Medium | Avoid Formatting Data After Sorting | OPT.JCL.AvoidFormattingDataAfterSorting | AvoidFormattingDataAfterSorting: Avoid formatting data after sorting, format it before sorting instead |
Medium | Number Of Steps | OPT.JCL.MAN_JCL.NumberOfSteps | NumberOfSteps: Limit the number of steps per job |
Medium | Only Allowed Includes | OPT.JCL.MAN_JCL.OnlyAllowedIncludes | OnlyAllowedIncludes: Only use the specified include groups |
Medium | No Sys1 Prefixed Libs | OPT.JCL.PB_JCL.NoSys1PrefixedLibs | NoSys1PrefixedLibs: Do not use SYS1 prefixed libraries |