Previous Topic: 7.2.1 DB2GENIN Customization

Next Topic: 7.2.2.1 Add or Modify DB2 Account Structure

7.2.2 Account Code Structure (DB2ACCT)


In CA MICS, data about DB2 activity is stored by account
codes in the DB2 User Activity (DB2DSU) and DB2 User DDF
Activity (DB2DDU) files.

The parameters you specify in
sharedprefix.MICS.PARMS(DB2ACCT) define the number of account
code fields that will be carried in these files, the length
of each field, and the SAS long names that are associated
with each field.  Once the fields are defined, you provide a
routine that assigns them values (see Section 7.2.3).


Preparing to Define Account Codes
---------------------------------

Each data center has its own method for associating its DB2
work with the responsible users, projects, or departments.
Before defining account codes, it is important that you
investigate your data center's accounting standards to do the
following:

o Identify the current organizational coding system (for
  example, a cost center coding system identifying the
  division, department, project, and employee) and determine
  how the account codes are specified.

o Identify the naming conventions for physical and logical
  entities such as database name, tablespace name, user ID
  name, and connected subsystem ID.

o Identify if, and how, the codes are verified to ensure that
  they correspond to valid definitions. You should always
  validate account codes and assign unidentified or invalid
  account codes to a special data center overhead account
  code. This approach provides you with two benefits:

  - It groups all invalid codes under the same category and
    therefore requires less DASD space.

  - It enables you to easily determine how much of this
    overhead activity is taking place.

Consider the following suggestions in determining the number
of account codes required to meet your data center's
reporting and analysis needs:

o Account codes are part of the summarization keys for the
  files that support them. As such, at least one record is
  generated for each combination of values. Therefore, the
  higher the number of account codes, the more DASD space the
  database will require. But, at the same time, a higher
  number of account codes also supports data analysis at a
  greater level of detail.

o If you anticipate needing to expand the account code
  structure in the future, establish an extra account code
  now to eliminate the need to retrofit the database later to
  add the new account code.


Defining Account Codes
----------------------

Account code field names are in the form DB2ACTx, where
x is the sequential number of the account code field.  If
three fields are defined, they will be DB2ACT1, DB2ACT2, and
DB2ACT3.  In your accounting structure, these might identify
the authorization ID, correlation ID, and connection method.

The sequential number is called the account code field
"level" number.  You can have a maximum of nine levels.  A
sample account code structure is provided in
sharedprefix.MICS.PARMS(DB2ACCT).

Figure 7-1 provides a worksheet for collecting the data.  The
worksheet should be filled in as follows:

o Code a separate statement for each account code level.

o Blank statements are permitted.  Comments are coded by
  beginning the statement with an '*'.

o Account levels are provided in order, starting with 1.

o Up to nine levels are permitted. No gaps are permitted
  between the numbers.

o The statement format is freeform but positional.  The
  statement format is either:

  level  length  'descriptive title'

  or

  level  (optional)mask  length 'descriptive title'

where:

level =      The level of importance of each account code,
             with level 1 being the most important and the
             highest level number being the least important.
             The levels are defined sequentially starting
             with 1.  You can define up to nine levels.  This
             parameter is required.

mask =       An optional parameter that deactivates account
             codes in specified timespans.   Specifying a
             timespan mask requires coding T(......) as the
             second parameter in a statement, where each .
             represents a file timespan, in the order of
             DETAIL, DAYS, WEEKS, MONTHS, YEARS, and TABLES.
             For each timespan, specify a Y to indicate that
             the account code is active or an N to indicate
             that it is inactive.

             If you do not code the mask, it has a default
             value of T(YYYYYY).

             The following rules apply if you code the mask:

             o DETAIL must always be Y.  Account codes may
               not be deactivated in this timespan.

             o If DAYS is N, then WEEKS, MONTHS, and YEARS
               must also be N.  If the account code is
               inactive in the DAYS timespan, it cannot be
               active in higher timespans.

             o If MONTHS is N, then YEARS must be N.  If the
               account code is inactive in the MONTHS
               timespan, it cannot be active in the YEARS
               timespan.

length =     The length of the account code.  The length may
             range from 1 to 30.  This parameter is required.

descriptive  The title that describes the account code.  The
title =      length of the title is 1 to 40 characters.  The
             title is embedded in quotes (').  This is a
             required parameter.

A sample DB2ACCT member with four levels is illustrated
below:

1  T(YYYYYY)   8 'AUTHORIZATION ID'
2  T(YYYYYY)  12 'CORRELATION ID'
3  T(YYYYYY)   8 'CONNECTION ID'
4  T(YYYYYY)   4 'DISTRIBUTED THREAD TYPE


+--------------------------------------------------------------------------+
| INSTALLATION PREPARATION WORKSHEET:  DB2  Account Code Level Definition  |
|                                                                          |
| PARMS Library Member is DB2ACCT                                          |
+--------------------------------------------------------------------------+
|  ACCOUNT   (Optional)                                                    |
| CODE LEVEL timespan   FIELD                                              |
|   (1-9)      MASK     LENGTH          ACCOUNT CODE LEVEL TITLE           |
|                                                                          |
|     _      T(______)    __     '________________________________________'|
|                                                                          |
|     _      T(______)    __     '________________________________________'|
|                                                                          |
|     _      T(______)    __     '________________________________________'|
|                                                                          |
|     _      T(______)    __     '________________________________________'|
|                                                                          |
|     _      T(______)    __     '________________________________________'|
|                                                                          |
|     _      T(______)    __     '________________________________________'|
|                                                                          |
|     _      T(______)    __     '________________________________________'|
|                                                                          |
|     _      T(______)    __     '________________________________________'|
|                                                                          |
|     _      T(______)    __     '________________________________________'|
|                                                                          |
+--------------------------------------------------------------------------+

 Figure 7-1.  DB2 Account Code Level Definition Worksheet