JCL Requirements and Examples

This section describes the job control information required to run ADALOD on the z/OS operating systems and shows examples of job streams.

Note:
When running with the optional Recovery Aid (RLOG), all temporary data sets must also be cataloged in the job control.

This document covers the following topics:


Collation with User Exit

If a collation user exit is to be used during ADALOD execution, the ADARUN CDXnn parameter must be specified for the utility run.

Used in conjunction with the universal encoding support (UES), the format of the collation descriptor user exit parameter is

graphics/util_adarun_cdxnn.png

where

nn is the number of the collation descriptor exit, a two-digit decimal integer in the range 01-08 inclusive.
exit-name is the name of the user routine that gets control at the collation descriptor exit; the name can be up to 8 characters long.

Only one program may be specified for each collation descriptor exit. Up to 8 collation descriptor exits may be specified (in any order). See the Adabas DBA Reference documentation for more information.

Requirements to Run ADALOD JCL

Data Set DD Name Storage More Information
Associator DDASSORn disk  
Data Storage DDDATARn disk  
Work DDWORKR1
DDWORKR4
disk Required only if Adabas nucleus is not active
Temp area DDTEMPR1 disk  
Temp overflow
(optional)
DDFILEA disk/ tape Stores descriptor values if the temp data set is too small
Sort area DDSORTR1 disk  
Sort area DDSORTR2 disk Optional additional SORT area 1
Recovery log (RLOG) DDRLOGR1 disk Required for the recovery log option
Compressed data DDEBAND disk/ tape Output of ADACMP or ADAULD utility
ISNs to be deleted DDISN disk/ tape ISNs to be deleted 2
Deleted records DDOLD disk/ tape Deleted records, if any 3
ADARUN parameters DDCARD reader Operations
ADALOD parameters DDKARTE reader  
ADARUN messages DDPRINT printer ADALOD report, see also Messages and Codes
ADALOD messages DDDRUCK printer Messages and Codes

Notes:

  1. 1. A second sort data set can optionally be defined using DD DDSORTR2. If DDSORTR2 is specified, both sort data sets must be on the same device type (SORTDEV parameter). If the SORTSIZE parameter is specified, both sort data sets must be exactly half the size specified in the SORTSIZE parameter. If the SORTSIZE parameter is not specified, and DDSORTR1 and DDSORTR2 fill up, an attempt to allocate additional space at the end of DDSORTR2 will be made.
  2. Four bytes per ISN, RECFM=VB, BLKSIZE as in sequential file description, LRECL maximum equals BLKSIZE - 4.
  3. RECFM=VB, BLKSIZE as in sequential file description, LRECL maximum equals BLKSIZE - 4.

ADALOD JCL Examples

Refer also to ADALODE, ADALODA, ADALODM, and ADALODV in the JOBS data set for additional ADALOD examples on loading an ADAM file or the Adabas demo files.

Load File

Refer to ADALOD in the JOBS data set for this example.

//ADALOD    JOB
//*
//*    ADALOD: LOAD FILE
//*
//LOD      EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.ADAvrs.LOAD      <=== ADABAS LOAD
//*
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1 <=== ASSO
//DDDATAR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1 <=== DATA
//DDWORKR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.WORKR1 <=== WORK
//DDTEMPR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.TEMPR1 <=== TEMP
//DDSORTR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.SORTR1 <=== SORT
//DDEBAND   DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.DDEBAND <=== INPUT
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADALOD,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADALOD LOAD FILE=1
ADALOD NAME='TESTFILE-1'
ADALOD MAXISN=10000,DSSIZE=10
ADALOD TEMPSIZE=100,SORTSIZE=100
/*

Load File Using Unformatted Temporary Data Sets for TEMP and SORT

Refer to ADALODTM in the JOBS data set for this example.

//LOD      EXEC PGM=ADARUN                                          
//STEPLIB  DD  DISP=SHR,DSN=ADABAS.ADAvrs.LOAD            <=== LOAD 
//*                                                                 
//DDASSOR1 DD  DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1        <=== ASSO 
//DDDATAR1 DD  DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1        <=== DATA 
//DDWORKR1 DD  DISP=SHR,DSN=EXAMPLE.DByyyyy.WORKR1        <=== WORK 
//DDSORTR1 DD  DISP=NEW,UNIT=SYSDA,SPACE=(CYL,(100,80)),            
//             DSN=&&SORTR1                               <=== SORT 
//DDTEMPR1 DD  DISP=NEW,UNIT=SYSDA,SPACE=(CYL,(100,80)),            
//             DSN=&&TEMPR1                               <=== TEMP 
//DDEBAND  DD  DISP=OLD,DSN=EXAMPLE.DByyyyy.DDEBAND       <=== INPUT
//DDDRUCK  DD  SYSOUT=*                                             
//DDPRINT  DD  SYSOUT=*                                             
//SYSUDUMP DD  SYSOUT=*                                             
//DDCARD   DD  *                                                    
ADARUN PROG=ADALOD,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy        
/*                                                                  
ADALOD LOAD FILE=1           
ADALOD      NAME='TESTFILE-1'     
ADALOD      MAXISN=10000,DSSIZE=10
/*

The TEMP and SORT data sets each have an initial allocation of 100 cylinders. If either TEMP or SORT fills up during processing, additional extents of 80 cylinders will be allocated and the job will continue processing.

Update

Refer to ADALODMU in the JOBS data set for this example.

//ADALODMU  JOB
//*
//*      ADALOD: MASS UPDATE
//*
//LOD       EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.ADAvrs.LOAD               <=== ADABAS LOAD
//*                                                          
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1         <=== ASSO
//DDDATAR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1         <=== DATA
//DDTEMPR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.TEMPR1         <=== TEMP
//DDSORTR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.SORTR1         <=== SORT
//DDEBAND   DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.DDEBAND        <=== INPUT
//DDISN     DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.DDISN          <=== ISNS TO DEL
//DDOLD     DD   DISP=(NEW,CATLG),DSN=EXAMPLE.DByyyyy.DDOLD, <=== DEL REC
//            SPACE=(TRK,(100,20),RLSE),UNIT=DISK,VOL=SER=VOLvvv
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADALOD,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADALOD UPDATE FILE=1,LWP=400K,SAVEDREC
ADALOD TEMPSIZE=100,SORTSIZE=100
ADALOD DELISN=100-199,230,301-399
/*