10. MODIFICATION › 10.1 Checklists › 10.1.15 Process Additional Non-USER Areas in CMF
10.1.15 Process Additional Non-USER Areas in CMF
The CICS Monitoring Facility (CMF) allows application
programs to add additional fields, known as user area, to the
performance class data. Currently, the CA MICS Analyzer
Option for CICS supports user areas with the ENTRYNAMEs of
USER, DBCTL, as well as, OMEGAMON user areas OMEGBSC,
OMEGDLI, and OMEGDB2.
For other user areas that you have added to CMF, you can
follow Checklist 15 to access the user areas during the input
processing step in DAY040; however, you must provide the
necessary SAS code in an exit routine to save the field in a
CA MICS data element if you wish to retain the data in the
CA MICS database.
****************************************************
* *
* CHECKLIST 15 - Process Non-USER CMF User Areas *
* *
****************************************************
___ 1. Determine the name of the user areas that you wish
to process by doing the following:
a. Ask your CICS system programmer.
-or-
b. Review the MICSLOG from DAY040. For each user
field that was skipped during input processing,
the warning message CIC06128 is issued. You can
determine from the message text the name of the
user field (OWNER=), and the type of field (area,
clock, or counter).
___ 2. Edit sharedprefix.MICS.SOURCE(CICDEPEL) to add the
names of the user areas that you wish to process.
The CICDEPEL module has reserved nine DEFINEID
statements with IDs 3902 through 3910 for additional
user area definitions. For each user area you wish
to add, simply un-comment the line and change the
word RESERVED on the DEFINEID statement to the name
of your user area. Each name specified by the
DEFINEID statement corresponds to a SAS variable
containing the content of the user area. You may
reference the SAS variable in a detail exit during
DAY040 processing.
For example, to add user areas SCREEN and FUNCTION,
edit the statements in module CICDEPEL as follows:
From:
* DEFINEID 3902 RESERVED
* DEFINEID 3903 RESERVED
To:
DEFINEID 3902 SCREEN
DEFINEID 3903 FUNCTION
If you need to add more than nine user areas, insert
additional DEFINED statements (via user modification)
as needed and increment each field ID (39xx) by 1.
For example, you may insert four additional user
areas with IDs of 3911 through 3914.
*************************************************************
* Repeat Steps 3 and 5 for each unit database that contains *
* the CA MICS Analyzer Option for CICS. *
*************************************************************
___ 3. Code the USRCDCT exit in member #CICEXIT in
prefix.MICS.USER.SOURCE. This adds the user area IDs
defined in Step 2 to the CDADID data dictionary
array. Because this exit is called within SELECT
logic, the exit code must contain WHEN clauses
instead of IF-THEN logic. There must be a WHEN
clause for each user area defined in Step 2.
For example, to add the SCREEN and FUNCTION user
areas from Step 2, you must code the USRCDCT exit as
follows:
%MACRO USRCDCT;
WHEN('SCREEN') CDADID(CDAINDEX)=PUT(902,PIB2.);
WHEN('FUNCTION') CDADID(CDAINDEX)=PUT(903,PIB2.);
%MEND USRCDCT;
Note: The name in quotes on the WHEN clause must
match the name on the DEFINED statement from Step 2.
The three-digit field ID in the PUT function must
match the last three digits of the same DEFINEID
statements from Step 2.
___ 4. To access a user area in a detail exit (such as
CICACRT, CICRLRT, CICAURT, or _USRSCSW) during DAY040
processing, you must code a LENGTH statement for the
user area before referencing it in the exit. For
example, to reference the SAS variables SCREEN and
FUNCTION, you may code the following in the CICACRT
exit:
LENGTH SCREEN FUNCTION $ 8;
CICACT5=SCREEN;
CICACT6=FUNCTION;
Note the maximum length of a character user area is
200 bytes. In the above example, the content of SAS
variables SCREEN and FUNCTION are stored in the
CA MICS data elements CICACT5 and CICACT6,
respectively. You may save the content of the user
areas to any CA MICS data elements, either
pre-defined or user-defined through system
modifications, as required for your processing needs.
___ 5. Code the USRSINT exit in the #CICEXIT member of
prefix.MICS.USER.SOURCE. This exit is a SAS macro
that is used to initialize the user areas to blanks,
prior to reading the data for each new CICS region.
To initialize the user areas SCREEN and FUNCTION,
code the macro as follows:
%MACRO USRSINT;
SCREEN=BLANKS;
FUNCTION=BLANKS;
%MEND USRSINT;
Coding this macro prevents data in user areas for a
CICS region from being written to CA MICS data
elements for regions that do not have those user
areas defined.