Previous Topic: 10.1.14 Convert to a Different Data Source

Next Topic: 10.1.16 Enable Internal Step Restart

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.