After you have defined CICACCT for the number of account
codes to be carried in the CICS files, your next step is to
code the CICS Account Code Derivation Exit (CICACRT) in
sharedprefix.MICS.PARMS to create the SAS routine that will
derive the account code data elements during the DAY040 step.
For example, if you have defined four account codes in
CICACCT, then the CICACRT exit must contain SAS code to
derive the data elements CICACT1, CICACT2, CICACT3, and
CICACT4 for each transaction record processed.
You are responsible for testing the accuracy of the exit
routine; however, the CA MICS Analyzer Option for CICS
provides a sample exit routine to help validate the
modifications that you make to the routine. The worksheet
for coding the CICACRT exit is shown in Figure 7-2.
The CICACRT exit is invoked after each transaction record
from CMF or ASG-TMON for CICS TS (TCE) has been read by the
CA MICS Analyzer Option for CICS. As a result, you can access
any CA MICS data element that is created during the input
processing step. This includes any data fields that are read
from the records, but are not retained as data elements in
the CA MICS database.
The member CICDEPEL in sharedprefix.MICS.SOURCE contains SAS
variable names for each data field input from CMF and
ASG-TMON for CICS TS (TCE) records. You can browse this
member to determine the variables you need for coding the
CICACRT Exit. As an option, you can also browse member
CICGENIN in sharedprefix.MICS.GENLIB. All data elements that
are active for the transaction work file CICCSW are available
for use with the CICACRT Exit.
The following CA MICS data elements or temporary SAS
variables are most often used to derive the account code
values:
TRANCODE - The CICS transaction ID
TERMINAL - CICS terminal identifier
USERID - The CICS RACF user identification
TRANTYPE - C, S, M, or L for conversational, short,
medium, or long transaction types
OPERID - CICS operator identification from the CICS Signon
Table (only applicable to releases prior to
CICS)
SYNTAX
The CICACRT exit may contain any valid SAS statements for a
DATA step except RETURN and DELETE. Coding either of these
two statements may cause unpredictable results in DAY040
processing, since the input processing is performed within a
loop, and control is not returned to the beginning of the SAS
DATA step for each record input.
Examples:
The default CICACCT describes a data center with three
account codes that are derived as described below:
o CICACT1 is the first two characters of the transaction ID.
o CICACT2 is the full four-character transaction ID.
Because the default CICAPU contains the transaction ID,
the account code structure described here is the same as
setting CICACT2 to CICAPU.
o CICACT3 is the eight-character user ID.
Furthermore, if the transaction ID is either blank or begins
with the letter C, the transaction is accounted for in the
data center's overhead account.
The default CICACRT exit contains the following SAS code:
/* CICS ACCOUNT CODE DERIVATION EXIT */
/* */
/* ACCOUNT CODE 1 REPRESENTS COST CENTER WHICH IS DERIVED */
/* FROM THE FIRST TWO POSITIONS OF CICS TRANSACTION ID. */
/* */
/* ACCOUNT CODE 2 REPRESENTS CICS TRANSACTION ID. */
/* */
/* ACCOUNT CODE 3 REPRESENTS CICS USER ID. */
IF TRANCODE NE :'C' AND TRANCODE NE : ' ' THEN
CICACT1=SUBSTR(TRANCODE,1,2);
ELSE CICACT1='OVHD';
CICACT2=TRANCODE;
CICACT3=USERID;
The following CICACRT might be used by a data center choosing
to report on activity by the terminal used to access the
system:
CICACT1=SUBSTR(TRANCODE,1,2);
CICACT2=TRANCODE;
IF TERMINAL NE : ' ' THEN
CICACT3=TERMINAL
ELSE CICACT3='OVHD';
+--------------------------------------------------------------------------+ | INSTALLATION PREPARATION WORKSHEET: CICS Account Code Routine | | Definition | | PARMS Library Member is CICACRT | | Reference Section: 7.2.3, CA MICS Analyzer Option for CICS Guide | +--------------------------------------------------------------------------+ | | | * VALIDATE FOR VALID ACCOUNT CODES, WHERE POSSIBLE ; | | IF account data is not valid GOTO ACCTOVHD ; | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | * BUILD ACCOUNT CODE FIELDS | | CICACT1=field source 1 ; | | CICACTn=field source n ; | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | GOTO ACCTRTEX ; | | * LINKED ROUTINE TO BUILD INSTALLATION OVERHEAD ACCOUNT CODES ; | | ACCTOVHD: | | CICACT1='overhead category' ; | | CICACTn='overhead category' ; | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | | | ________________________________________________________________________ | | ACCTRTEX: | | | +--------------------------------------------------------------------------+ | ....5...10...15...20...25...30...35...40...45...50...55...60...65...70.. | +--------------------------------------------------------------------------+
Figure 7-2. CICS Account Code Derivation Exit Worksheet
| Copyright © 2012 CA. All rights reserved. | Tell Technical Publications how we can improve this information |