There are no default usage exits.
All input to the usage exit is read-only except for:
- In UPRM area
- UPRMUD
The usage exit can store it own data in this field.
Typically, the address of an exit-specific work area is stored in
this field during exit initialization.
- UPRMIVER
This field returns the version level of the currently
executing copy of IFAURP. If the exit has a dependency on the capabilities
supported by a specific IFAURP version, release or modification level,
the exit can verify whether or not those capabilities are present
by checking all of these level related fields. To facilitate dealing
with downleveled copies of IFAURP, the exit can update these same
fields with the earliest version.release.mod level of IFAURP the exit
requires. If the current executing level of IFAURP is less than the
level the exit requires, IFAURP will issue message IFA345E and take
the actions described by this error message.
- UPRMIREL
This field returns the release level of the currently
executing copy of IFAURP. See UPRMIVER for additional information.
- UPRMIMOD
This field returns the modification level of the
currently executing copy of IFAURP. See UPRMIVER for additional information.
- UPRMDFCD
This field contains the code indicating which SMF
type 89 usage fields that IFAURP is to process. The default value
is 3. The exit must update this code if it wants IFAURP to process
a different field or combination of fields.
- Value
- Description
- .... ...1
- SMF89UCT (TCB) converted to SUs
- .... ..1.
- SMF89USR (SRB) converted to SUs
- .... .1..
- SMF89URD (resource units)
Note: IFAURP uses SMF89URT
to determine how to process the contents of this field when chosen
by the exit.
Supported values are X'01' through X'04'.
IFAURP will issue an error message and disable any exit returning
an unsupported value in this field.
- UPRMDSCD
This field contains the scale to be used to report
the usage values on the Software Usage Report. Supported values are
X‘6’ and X‘9’. A scale of X‘6’ prints the value 123,000 as ‘.123’.
The exit must update this field if it wants its usage units reported
in a power of ten different than the default value of 6. IFAURP will
issue an error message and disable any exit returning an unsupported
value in this field.
- UPRMFNOT
This field points to a pair of footnote related
fields. The contents of these fields must be updated by the exit,
if the exit wishes to provide its own footnote for the usage values
for the product (specific SMF89UPO/SMF89UPN/SMF89UPQ combination)
currently being pointed to by UPRMREC. The structure of the fields
are as follows:
Only footnote length values of 1 to 124 are supported.
IFAURP will issue an error message and disable any exit returning
an unsupported value in the length field.
- UPRMMETR
This field points to a pair of metric-related fields.
The exit must update the contents of these fields, if it wants to
provide its own metric instead of using "service units" to reflect
the usage reported on the Software Statistics Report. This metric
text being passed should not include a scaling factor, because the
Software Statistics Report already provides its own scale (such as
using "bytes" instead of "gigabytes"). The structure of
the fields are as follows:
Only metric length values of 1 to 24 are supported. IFAURP
will issue an error message and disable any exit returning an unsupported
value in the length field.
- UVCCEXTL
This field contains the Exit Level Identifier,
8 bytes of printable information that describes the code level of
the usage exit (for example, IMSXV100 for IMS™ Exit
Version 1.0.0). This value should be set on the initialization call
to the usage exit. The value appears in the Usage Report.
- UPRMFLG1
This field contains flag bit UPRM89SU. Set this
bit to 1 during exit initialization to request that type 89 subtype
2 records be passed to the exit routine.
- In SMF Type 89 record (pointed to by UPRMREC)
All fields
in the usage data section except for SMF89UPO (product owner).
If a vendor provides a usage exit, the following programming standards
must be observed:
- The exit must follow standard linkage conventions
- The exit must be serially reusable.