The JCLEXIT facility enables you to tailor items produced by
the CA MICS JCLGEN process. The exit is used to make changes
that are not possible with the basic or extended JCLGEN
facilities. Before writing a JCLGEN exit, you should:
o Ensure that there is not an existing JCLGEN facility
that can be used to accomplish the tailoring.
o Discuss the design with the CA MICS Product Support
Group before undertaking the actual work.
The JCLGEN process creates IEBUPDTE streams in temporary work
files that are used to update the CA MICS libraries. If the
generation has been successful, macro JCLUPDT is invoked to
process the IEBUPDTE stream and update the appropriate
CA MICS library. The user exit macro JCLEXIT is invoked by
the JCLUPDT macro.
To use the JCLEXIT facility during a complex-level generation
and all unit-level generations, code the JCLEXIT macro in
sharedprefix.MICS.SOURCE(#USRMAC). If you want to invoke the
JCLEXIT macro for one specific unit database, code it in
prefix.MICS.USER.SOURCE(#USRMAC).
The macro to be coded is a SAS Macro Language direct exit of
the form:
%MACRO JCLEXIT;
/* user statements go here */
%MEND JCLEXIT;
If present, the macro executes in-stream within the JCLUPDT
function. It is placed so that it has an opportunity to
examine each record before it is added to the CA MICS data
set. The following SAS variables are defined at the time the
exit receives control:
&COMPLEX - A SAS macro variable that will have a value of
COMPLEX if the JCL generation is being
performed at the COMPLEX level and a null
value if the JCL generation is being performed
at the unit level.
&GENLIST - A SAS macro variable that contains the name of
the MICS.PARMS GENLIST member.
LCLLIBMM - A 16-byte variable. The first 8 bytes are the
DDNAME of the library to be updated, the last
8 bytes are the member being created.
LCLLINE - The 80-byte record about to be put into the
member in the output library.
WRKDDN - The DDNAME of the library to be updated.
TCLIST - sharedprefix.MICS.CLIST
TGENLIB - sharedprefix.MICS.GENLIB
TMACAUTO - sharedprefix.MICS.MACAUTOS
TSOURCE - sharedprefix.MICS.SOURCE
OUTUSOR - prefix.MICS.USER.SOURCE
TCNTL - sharedprefix/prefix.MICS.CNTL
TPARMS - sharedprefix/prefix.MICS.PARMS
IMPORTANT NOTE:
The JCLUPDT function, which invokes the JCLEXIT macro, is
used by the JCLGEN process to update all libraries. It is
IMPORTANT that the value of the variable WRKDDN be checked to
ensure that user updates only occur for the CNTL and CLIST
libraries.
The following sample JCLEXIT macro illustrates how you can
ensure that each generated JCL statement contains only
uppercase characters:
%MACRO JCLEXIT;
IF WRKDDN = 'TCNTL' THEN LCLLINE = UPCASE(LCLLINE);
%MEND JCLEXIT;
| Copyright © 2012 CA. All rights reserved. | Tell Technical Publications how we can improve this information |