The MSGCLASS and MSGLEVEL are parameters in the JCL JOB statement and control the output messages.


  • The MSGCLSS lets you know the job’s output message class, and the default class is A for the jobs submitted from the JCL.
  • For the job that submits from TSO/E, the output message’s class will be X. It is called held class.
  • The syntax for MSGCLASS=A
  • If you omit the MSGCLASS parameter, it takes the default value.


  • The MSGLEVEL lets you know the message types you want to include in the output.
  • The syntax is MSGLEVEL=(1,1). The first value is stmt. Here it is ‘1’. It prints all the JCL statements in the output listing. The second value is msg. Here it is ‘1’. It prints all the system messages in the output listing.
  • So, MSGLEVEL=(1,1) means it prints all the JCL statements and all the system messages.
  • In the other scenario, MSGLEVEL=(0,0). It prints only the JOB statement and step completion messages, and this type of parameter you can see in prod jobs. Also, when the job fails, it prints all the allocation and de-allocation details.
  • The default value is MSGLEVEL=(1,1).


Author: Srini

Experienced software developer. Skills in Development, Coding, Testing and Debugging. Good Data analytic skills (Data Warehousing and BI). Also skills in Mainframe.