ADARUN Parameter DSFEX1

The ADARUN parameter DSFEX1 names the delta save user exit that reads the job stream from a data set specified in the nucleus JCL. The user exit is loaded if the ADARUN parameter DSF=YES is specified for an Adabas nucleus run. For more information about ADARUN parameters, see the Adabas Operations documentation.

Parameter Use Default
DSFEX1=exit-name Specifies name of the delta save user exit none

This parameter is only valid if the Delta Save Facility is installed on your system. If Delta Save is not installed in the system, specifying this parameter may cause an error.


Automatic Delta Save Job Submission

An overflow of the Delta Save logging (DLOG) area makes a full save operation necessary outside the normal schedule. Although the Delta Save Facility prints warning messages to the operator console as the DLOG area fills, these are easily overlooked as they scroll over the console screen buried among unreleated messages from other jobs. Even if such messages were highlighted or fixed on the operator screen, it would still be necessary for the operator to discover the messages and react properly by submitting an online SAVE DELTA job before the DLOG area is completely filled.

The Delta Save Facility instead provides a user exit named in the ADARUN DSFEX1 parameter that automatically submits the necessary job when the DLOG reaches a user-defined threshold percentage (1-99) of the total area size. No operator intervention is required. The job resets the DLOG area to start another cycle.

Activating the Sample User Exit

Adabas provides a sample user exit called DSFUEX1. This section describes how to activate it in each operating environment.

Warning:
DSFUEX1 is a sample user program and is not supported under any maintenance contract agreement.

z/OS

The sample user exit is delivered on z/OS as source and as a load module that can be used without change or reassembly.

The source form of the user exit DSFUEX1 is delivered in the Adabas source library. The job to assemble the user exit, ASMDUEX1, is located in the Adabas jobs library. The jobs library also contains a sample (DSFUJOB) of the job submitted by DSFUEX1 that

  • runs an online delta save;

  • switches the PLOG with FEOFPL causing the PLOG containing the SYN2 checkpoint to be copied to the DSIM data set using user exit 2 (dual logging) or 12 (multiple logging); and

  • merges the actual online delta save with the most recently created delta save to produce a new consolidated delta save.

On successful completion of DSFUJOB, the DLOG area is reset and the DSIM data set is set to a status `unused'. The next delta save job can then be submitted normally.

Start of instruction setActivate the sample user exit as follows:

  1. In addition to ADARUN DSF=YES, specify ADARUN DSFEX1=DSFUEX1 for the Adabas nucleus.

  2. Supply the delta save job control that the user exit is supposed to submit under the DD-name/DLBL/link-name SAVEJOB.

    Provide the following DD statement:

    
    //INTRDR2  DD  SYSOUT=(*,INTRDR)
    
    

    Note:
    The same DD statement is used by the sample user exit 2 or 12 for submitting PLCOPY or CLCOPY jobs.

  3. The sample user exit is set to submit the supplied job when the DLOG area usage reaches 75 percent. You can modify this threshold value by

    • changing, assembling, and linking the supplied user exit source; or

    • zapping the supplied user exit load module as follows:

      
      NAME DSFUEX1
      
      VER 003E 004B
      
      REP 003E 00xx
      
      

      -where "xx" is the desired percent value in hexadecimal notation.

VSE/ESA and z/VSE

The sample user exit is delivered on VSE/ESA and z/VSE as source that must be assembled and linked.

Start of instruction setActivate the sample user exit as follows:

  1. In addition to ADARUN DSF=YES, specify ADARUN DSFEX1=DSFUEX1 for the Adabas nucleus.

  2. Modify the source in member DSFUEX1.A on the Delta Save sublibrary to match the JCL requirements of the batch job that is submitted when the DLOG threshold is reached. This job

    • runs an online delta save;

    • switches the PLOG with FEOFPL causing the PLOG containing the SYN2 checkpoint to be copied to the DSIM data set using user exit 2 (dual logging) or 12 (multiple logging); and

    • merges the actual online delta save with the most recently created delta save to produce a new consolidated delta save.

    On successful completion of DSFUJOB, the DLOG area is reset and the DSIM data set is set to a status `unused'. The next delta save job can then be submitted normally.

    The DLOG threshold value may also be modified. By default, the threshold is set to 75%.

  3. Run a job to assemble and link the updated user exit DSFUEX1.

    Sample JCL for this step is provided in member DSFUX1AL.X on the Delta Save sublibrary.

BS2000

The sample user exit is delivered on BS2000 as source and as an object module that can be used without change or reassembly.

The source form of the user exit DSFUEX1 is delivered in the Adabas source library. The job to assemble the user exit, ASMDUEX1, is located in the Adabas jobs library.

The jobs library also contains a sample (DSFUJOB) of the job submitted by DSFUEX1 that

  • runs an online delta save;

  • switches the PLOG with FEOFPL causing the PLOG containing the SYN2 checkpoint to be copied to the DSIM data set using user exit 2 (dual logging) or 12 (multiple logging); and

  • merges the actual online delta save with the most recently created delta save to produce a new consolidated delta save.

On successful completion of DSFUJOB, the DLOG area is reset and the DSIM data set is set to a status `unused'. The next delta save job can then be submitted normally.

Start of instruction setActivate the sample user exit as follows:

  1. In addition to ADARUN DSF=YES, specify ADARUN DSFEX1=DSFUEX1 for the Adabas nucleus.

  2. Customize the job DSFUJOB as necessary for functionality, database ID, and ID table name using the DSFUJOB example above; save it in the location that is defined by step 3.

  3. If the machine can process job variables, place the following statement in the delta save nucleus job:

    
    /SET-JV-LINK LINK-NAME=*DDJBDSF,-
    
    /            JV-NAME=#JV.DSF
    
    /MODIFY-JV   JV-ID=JV-NAME(JV-NAME=#JV.DSF),-
    
    /            VALUE='ENTER-JOB FROM-FILE=*LIB-ELEM(,-
    
    /LIB=<library>,ELEM=<dsfjob>),-
    
    /JOB-CLASS=JCDSF'
    
    

    -where

    <library> is the library; and
    <dsfjob> is the member where the customized job from step 2 is stored.

    If the machine cannot process job variables, Adabas attempts to submit the job

    
      (ADABAS.SRC,DSFUJOBP)
    
    

An example job that allows the database ID to be supplied as a parameter is supplied in the Adabas source library ADAvrs.SRC.

If this is not satisfactory, you can modify the supplied source DSFUEX1.

User Exit Interface

The Adabas Delta Save Facility calls the user exit during initialization to determine the DLOG area usage threshold specified in the exit. The exit is thereafter called whenever the DLOG usage reaches the specified threshold.

Optionally, the user exit may initialize its operation. It may store any value in the USERENV field of the parameter block to keep track of its resources. This field is considered as "owned" by the user exit and is supplied again for all subsequent executions of the exit.

The user exit is called again during termination to do any necessary finishing or `cleanup' work.

Parameters

graphics/ds_ue_parms.png

Delta Save Facility User Exit Parameters

DSECT of the Parameter Block


PARAM    DSECT

FNCODE   DS    F             FUNCTION CODE:

*                               01 - INITIALIZATION

*                               02 - THRESHOLD REACHED

*                               03 - FINALIZATION

USERENV  DS    A             USER ENVIRONMENT

PERCENT  DS    F             THRESHOLD PERCENTAGE

DBID     DS    F             DATABASE ID