Previous Topic: 10.3 Input Exits

Next Topic: 10.5 Incremental Update Considerations

10.4 Output Exits


This section provides an in-depth description of the CA MICS
Analyzer for CA-IDMS standard output processing exits that
are invoked during the DAILY update processing flow.

Each exit description includes the user exit name and title,
a description of its purpose, when it is invoked, and whether
it has an interface to CA MICS Accounting and Chargeback. It
also shows what data elements are available, any special
considerations to be aware of, and a sample user exit.



+---------------+
| U S R S S A C |  IDMS Application Unit Counts File Exit
+---------------+

DESCRIPTION:  This exit allows access to the data elements
used to build the records in the IDMS Application Unit Counts
File.

INVOCATION:  The exit gains control just prior to the writing
of output records to the IDMS Application Unit Counts File.

ACCOUNTING INTERFACE:  The CA MICS Accounting and Chargeback
interface follows the invocation of the user exit.  If you
decide to eliminate data, you may affect the content of the
IDMSAC file and the accounting information for your system by
loss of information about transactions executed.

USES:  This exit is used to add or change data elements, or
to delete observations from the IDMS Application Unit Counts
File.

ELEMENTS AVAILABLE:  All elements in the IDMS Application
Unit Counts File are available.

CODING RESTRICTIONS:  Refer to the System Modification Guide,
Section 4.3.2.2.

SPECIAL NOTES:

1. To implement this exit at the complex level, code it in
   sharedprefix.MICS.SOURCE(#IDMEXIT).

2. To implement this exit at the unit level, code it in
   prefix.MICS.USER.SOURCE(#IDMEXIT).

3. The USRSSAC user exit can now be employed at either the
   DAYS and/or DETAIL levels.  A new internal variable,
   TSFLAG, has been added to indicate the timespan level on
   which the exit is operating.

   USRSSAC Example:  MACRO _USRSSAC
                       IF TSFLAG="DAYS" THEN DO;
                         IF IDMSID NE "SYS1" THEN SKIP_REC=1;
                       END;
                       %

Note:  In this example, the SKIP_REC variable is used to
prevent output to the DAYS.IDMSAC file unless the System
Identification (IDMSID) value is equal to SYS1.  If this user
exit is invoked, a MICSLOG message will be seen with a count
of the number of observations skipped.



+---------------+
| U S R S S A U |  IDMS Application Unit Activity File Exit
+---------------+

DESCRIPTION:  This exit allows access to the data elements
used to build the records in the IDMS Application Unit
Activity File.

INVOCATION:  The exit gains control just prior to the writing
of output records to the IDMS Application Unit Activity File.

ACCOUNTING INTERFACE:  No interface to CA MICS Accounting and
Chargeback.

USES:  This exit is used to add or change data elements, or
to delete observations from the IDMS Application Unit
Activity File.

ELEMENTS AVAILABLE:  All elements in the IDMS Application
Unit Activity File are available.

CODING RESTRICTIONS:  Refer to the System Modification Guide,
Section 4.3.2.2.

SPECIAL NOTES:

1. To implement this exit at the complex level, code it in
   sharedprefix.MICS.SOURCE(#IDMEXIT).

2. To implement this exit at the unit level, code it in
   prefix.MICS.USER.SOURCE(#IDMEXIT).

3. The USRSSAU user exit can now be employed at either the
   DAYS and/or DETAIL levels.  A new internal variable,
   TSFLAG, has been added to indicate the timespan level on
   which the exit is operating.

   USRSSAU Example:  MACRO _USRSSAU
                       IF TSFLAG="DETAIL" THEN DO;
                         IF IDMSID NE "SYS1" THEN SKIP_REC=1;
                       END;
                       %

Note:  In this example, the SKIP_REC variable is used to
prevent output to the DETAIL.IDMSAU file unless the System
Identification (IDMSID) value is equal to SYS1.  If this user
exit is invoked, a MICSLOG message will be seen with a count
of the number of observations skipped.



+---------------+
| U S R S S I N |  IDMS System Incident File
+---------------+

DESCRIPTION:  This exit allows access to the data elements
used to build the records in the IDMS System Incident File.

INVOCATION:  The exit gains control just prior to the writing
of output records to the IDMS System Incident File.

ACCOUNTING INTERFACE:  No interface to CA MICS Accounting and
Chargeback.

USES:  This exit is used to add or change data elements, or
to delete observations from the IDMS System Incident File.

ELEMENTS AVAILABLE:  All elements in the IDMS System Incident
File are available.

CODING RESTRICTIONS:  Refer to the System Modification Guide,
Section 4.3.2.2.

SPECIAL NOTES:

1. To implement this exit at the complex level, code it in
   sharedprefix.MICS.SOURCE(#IDMEXIT).

2. To implement this exit at the unit level, code it in
   prefix.MICS.USER.SOURCE(#IDMEXIT).



+---------------+
| U S R S S S Y |  IDMS System Activity File
+---------------+

DESCRIPTION:  This exit allows access to the data elements
used to build the records in the IDMS System Activity File.

INVOCATION:  The exit gains control just prior to the writing
of output records to the IDMS System Activity File.

ACCOUNTING INTERFACE:  No interface to CA MICS Accounting and
Chargeback.

USES:  This exit is used to add or change data elements, or
to delete observations from the IDMS System Activity File.

ELEMENTS AVAILABLE:  All elements in the IDMS System Activity
File are available.

CODING RESTRICTIONS:  Refer to the System Modification Guide,
Section 4.3.2.2.

SPECIAL NOTES:

1. To implement this exit at the complex level, code it in
   sharedprefix.MICS.SOURCE(#IDMEXIT).

2. To implement this exit at the unit level, code it in
   prefix.MICS.USER.SOURCE(#IDMEXIT).

3. The USRSSSY user exit can now be employed at either the
   DAYS and/or DETAIL levels.  A new internal variable,
   TSFLAG, has been added to indicate the timespan level on
   which the exit is operating.

   USRSSSY Example:  MACRO _USRSSSY
                       IF TSFLAG="DETAIL" THEN DO;
                         IF IDMSID NE "SYS1" THEN SKIP_REC=1;
                       END;
                       %

Note:  In this example, the SKIP_REC variable is used to
prevent output to the DETAIL.IDMSSY file unless the System
Identification (IDMSID) value is equal to SYS1.  If this user
exit is invoked, a MICSLOG message will be seen with a count
of the number of observations skipped.



+---------------+
| U S R S S C L |  IDMS System Calendar File
+---------------+

DESCRIPTION:  This exit allows access to the data elements
used to build the records in the IDMS System Calendar File.

INVOCATION:  The exit gains control just prior to the writing
of output records to the IDMS System Calendar File.

ACCOUNTING INTERFACE:  No interface to CA MICS Accounting and
Chargeback.

USES:  This exit is used to add or change data elements, or
to delete observations from the IDMS System Calendar File.

ELEMENTS AVAILABLE:  All elements in the IDMS System Calendar
File are available.

CODING RESTRICTIONS:  Refer to the System Modification Guide,
Section 4.3.2.2.

SPECIAL NOTES:

1. To implement this exit at the complex level, code it in
   sharedprefix.MICS.SOURCE(#IDMEXIT).

2. To implement this exit at the unit level, code it in
   prefix.MICS.USER.SOURCE(#IDMEXIT).



+---------------+
| U S R S S U A |  IDMS User Activity File
+---------------+

DESCRIPTION:  This exit allows access to the data elements
used to build the records in the IDMS User Activity File.

INVOCATION:  The exit gains control just prior to the writing
of output records to the IDMS User Activity File.

ACCOUNTING INTERFACE:  The CA MICS Accounting and Chargeback
interface follows the invocation of the user exit.  If you
decide to eliminate data, you may affect the content of the
IDMSUA file and the accounting information for your system.

USES:  This exit is used to add or change data elements, or
to delete observations from the IDMS User Activity File.

ELEMENTS AVAILABLE:  All elements in the IDMS User Activity
File are available.

CODING RESTRICTIONS:  Refer to the System Modification Guide,
Section 4.3.2.2.

SPECIAL NOTES:

1. To implement this exit at the complex level, code it in
   sharedprefix.MICS.SOURCE(#IDMEXIT).

2. To implement this exit at the unit level, code it in
   prefix.MICS.USER.SOURCE(#IDMEXIT).

3. The USRSSUA user exit can now be employed at either the
   DAYS and/or DETAIL levels.  A new internal variable,
   TSFLAG, has been added to indicate the timespan level on
   which the exit is operating.

   USRSSUA Example:  MACRO _USRSSUA
                       IF TSFLAG="DETAIL" THEN DO;
                         IF IDMSID NE "SYS1" THEN SKIP_REC=1;
                       END;
                       %

Note:  In this example, the SKIP_REC variable is used to
prevent output to the DETAIL.IDMSUA file unless the System
Identification (IDMSID) value is equal to SYS1.  If this user
exit is invoked, a MICSLOG message will be seen with a count
of the number of observations skipped.



+---------------+
| U S R T f f f |  DETAIL Tape Data Selection Exit
+---------------+

DESCRIPTION:  The USRTfff exits provide access to DETAIL file
records prior to their output to DETAIL tape data sets.
Refer to Chapter 7 of this guide for information about DETAIL
tape processing and a list of eligible component files.

INVOCATION:  The USRTfff exit is invoked prior to output to
DETAIL tape files.

ACCOUNTING INTERFACE:  No interface is provided.

USES:  Use this exit to limit the amount of data that is
written to DETAIL tape files, or to modify the contents of
data elements written to DETAIL tape files.  Note that
USRTfff exit code only affects the DETAIL tape file content
for a particular file (fff). It has no impact on the normal
unit database content for the same file (fff).

ELEMENTS AVAILABLE:  All elements in the DETAIL timespan of
the file.

ACTIVATION:  The USRTfff exits are invoked using the indirect
exit convention described in section 4.3.1.2 of the System
Modification Guide.  Please refer to this section for a
detailed discussion of indirect exit coding.

All of the USRTfff indirect exits are activated in
sharedprefix.MICS.SOURCE(#cccEXIT).  In #cccEXIT, you will
find the following statement for each file (fff) eligible for
DETAIL tape:

    %LET USRTfff = ;

The exit is activated by providing a member name to the right
of the equal sign:

    %LET USRTfff = exitname ;

If you code an exitname, you MUST create a member in each
unit's prefix.MICS.USER.SOURCE library with that name.
Provide valid SAS code in the member.  This code will be
invoked prior to the output of records to the DETAIL tape
file.

Example:

   sharedprefix.MICS.SOURCE(#IDMEXIT):

     %LET USRTSAC = SACTEXIT ;

   prefix.MICS.USER.SOURCE(SACTEXIT):

     IF IDMSID NE 'SYS1' THEN SKIP_REC=1 ;

In this example, SACTEXIT was chosen as the name for the
DETAIL tape exit for the IDMSAC file.  Member SACTEXIT was
created in the unit level prefix.MICS.USER.SOURCE library for
each unit where DETAIL tape was activated for the IDMSAC
file.

The exit was coded to limit the records written to the DETAIL
tape file to those from a particular IDMS system, SYS1.

Note that the exit member name must be identical in each
unit's prefix.MICS.USER.SOURCE library, but the contents of
each member can be different (or identical) for each unit.

CODING RESTRICTIONS:  Ensure that you have activated DETAIL
tape processing for a file, and executed IDMPGEN prior to
activating and coding USRTfff exits.