Previous Topic: 7.3.6 CICS Application Unit Derivation Routine (CICAURT)

Next Topic: 7.3.8 CICS Processing Thresholds (CICTHRSH)

7.3.7 CICS Relative Longevity Routine (CICRLRT)


In order to classify CICS transactions into response
categories, the CICS Analyzer requires that you write an exit
to assign a relative longevity code to each transaction as
the transaction data is being processed during DAY040 step of
the CA MICS DAILY job. This classification allows CA MICS to
maintain response distributions of several transaction types.

The exit is called the the CICS relative longevity routine
and is stored in member CICRLRT of prefix.MICS.PARMS.  The
CICRLRT exit assigns a value to the CA MICS data element
TRANTYPE, a one-character field, which is set to S, M, L, or
C for short, medium, long, or conversational, respectively.
The CICS Analyzer uses the value of TRANTYPE to maintain
separate response distributions for each type of transaction.

TRANTYPE may also be set to a value of X, denoting an
excessive transaction.  Such excessive transactions are NOT
considered for purposes of total response distributions or
for calculating average total response times.
Several approaches you might take to create the code include:

    o  Classification based on transaction identification

       This approach identifies the individual transactions
       according to their characteristic longevity.
       Normally, this approach utilizes a table lookup of
       CICS transaction IDs to group the work.  For example,
       transactions 'ABCD' and 'WXYZ' are always long
       transactions, while other transactions may be medium
       or short.

    o  Classification based on estimated resource usage

       This approach classifies a transaction type based on
       the transaction's resource consumption such as CPU and
       I/Os.

    o  Classification based on facility area

       This approach classifies work based on the service
       area exercised.  For example, all transactions which
       execute as destination-attached may be of "medium"
       duration.
The CICRLRT exit routine may reference any data elements
CA MICS reads from the CICS transaction record.  Some of the
data elements most commonly used to determine the value of
TRANTYPE include:

    TRANCODE -  The CICS transaction ID or the translation of
                the identifier as described in
                prefix.MICS.PARMS(CICOPS).

    PROGRAM   - Program name.

    CSUTRSTM  - Transaction response time.

    CSUCPUTM  - Task CPU time.

    CSUFACTY  - Facility type.
When invalid input makes the proper assignment of relative
longevity impossible, you should assign a default code,
usually L (long).  Failure to do this significantly reduces
the usability of the transaction group response time
statistics.  For example, certain transactions may be
executed without being attached to a terminal facility.  This
situation may occur for miscellaneous overhead transactions,
such as the BMS message routing control transactions.  This
kind of data collection record has no valid terminal
identifier present.

You may modify the CICRLRT exit routine at any time.  No
CA MICS generation jobs are required after making a change.
The change will take effect in the next DAILY job execution.
The CICS Analyzer delivers a sample CICRLRT exit routine in
prefix.MICS.PARMS.  This code classifies transactions based
on the transaction ID.  You should review and modify the
sample code to suit your processing and reporting needs.  The
sample code is shown below.


* THE FOLLOWING TRANSACTIONS WILL BE CLASSIFIED AS
* CONVERSATIONAL:
*
* TRANSID  APPLICATION
*  ----    ----------------------------------------
*  CSMT    CICS MASTER TERMINAL FUNCTIONS
*  CEMT    CICS EXTENDED MASTER TERMINAL FUNCTIONS
*  AUTH    APPLICATION AUTHORIZATION FUNCTION
*  RBAL    DEMAND DEPOSIT ACCOUNT BALANCE INQUIRY
*  TBAL    TIME DEPOSIT ACCOUNT BALANCE INQUIRY
*  UPAY    ADMINISTRATIVE PAYROLL FILE UPDATE
*
   ;
    IF
      TRANCODE = :'CSMT' OR TRANCODE = :'CEMT' OR
      TRANCODE = :'AUTH' OR TRANCODE = :'RBAL' OR
      TRANCODE = :'TBAL' OR TRANCODE = :'UPAY'
    THEN TRANTYPE = 'C';
*
* THE FOLLOWING TRANSACTIONS WILL BE CLASSIFIED AS
* SHORT:
*
* TRANSID  APPLICATION
*  ----    ----------------------------------------
*  RINQ    DEMAND DEPOSIT ACCOUNT VERIFICATION
*  TINQ    TIME DEPOSIT ACCOUNT VERIFICATION
*  INQU    CUSTOMER NAME AND ADDRESS INQUIRY
*  HELP    NEW USER TUTORIAL
*  CS--    (ANY TRANSACTION BEGINNING WITH 'CS')
*
   ;
    ELSE IF
      TRANCODE = :'RINQ' OR TRANCODE = :'TINQ' OR
      TRANCODE = :'INQU' OR TRANCODE = :'HELP' OR
      TRANCODE = :'CS'
    THEN TRANTYPE = 'S';
*
* THE FOLLOWING TRANSACTIONS WILL BE CLASSIFIED AS
* MEDIUM:
*
* TRANSID  APPLICATION
*  ----    ----------------------------------------
*  PRIN    TERMINAL PRINT SPOOLER
*  EVAL    ARITHMETIC UTILITIES
*  MEDM    ANOTHER MEDIUM TRANSACTION
*  ACCT    ACCOUNT CROSS INDEX
*  APAY    ADMINISTRATIVE PAYROLL TRIAL REPORT
*  R---    (ANY TRANSACTION BEGINNING WITH 'R')
*  T---    (ANY TRANSACTION BEGINNING WITH 'T')
*
 ;
    ELSE IF
      TRANCODE = :'PRIN' OR TRANCODE = :'EVAL' OR
      TRANCODE = :'MEDM' OR TRANCODE = :'ACCT' OR
      TRANCODE = :'APAY' OR TRANCODE = :'R' OR
      TRANCODE = :'T'
    THEN TRANTYPE = 'M';
*
* ALL OTHER TRANSACTIONS WILL BE CLASSIFIED LONG.
*
  ;
    ELSE TRANTYPE = 'L';

The worksheet for coding modifications to the Relative
Longevity Code Derivation Routine is shown in Figure 7-7.  If
you modify the routine that is distributed with the
CA MICS CICS Analyzer, you must test the accuracy of the code
and data.

Note the construction of the above sample.  Such a cascade of
IF statements may not be efficient for large-volume
applications, but it was included here for illustration.

+--------------------------------------------------------------------------+ | INSTALLATION PREPARATION WORKSHEET: CICS Relative Longevity Routine | | Determination | | PARMS Library Member is CICRLRT | | Reference Section: 7.3.7, CA MICS CICS Analyzer Guide | +--------------------------------------------------------------------------+ | | | * VALIDATE FOR VALID SOURCE DATA, IF APPLICABLE: | | | | IF | | (condition c-1) _______________________________________________________ | | | | (condition c-2) _______________________________________________________ | | | | (condition . ) _______________________________________________________ | | | | (condition . ) _______________________________________________________ | | | | (condition c-n) _______________________________________________________ | | THEN TRANTYPE = 'C'; /* CONVERSATIONAL TYPE */ | | ELSE IF | | (condition s-1) _______________________________________________________ | | | | (condition s-2) _______________________________________________________ | | | | (condition . ) _______________________________________________________ | | | | (condition . ) _______________________________________________________ | | | | (condition s-n) _______________________________________________________ | | THEN TRANTYPE = 'S'; /* SHORT TYPE */ | | ELSE IF | | (condition m-1) _______________________________________________________ | | | | (condition m-2) _______________________________________________________ | | | | (condition . ) _______________________________________________________ | | | | (condition . ) _______________________________________________________ | | | | (condition m-n) _______________________________________________________ | | THEN TRANTYPE = 'M'; /* MEDIUM TYPE */ | | ELSE TRANTYPE = 'L'; /* LONG TYPE */ | | | +--------------------------------------------------------------------------+ | ....5...10...15...20...25...30...35...40...45...50...55...60...65...70.. | +--------------------------------------------------------------------------+



 Figure 7-7.  CICS Relative Longevity Routine Worksheet