7. DEFINING PARAMETERS › 7.2 Complex Level Parameters › 7.2.3 Code the VAX/VMS Account Code Exit (DEXACRT)
7.2.3 Code the VAX/VMS Account Code Exit (DEXACRT)
The account code derivation routine is a user-written routine
located in sharedprefix.MICS.PARMS(DEXACRT). It is invoked
for each account record processed. This routine builds the
account code data elements for the VAX/VMS Accounting
Information Area files listed in section 7.2.2. For example,
if the DEXACCT member in the sharedprefix.MICS.PARMS library
defines four account code levels, this user routine has the
responsibility of building the data value of those four
fields for each observation processed.
The account code routine is written in the SAS language. The
testing and accuracy of the process is the user's
responsibility; however, the CA MICS VAX/VMS Analyzer
provides a sample account code exit routine to help verify
the accuracy of the user modifications to the routine. The
worksheet for structuring the VAX/VMS account code derivation
routine is shown in Figure 7-2.
The objective of the account code derivation process is to
build the data elements DEXACT1 to DEXACT9 (as many as have
been defined in DEXACCT) from the account detail data.
To limit retention of a DEXACTn element at a particular
time-span, the sharedprefix.MICS.PARMS(DEXACCT) member must
define that account code with the TIMESPAN mask, T(xxxxx).
This is described in the CA MICS PIOM Guide, Section 2.3.1.7.
A sample DEXACRT member is illustrated below:
/* DEXACRT - DEX ACCOUNT CODE EXIT ROUTINE
THIS ROUTINE IS A USER CODED ROUTINE TO BUILD
THE ACCOUNT FIELDS DEFINED BY THE 'DEXACCT'
MEMBER IN MICS.PARMS. THIS ROUTINE MUST CORRECTLY
BUILD EACH OF THE DEFINED 'DEXACT' CODES FROM
1 TO N.
THIS ROUTINE MUST BE CODED ACCORDING TO THE
FOLLOWING RULES:
1. PRIMARY DATA ELEMENTS AVAILABLE FOR
THIS ROUTINE INCLUDE:
DEXPID - EXT. PROCESS ID DEXTERM - TERMINAL
DEXOWNID - OWNER ID DEXJOB - JOBNAME
DEXGRP - UIC GROUP CODE DEXJOBID - JOB ID
DEXMBR - UIC MEMBER CODE DEXQUEUE - QUEUE
DEXPRIV1 - PRIVILEGE 1 TYPE - RECORD TYPE
DEXPRIV2 - PRIVILEGE 2 PRXTYPE - PRCTYPE,IMGTYPE
DEXUSER - USERNAME
DEXACCNT - ACCOUNT
DEXNODE - NODE NAME OF REMOTE PROCESS
THESE ELEMENTS ARE AVAILABLE FROM THE IDENTIFICATION
PACKET OF EACH ACCOUNTING RECORD TYPE.
******************************************************* */
/* *******************************************************
SAMPLE ACCOUNT CODE DERIVATION EXIT
******************************************************* */
IF DEXACCNT NE ' ' THEN DO;
DEXACT1 = SUBSTR(DEXACCNT,1,3);
DEXACT2 = PUT(DEXGRP,6.);
DEXACT3 = DEXUSER;
END;
ELSE DO;
/* DEFAULT ACCOUNT CODES*/
DEXACT1 = 'OVHD';
DEXACT2 = '***';
DEXACT3 = '***';
END;
/* END OF ROUTINE */
+--------------------------------------------------------------------------+
| INSTALLATION PREPARATION WORKSHEET: VAX/VMS Account Code Routine Defined |
| |
| PARMS Library Member is DEXACRT |
| Reference Sections: 7.2.3 |
+--------------------------------------------------------------------------+
| |
| * VALIDATE FOR VALID ACCOUNT CODES, WHERE POSSIBLE ; |
| |
| IF { account data is valid } THEN DO; |
| |
| * BUILD ACCOUNT CODE FIELDS AS IN THE WORKSHEET 7-1 |
| |
| DEXACT1=field source 1 ; |
| ... |
| ... |
| ... |
| DEXACTn=field source n ; |
| ____________________________________________________________________ |
| ____________________________________________________________________ |
| ____________________________________________________________________ |
| ____________________________________________________________________ |
| ____________________________________________________________________ |
| |
| END; |
| ELSE DO; |
| |
| * ROUTINE TO BUILD INSTALLATION OVERHEAD ACCOUNT CODES ; |
| |
| DEXACT1='overhead category' ; |
| ... |
| ... |
| ... |
| DEXACTn='overhead category' ; |
| ____________________________________________________________________ |
| ____________________________________________________________________ |
| ____________________________________________________________________ |
| ____________________________________________________________________ |
| |
| END; |
| |
+--------------------------------------------------------------------------+
| ....5...10...15...20...25...30...35...40...45...50...55...60...65...70.. |
+--------------------------------------------------------------------------+