Previous Topic: 7.2 Complex Level Parameters

Next Topic: 7.2.2 Account Code Specification Exits

7.2.1 Account Code Specification (ACCOUNT)


Account code data elements, a part of the file's sort and
summarization key, have names of the form ACCTNOx, where x
equals 1 through 9.  If you activate account code support,
the CA MICS Batch and Operations Analyzer uses these ACCTNOx
elements to associate file records with the responsible
individual or group.

The following CA MICS Batch and Operations Analyzer files
support account codes:

o   Batch User Job Activity File (BATJOB)
o   Batch User Job Suspend File (BAT_JS)
o   Batch User Program Activity File (BATPGM)
o   Batch Open Edition/MVS Program File (BAT_OE)
o   SMF User TSO Activity File (BAT_TS)
o   System Task Program Activity File (BAT_ST)
o   APPC/MVS TP Activity File (BAT_TP)
o   System Address Space Activity File (BAT_SA)
o   APPC/MVS Transaction File (BATATP)
o   Batch User Spool Activity File (BATSPL)

The parameters specified in the ACCOUNT member of the
sharedprefix.MICS.PARMS data set define the account field
structure.  The definitions specify the number of account
fields and the length of each ACCTNOx value in your Batch
information area files.  To assign values to the account
fields, you must code a job-level account code exit routine,
ACCTRTE.  You can, optionally, add code to perform step-level
and spool-level account code setting in the USRSPGM and
USRSSPL exit macros.  Job, step, and spool-level accounting
are discussed in Section 7.2.2.  The ACCTRTE member, and
optionally the USRSPGM and USRSSPL exits, are available to
set ACCTNOx values for all of the files specified above, with
the exception of the BATATP file.

The values for the ACCTNOx elements in the BATATP file are
assigned in the APPC account code exit routine, APPCRTE,
described in Section 7.2.3.

PREPARATION

Each installation has its own method for associating
processor activities with the projects, users, or departments
within the organization.  Often, written procedures explain
the method for identifying the organizational units and
completing a JOB card to associate the job with one of those
units.  Before defining the account codes, you should
investigate your installation's accounting standards in order
to:

o  Identify the coding system (for example, your cost center
   coding system for identifying the division, department,
   project, business function, and employee).

o  Identify how the codes are specified.  For example, the
   division may be determined by part of the user ID, job
   name, or accounting field.

o  Identify how the codes are validated.  Such validation may
   be implemented at any time through the use of
   reader/interpreter SMF exits (IEFUJI or IEFUJV).  This
   approach validates the job's account codes and flushes the
   job if the codes are invalid.

   If no account code validation is performed, it is
   especially important that your account code exit check for
   valid account codes and assign jobs with invalid ones to
   an overhead account (see the description of
   sharedprefix.MICS.PARMS(ACCTRTE in Section 7.2.2 for more
   details).  This approach provides two benefits:  it
   filters out invalid codes from inclusion in the database,
   consequently requiring less DASD space for storing the
   data.  It also tracks the amount of unidentifiable
   activity for further examination.

Consider the following when determining the number of account
code fields required to meet your installation's reporting
and analysis needs:

o  Account code fields are part of the file keys for the
   files that support them.  As such, at least one record is
   generated for each combination of values.  (More than one
   record may be generated, because other fields also make up
   the file keys.) A greater number of account code fields
   means that the database will be larger than if fewer
   account code fields are defined, but reporting and
   analysis can be performed in greater detail.

o  A best practice is to anticipate the need to expand the
   account code structure in the future. Establish all nine
   account code now to eliminate the need to retrofit the
   database later if and when you activate additional codes.

CODING THE ACCOUNT CODE PARAMETER

The format of the statements is:

    level (mask) length description

where:

level =      the sort sequence designation of the account
             code.  Up to nine levels may be specified.
             Level 1 is the highest level and level 9 is the
             lowest in sort order.

(mask) =     an option for deactivating account code levels
             in the DAYS, WEEKS, MONTHS, and YEARS
             timespans.  For example, the DETAIL timespan
             may use account code levels 1, 2, and 3, while
             the MONTHS timespan may use only level 1.
             Setting account code levels by timespan is
             accomplished by specifying this additional
             parameter on the account code statements, using
             values Y or N to specify whether or not the
             account code is active.

length =     the field length of the specified element.
             Valid lengths range from 1 to 30.

description= the title that describes the account code
             level.  Valid descriptions range from 1 to 40
             characters.

Use the worksheet in Figure 7-1 to collect the information
for coding into sharedprefix.MICS.PARMS(ACCOUNT).  Observe
the following conventions when coding:

o  Blank statements are permitted.  Comments are coded by
   beginning the statement with an asterisk (*).

o  Account code levels must be specified in ascending
   order, starting with 1.  You can specify up to nine
   account levels, with no gaps between the numbers.

o  The statements are free-form but positional.


ADDITIONAL NOTES ON SPECIFYING THE timespan MASK OPTION

The timespan mask option is used to deactivate the account
code in specified timespans.   Specifying a timespan mask
requires coding the account code statement using the time
span mask parameter T(......), as follows:

    level  T(......)  length  'descriptive title'

This example shows the placement and syntax of the timespan
mask on the account code statement.  Each "." position in the
T field represents a timespan, in the following order:
DETAIL, DAYS, WEEKS, MONTHS, YEARS, and TABLES.  For each
timespan, a Y indicates that the account level should be
active and an N indicates that the account level should be
inactive.

This parameter is optional.  If it is not coded, the assumed
value is T(YYYYYY).


EXAMPLE

The sample ACCOUNT member is distributed to contain:

* SAMPLE ACCOUNT CODE SPECIFICATION

     1  3 'DIVISION'
     2  5 'PROJECT'
     3  8 'USER'
     4  1 'UNUSED ACCTNO4'
     5  1 'UNUSED ACCTNO5'
     6  1 'UNUSED ACCTNO6'
     7  1 'UNUSED ACCTNO7'
     8  1 'UNUSED ACCTNO8'
     9  1 'UNUSED ACCTNO9'

This sample uses only three account codes:  one for division,
one for project, the other for user.  Each active account
code is ten bytes long.  The other six account codes are
defined with a length of one byte to support future expansion
without requiring a database retrofit.


+--------------------------------------------------------------------------+ | INSTALLATION PREPARATION WORKSHEET: Batch Account Code Specification | | | | PARMS Library Member is ACCOUNT | | Reference: Section 7.2.1, CA MICS Batch and Operations Analyzer Guide | +--------------------------------------------------------------------------+ | | | ACCOUNT TIME SPAN FIELD | | CODE LEVEL MASK- LENGTH DESCRIPTION | | (1-9) optional | | | | _ T(______) ___ '________________________________________' | | | | _ T(______) ___ '________________________________________' | | | | _ T(______) ___ '________________________________________' | | | | _ T(______) ___ '________________________________________' | | | | _ T(______) ___ '________________________________________' | | | | _ T(______) ___ '________________________________________' | | | | _ T(______) ___ '________________________________________' | | | | _ T(______) ___ '________________________________________' | | | | _ T(______) ___ '________________________________________' | | | | | | | | | | | +--------------------------------------------------------------------------+ | ....5...10...15...20...25...30...35...40...45...50...55...60...65...70.. | +--------------------------------------------------------------------------+


 Figure 7-1.  Batch Account Code Specification Worksheet