Skip to main content

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