Previous Topic: 2.3.1.6.7 JCLGEN Parameter Sharing

Next Topic: 2.3.1.8 Complex Option Definition (CPLXDEF)

2.3.1.7 Database Complex Account Code Parameters


Some CA MICS products have account code fields as part of the
key by which their files are organized.  This section
describes how to define an account code structure (typically
cccACCT) and derive account code values (typically cccACRT).
As complex-level parameters, these definitions hold for every
unit database in the database complex.  Specifics about
account codes for data integration applications are
documented in each data integration guide.

When defining the account code structure, it is important for
the CA MICS System Administrator to understand the
installation's accounting conventions.  If these conventions
are not well documented, consider spending time to document
the system in use.

Note:  If you are unfamiliar with CA MICS file keys and
       summarization, you might want to review Section
       2.3.2.1 before continuing.

DEFINING AN ACCOUNT CODE STRUCTURE TO CA MICS (cccACCT)

Once you have documented the accounting structure in use, you
must decide how you want it expressed in the CA MICS
Database.  You must settle on the number of account code
fields (CA MICS supports from 1 to 9) and what will be placed
in each.  Because the account code fields are part of the key
for each file in which they exist, there will be at least one
record for each unique combination of values (and perhaps
more than one because there are other fields in the keys).
The trade-off you must make is between keeping a fine level
of detail via the account code fields and therefore having a
large database, and keeping a small level of detail and
perhaps not meeting your reporting or analysis requirements.

Once you have completed the account code worksheets in
the data integration guides, code the contents of the account
code structure parameters as follows:

    o Statement format:

      level length 'descriptive title'
      or
      level mask length 'descriptive title'

    o Code a separate statement for each account code field.

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

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

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

    o The format of a statement is free-form but positional,
      meaning that the keywords on the statement must appear
      in the order shown but are not restricted to being
      keyed in specific columns.  All keywords except mask
      are required.

The meaning of each keyword on the account code statement
is:

    o level - the account level

      The level of importance of each element.  Level 1 is
      the most important (major field) and the highest level
      number is the least important (minor field).  From 1 to
      9 levels can be specified.  An account code data
      element will eventually be built for each account code
      level that is defined.  For instance, if the batch
      accounting structure has five levels, then the Batch
      information area files in the CA MICS Database would
      have the following data elements:

        ACCTNO1 ACCTNO2 ACCTNO3 ACCTNO4 ACCTNO5

      CA MICS keeps all files in which these variables appear
      sorted with ACCTNO1 being the highest key and ACCTNO9
      the lowest.

    o length - the field length

      The length of the specified element.  The length can
      range from 1 to 30.  Make the field long enough to hold
      meaningful values, but remember that the account
      field(s) appear in every database record for the
      associated product's file(s).  Thus, the length of
      account fields can impact total database size.

    o 'descriptive title'

      The title describing the account code field.  The
      length of the title is limited to 40 characters; it
      must be enclosed in single quote marks.

    o mask -  the optional timespan mask

      Account code levels can be deactivated in the DAYS,
      WEEKS, MONTHS, and YEARS timespans.  For example, the
      Detail timespan can have account code levels 1, 2, and
      3 while the Months timespan has only level 1.  This
      capability is a powerful tool for ensuring adequate
      data granularity while controlling database size.  You
      can define account codes to carry very detailed
      identification information at the DETAIL and DAYS
      timespans, while dropping account codes of lesser value
      in MONTHS-level summary data.

      Setting account code levels by timespan is accomplished
      by specifying the timespan mask keyword T(......), as
      follows:

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

      where each "." position in the timespan mask keyword
      represents a timespan in the 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.

      If this keyword is not coded, the assumed value is
      T(YYYYYY) for each level.

      If you code this keyword, the following rules apply:

      o Detail must always be "Y".  Account codes cannot be
        deactivated in this timespan.

      o If Days is "N", then WEEKS, MONTHS, and YEARS must
        also be "N".  If the account code level 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 level is inactive in the Months
        timespan, it cannot be active in the Years
        timespan.

DEFINING ACCOUNT CODE DERIVATIONS TO CA MICS (cccACRT)

To assign values to the account code fields, you must define
a corresponding account code derivation exit.  Account code
derivation exits are written in SAS language and are stored
in the sharedprefix.MICS.PARMS library in members named
cccACRT.

Exit code is included directly into the processing of the
CA MICS update jobs, so it is very important that such
routines be coded correctly.  Testing and maintaining the
accuracy of these routines is your responsibility.

Refer to the data integration guides for examples of cccACRT
exits.