Previous Topic: 1.2.3 Special Data Structure

Next Topic: 1.3 Data Content

1.2.4 Derived Data Element Support


The Derived Data Element Option allows users to reduce
the auxiliary storage used for database storage by
eliminating derived data elements from DASD, and enabling
convenient recreation of the derived data element values.

The derived data element option is activated by the
sharedprefix.MICS.PARMS(CPLXDEF) parameter member.  This
member specifies the option as DISK or COMP.  If the option
is set to DISK, all files of all components will have derived
data elements stored on DASD storage.

If the option is set to COMP, derived data elements will
not be stored on DASD.  These elements must be computed for
each inquiry.  This calculation consists of referencing a
CA MICS autocall macro, CALLDRV, once per file retrieval from
the CA MICS Database.

If you use the COMP option value and you wish to use
derived data elements, you must request the calculation of
these elements in your retrieval programs.  Derived data
elements are listed in an individual category in the data
element detail lists in Chapter 5, "Files", of each of the
product guides.  The category name is "derived data
elements."

To request derived element calculations in your programs,
add a CALLDRV macro reference to the main data statements of
your programs that use derived data elements.  This macro
will expand into SAS code that reconstructs derived data
element values ONLY IF the derived elements are not on DASD.
If the elements ARE on DASD, no code is expanded and no
overhead incurred.

The CALLDRV macro reference must be coded in the form:

   %CALLDRV(FFF=fff,CCC=ccc);

where "fff" is the file ID being input, and "ccc" is the ID
of the component to which the file belongs.

For example, assume a program uses the derived element
JOBPCSMS, the percent of jobs whose turnaround target
objectives were not met.  The program may resemble this:

  DATA X;
  SET &PBATM..BATJOB01;
  IF JOBPCSMS GT 25 THEN OUTPUT;
  ...

To include the CALLDRV reference, code:

  DATA X;
  SET &PBATM..BATJOB01;
  %CALLDRV(FFF=JOB,CCC=SMF);     <-------   new line
  IF JOBPCSMS GT 25 THEN OUTPUT;
  ...