z/OS JES2 Installation Exits
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Recommendations for implementing Exit 6

z/OS JES2 Installation Exits
SA32-0995-00

It is important to remember that Exit 6 is invoked because either:
  • The converter just completed converting a JCL statement to C/I text
  • The converter completed processing the entire job.

You could implement Exit 6 to keep certain counters—for instance, the number of DD cards received. Then, when the JCL for the entire job has been processed, the second part of your routine, the part that receives control when the code in R0 is 4 Start of change(or X006IND is set to X006CEND)End of change, can determine whether to allow the job to continue based on the contents of these counters.

You should use extreme caution when modifying C/I text. If any of your changes cause a job to fail (because of an interpreter error), there will be no correlation of the error with the resulting abend on the user's output. To modify or examine the C/I text:
  • Ensure register 0 contains a X'00' Start of change(or X006IND is set to X006TEXT)End of change to indicate the invocation of Exit 6 is to process a converted JCL statement.
  • Use any information from the C/I text for any installation-written control blocks.
  • Make any necessary modifications to the C/I text. z/OS MVS Installation Exits describes the rules for changing C/I text to ensure the changes you make will not cause the other problems in your installation, such as loss of data, loss of integrity and performance.
    Note:
    • You can issue messages to the JCLMSG data set to track the changes that you make to the C/I text, because none of your changes will be reflected in the job output. However, the changes you make will be reflected in the job's SWA control blocks.
    • Start of changeThe current job class for a job is passed to the exit in XPL field X006JCLS. You can modify this field to alter the job class for the job. Alternately, you can use the JCTJCLAS and JCXJCLA8 fields in the JCT. When conversion and all Exit 6 processing is completed for a job, JES2 uses these fields to update the corresponding JQE fields JQEJCLAS and JQXJCLAS. JES2 also ensures that these changes are checkpointed. Ensure that the specified job class exists to avoid a resulting job failure.End of change
    • Start of changeIf you need to change the job priority, use the JCTIPRIO fields in the JCT. When conversion and all Exit 6 processing is completed for a job, JES2 will use this field to update the corresponding JQE field JQEPRIO. JES2 also ensures that these changes are checkpointed.End of change
    • Start of changeThe current scheduling environment for a job is passed to the exit in the XPL field X006SCHE. You can modify this field to alter the scheduling environment for the job. Alternatively, you can supply a scheduling environment directly in the JCTSCHEN field in the JCT, which overrides any value that is specified on the job card.

      The converter validates the scheduling environment after Exit 6 receives control. If the scheduling environment is not valid, JES2 fails the job with a JCL error. Alternatively, you can update the internal text for the job card to specify a new scheduling environment.

      The current hold state of the job is passed to the exit in bit X006HOLD of the XPL. You can modify this bit to alter the current hold status of the job. Alternatively, you can set bit JCTTHOLD in the JCT.

      End of change
  • Set the appropriate return code in register 15 or perform additional processing.
If you decide to fail the job, you should issue error messages to the operator and to the user. You can fail the job in Exit 6 by either:
  • Setting flag CNMBFJOB in byte CNMBOPTS of the CNMB. See z/OS MVS Installation Exits for information about obtaining and initializing the CNMB. If you set this flag, the converter continues to convert the job's JCL and will fail the job after it has completely processed the job. You can only fail the job in this manner when register 0 contains a X'00'.
  • Setting a return code of 8 in register 15 before returning to JES2.
If you want to issue messages to the:
  • JCLMSG data set, you must obtain a CNMB and initialize it with the message text. You can not issue any messages to the JCLMSG data set, if this is the last invocation of the exit (register 0 contains a 4). See z/OS MVS Installation Exits for additional information about how to initialize the CNMB.
  • Operator or user, issue a $WTO macro.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014