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.
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.
The sample user exit is delivered on OS/390 and 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.
Activate the sample user exit as follows:
In addition to ADARUN DSF=YES, specify ADARUN DSFEX1=DSFUEX1 for the Adabas nucleus.
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.
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.
The sample user exit is delivered on VSE/ESA as source that must be assembled and linked.
Activate the sample user exit as follows:
In addition to ADARUN DSF=YES, specify ADARUN DSFEX1=DSFUEX1 for the Adabas nucleus.
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%.
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.
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.
Activate the sample user exit as follows:
In addition to ADARUN DSF=YES, specify ADARUN DSFEX1=DSFUEX1 for the Adabas nucleus.
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.
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.
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.
Delta Save Facility User Exit Parameters
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