Previous Topic: 5.1.6.1 VTOC DSCB Exit (VCCUEXIT)

Next Topic: 5.1.6.3 File Systems User exit (VCCUSERX)

5.1.6.2 DFHSM User Exit (VCCUHSMX)


The VCC DFHSM interface provides an exit point when module
ARCUTIL passes information to VCC but before VCC writes its
output record for DFHSM data.  The user exit can add site
dependent data to the output record and/or decide if the
record should be written. Module VCCXHSM will expect a return
code to be placed in register 15 by the user exit upon
return.

An example of the VCCUHSMX is provided in the library
sharedprefix.MICS.ASM as member VCCUHSMX. The source provided
is in Assembler Language. You may copy VCCUHSMX, modify it to
meet your specifications, assemble and link edit the object
deck as VCCUHSMX.

NOTE:  Saving the source code for your modified version of
VCCUHSMX into sharedprefix.MICS.ASM as VCCUHSMX is not
recommended as this member may be updated or replaced by
future maintenance, thus removing your modifications.  If you
have made modifications to the source code, copy your updated
member to sharedprefix.LOCALMOD.CNTL and document it.

In the sample code we distribute, VCCUHSMX notifies VCC not
to write migrate records for data sets in ML2, and adds a
user segment containing site dependent data to the output
record.

For more details regarding linkage conventions, work areas,
and general purpose register usage, see the sample source
member provided in sharedprefix.MICS.ASM(VCCUHSMX).

Use fields SBASUSRS (user segment offset), SBASUSRL (user
segment length), and SBASUSR# (number of user segments) as
the reference points for the user segment.  You must place
the user segment at the end of the VCC record, and update the
VCC record RDW (SBASRDW) with the user segment length that is
being added to the value that is already in SBASRDW.  Make
sure that fields SBASUSRS, SBASUSRL, and SBASUSR# are set
properly when adding a user segment as invalid results may
cause VCC and/or VCA to fail.  Do not update the VCCRCORD
macro to reflect the user segment field definition layout;
rather, create your own DSECT in the VCCUHSMX module.  This
ensures that any maintenance to VCC will not conflict with
the user segment definition.  For more information regarding
the VCC record layout, see section 5.2.

Note the following:

    o  Certain fields in the base segment are not available
       to the user exit because they are filled in by the
       common VCCWRITR module.  Therefore, do not attempt to
       modify the following fields:

         SBASTYPE, SBASTIME, SBASDATE, SBASYSID, SBASLEN,
         SBASPSTR, SBASVID, SBASVERS.

    o  The VCC VTOC Collector loads module VCCUHSMX and
       passes control to it for this exit point. If use of
       this exit point is not needed, make sure that there is
       no module within the load library with the name
       VCCUHSMX.