JCL/JCS Requirements and Examples

This section describes the job control information required to run ADARES with BS2000, z/OS, and z/VSE systems and shows examples of each of the job streams.

Notes:

  1. The DD/SIAUS1/2 device type used to copy the protection log may not support the BACKOUT function if it is an IDRC (hardware compression) device. For more information, see the description of the PLCOPY function earlier in this document.
  2. When running with the optional Recovery Aid (ADARAI), all temporary data sets must also be cataloged in the job control.

This document covers the following topics:


BS2000

File Link Name Storage More Information
Sequential protection log or ADASAV DDSAVEn output DDSIIN tape/ disk Input log for COPY, REGENERATE, and REPAIR functions.
Multiple protection log DDPLOGRn disk Input logs for PLCOPY function, and BACKOUT DPLOG.
Multiple command log DDCLOGRn disk Input logs for CLCOPY function.
Sequential protection log DDBACK tape Input log for BACKOUT function (not BACKOUT DPLOG).
Copied log DDSIAUS1 tape/ disk Output of COPY, CLCOPY, PLCOPY functions.
Extra copied log DDSIAUS2 tape/ disk Required only if two copies are to be produced by a copy function (with TWOCOPIES).
Data Storage DDDATARn disk Required only for REGENERATE if FROMCP=SYN1 or SYN4.
Associator DDASSORn disk  
Recovery log (RLOG) DDRLOGR1 disk Required when using ADARAI.
ADARUN parameters SYSDTA/ DDCARD   Operations
ADARES parameters SYSDTA/ DDKARTE    
ADARUN messages SYSOUT/ DDPRINT   Messages and Codes
ADARES messages SYSLST DDDRUCK   Messages and Codes

ADARES JCL Examples (BS2000)

Copy Dual/Multiple Command Log

In SDF Format:

/.ADARES SET-LOGON-PARAMETERS
 /MODIFY-TEST-OPTIONS DUMP=YES
 /REMARK *
 /REMARK * A D A R E S COPY DUAL/MULTIPLE COMMAND LOG
 /REMARK *
 /DELETE-FILE ADAyyyyy.AUS1  
 /SET-JOB-STEP
 /CREATE-FILE ADAyyyyy.AUS1,PUB(SPACE=(960,480))
 /SET-JOB-STEP
 /ASS-SYSLST L.RES.CLCO
 /ASS-SYSDTA *SYSCMD
 /SET-FILE-LINK DDLIB,ADAvrs.MOD
 /SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,SHARE-UPD=YES
 /SET-FILE-LINK DDCLOGR1,ADAyyyyy.CLOGR1,SHARE-UPD=YES
 /SET-FILE-LINK DDCLOGR2,ADAyyyyy.CLOGR2,SHARE-UPD=YES
 /SET-FILE-LINK DDSIAUS1,ADAyyyyy.AUS1,BUFFER-LENGTH=STD(16)
 /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES CLCOPY
 /EXIT-JOB MODE=NORMAL,SYS-OUT=NONE 

In ISP Format:

/.ADARES LOGON
 /OPTION MSG=FH,DUMP=YES
 /REMARK *
 /REMARK * A D A R E S COPY DUAL/MULTIPLE COMMAND LOG
 /REMARK *
 /SYSFILE SYSLST=L.RES.CLCO
 /FILE ADA.MOD,LINK=DDLIB
 /FILE ADAyyyyy.ASSO ,LINK=DDASSOR1,SHARUPD=YES
 /FILE ADAyyyyy.CLOGR1 ,LINK=DDCLOGR1,SHARUPD=YES
 /FILE ADAyyyyy.CLOGR2 ,LINK=DDCLOGR2,SHARUPD=YES
 /FILE ADAyyyyy.AUS1 ,LINK=DDSIAUS1,SPACE=(960,480),BUFFSIZE=(STD,16)
 /EXEC (ADARUN,ADA.MOD)
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES CLCOPY
 /LOGOFF NOSPOOL

Copy Sequential Protection Log

In SDF Format:

/.ADARES SET-LOGON-PARAMETERS
 /MODIFY-TEST-OPTIONS DUMP=YES
 /REMARK *
 /REMARK * A D A R E S COPY SEQUENTIAL PLOG
 /REMARK *
 /DELETE-FILE ADAyyyyy.SIBA.COP1
 /SET-JOB-STEP
 /CREATE-FILE ADAyyyyy.SIBA.COP1,PUB(SPACE=(960,480))
 /SET-JOB-STEP
 /ASS-SYSLST L.RES.COPY
 /ASS-SYSDTA *SYSCMD
 /SET-FILE-LINK DDLIB,ADAvrs.MOD
 /SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,SHARE-UPD=YES
 /SET-FILE-LINK DDSIIN,ADAyyyyy.SIBA
 /SET-FILE-LINK DDSIAUS1,ADAyyyyy.SIBA.COP1.AUS1,BUFFER-LENGTH=STD(16)
 /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES COPY PLOGNUM=ppp
 /EXIT-JOB MODE=NORMAL,SYS-OUT=NONE 

In ISP Format:

/.ADARES LOGON
 /OPTION MSG=FH,DUMP=YES
 /REMARK *
 /REMARK * A D A R E S COPY SEQUENTIAL PLOG
 /REMARK *
 /SYSFILE SYSLST=L.RES.COPY
 /FILE ADA.MOD,LINK=DDLIB
 /FILE ADAyyyyy.ASSO ,LINK=DDASSOR1,SHARUPD=YES
 /FILE ADAyyyyy.SIBA ,LINK=DDSIIN
 /FILE ADAyyyyy.SIBA.COP1 ,LINK=DDSIAUS1,SPACE=(960,480),BUFFSIZE=(STD,16)
 /EXEC (ADARUN,ADA.MOD)
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES COPY PLOGNUM=ppp
 /LOGOFF NOSPOOL

Copy Dual/Multiple Protection Log

In SDF Format:

/.ADARES SET-LOGON-PARAMETERS
 /MODIFY-TEST-OPTIONS DUMP=YES
 /REMARK *
 /REMARK * A D A R E S COPY DUAL/MULTIPLE PROTECTION LOG
 /REMARK *
 /DELETE-FILE ADAyyyyy.AUS1  
 /SET-JOB-STEP
 /CREATE-FILE ADAyyyyy.AUS1,PUB(SPACE=(960,480))
 /SET-JOB-STEP
 /DELETE-FILE ADAyyyyy.AUS2  
 /SET-JOB-STEP
 /CREATE-FILE ADAyyyyy.AUS2,PUB(SPACE=(960,480))
 /SET-JOB-STEP
 /ASS-SYSLST L.RES.PLCO
 /ASS-SYSDTA *SYSCMD
 /SET-FILE-LINK DDLIB,ADAvrs.MOD
 /SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,SHARE-UPD=YES
 /SET-FILE-LINK DDPLOGR1,ADAyyyyy.PLOGR1,SHARE-UPD=YES
 /SET-FILE-LINK DDPLOGR2,ADAyyyyy.PLOGR2,SHARE-UPD=YES
 /SET-FILE-LINK DDSIAUS1,ADAyyyyy.AUS1,BUFFER-LENGTH=STD(16)
 /SET-FILE-LINK DDSIAUS2,ADAyyyyy.AUS2,BUFFER-LENGTH=STD(16)
 /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES PLCOPY TWOCOPIES
 /EXIT-JOB MODE=NORMAL,SYS-OUT=NONE 

In ISP Format:

/.ADARES LOGON
 /OPTION MSG=FH,DUMP=YES
 /REMARK *
 /REMARK * A D A R E S COPY DUAL/MULTIPLE PROTECTION LOG
 /REMARK *
 /SYSFILE SYSLST=L.RES.PLCO
 /FILE ADA.MOD,LINK=DDLIB
 /FILE ADAyyyyy.ASSO ,LINK=DDASSOR1,SHARUPD=YES
 /FILE ADAyyyyy.PLOGR1 ,LINK=DDPLOGR1,SHARUPD=YES
 /FILE ADAyyyyy.PLOGR2 ,LINK=DDPLOGR2,SHARUPD=YES
 /FILE ADAyyyyy.AUS1 ,LINK=DDSIAUS1,SPACE=(960,480),BUFFSIZE=(STD,16)
 /FILE ADAyyyyy.AUS2 ,LINK=DDSIAUS2,SPACE=(960,480),BUFFSIZE=(STD,16)
 /EXEC (ADARUN,ADA.MOD)
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES PLCOPY TWOCOPIES
 /LOGOFF NOSPOOL

Backout Using a Sequential Protection Log

In SDF Format:

/.ADARES SET-LOGON-PARAMETERS
 /MODIFY-TEST-OPTIONS DUMP=YES
 /REMARK *
 /REMARK * A D A R E S BACKOUT FROM SEQUENTIAL PLOG
 /REMARK *
 /ASS-SYSLST L.RES.BACK
 /ASS-SYSDTA *SYSCMD
 /SET-FILE-LINK DDLIB,ADAvrs.MOD
 /SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,SHARE-UPD=YES
 /SET-FILE-LINK DDBACK,ADAyyyyy.BACK
 /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES BACKOUT
 /EXIT-JOB MODE=NORMAL,SYS-OUT=NONE 

In ISP Format:

/.ADARES LOGON
 /OPTION MSG=FH,DUMP=YES
 /REMARK *
 /REMARK * A D A R E S BACKOUT FROM SEQUENTIAL PLOG
 /REMARK *
 /SYSFILE SYSLST=L.RES.BACK
 /FILE ADA.MOD,LINK=DDLIB
 /FILE ADAyyyyy.ASSO ,LINK=DDASSOR1,SHARUPD=YES
 /FILE ADAyyyyy.BACK ,LINK=DDBACK
 /EXEC (ADARUN,ADA.MOD)
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES BACKOUT
 /LOGOFF NOSPOOL

Backout Using a Dual/Multiple Protection Log

In SDF Format:

/.ADARES SET-LOGON-PARAMETERS
 /MODIFY-TEST-OPTIONS DUMP=YES
 /REMARK *
 /REMARK * A D A R E S BACKOUT FROM DUAL/MULTIPLE PLOG
 /REMARK *
 /ASS-SYSLST L.RES.BADP
 /ASS-SYSDTA *SYSCMD
 /SET-FILE-LINK DDLIB,ADAvrs.MOD
 /SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,SHARE-UPD=YES
 /SET-FILE-LINK DDPLOGR1,ADAyyyyy.PLOGR1,SHARE-UPD=YES
 /SET-FILE-LINK DDPLOGR2,ADAyyyyy.PLOGR2,SHARE-UPD=YES
 /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES BACKOUT DPLOG
 /EXIT-JOB MODE=NORMAL,SYS-OUT=NONE 

In ISP Format:

/.ADARES LOGON
 /OPTION MSG=FH,DUMP=YES
 /REMARK *
 /REMARK * A D A R E S BACKOUT FROM DUAL/MULTIPLE PLOG
 /REMARK *
 /SYSFILE SYSLST=L.RES.BADP
 /FILE ADA.MOD,LINK=DDLIB
 /FILE ADAyyyyy.ASSO ,LINK=DDASSOR1,SHARUPD=YES
 /FILE ADAyyyyy.PLOGR1 ,LINK=DDPLOGR1,SHARUPD=YES
 /FILE ADAyyyyy.PLOGR2 ,LINK=DDPLOGR2,SHARUPD=YES
 /EXEC (ADARUN,ADA.MOD)
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES BACKOUT DPLOG
 /LOGOFF NOSPOOL

Regenerate Function

In SDF Format:

/.ADARES SET-LOGON-PARAMETERS
 /MODIFY-TEST-OPTIONS DUMP=YES
 /REMARK *
 /REMARK * A D A R E S REGENERATE
 /REMARK *
 /ASS-SYSLST L.RES.REGE
 /ASS-SYSDTA *SYSCMD
 /SET-FILE-LINK DDLIB,ADAvrs.MOD
 /SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,SHARE-UPD=YES
 /SET-FILE-LINK DDSIIN,ADAyyyyy.SIBA
 /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES REGENERATE FILE=1,CONTINUE,PLOGNUM=ppp
 /EXIT-JOB MODE=NORMAL,SYS-OUT=NONE 

In ISP Format:

/.ADARES LOGON
 /OPTION MSG=FH,DUMP=YES
 /REMARK *
 /REMARK * A D A R E S REGENERATE
 /REMARK *
 /SYSFILE SYSLST=L.RES.REGE
 /FILE ADA.MOD,LINK=DDLIB
 /FILE ADAyyyyy.ASSO ,LINK=DDASSOR1,SHARUPD=YES
 /FILE ADAyyyyy.SIBA ,LINK=DDSIIN
 /EXEC (ADARUN,ADA.MOD)
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES REGENERATE FILE=1,CONTINUE,PLOGNUM=ppp
 /LOGOFF NOSPOOL

Repair Data Storage

In SDF Format:

/.ADARES SET-LOGON-PARAMETERS
 /MODIFY-TEST-OPTIONS DUMP=YES
 /REMARK *
 /REMARK * A D A R E S REPAIR DATASTORAGE
 /REMARK *
 /ASS-SYSLST L.RES.REPA
 /ASS-SYSDTA *SYSCMD
 /SET-FILE-LINK DDLIB,ADAvrs.MOD
 /SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,SHARE-UPD=YES
 /SET-FILE-LINK DDSIIN,ADAyyyyy.SAVE
 /SET-FILE-LINK DDSIIN01,ADAyyyyy.PLOG5
 /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES REPAIR DSRABN=3456-3490
 /EXIT-JOB MODE=NORMAL,SYS-OUT=NONE 

In ISP Format:

/.ADARES LOGON
 /OPTION MSG=FH,DUMP=YES
 /REMARK *
 /REMARK * A D A R E S REPAIR DATASTORAGE
 /REMARK *
 /SYSFILE SYSLST=L.RES.REPA
 /FILE ADA.MOD,LINK=DDLIB
 /FILE ADAyyyyy.ASSO ,LINK=DDASSOR1,SHARUPD=YES
 /FILE ADAyyyyy.SAVE ,LINK=DDSIIN
 /FILE ADAyyyyy.PLOG5 ,LINK=DDSIIN01
 /EXEC (ADARUN,ADA.MOD)
 ADARUN PROG=ADARES,DB=yyyyy,IDTNAME=ADABAS5B
 ADARES REPAIR DSRABN=3456-3490
 /LOGOFF NOSPOOL

z/OS

Data Set DD Name Storage More Information
Sequential protection log or ADASAV DDSAVEn output DDSIIN tape/ disk Input log for COPY, REGENERATE, and REPAIR functions.
Multiple protection log DDPLOGRn disk Input logs for PLCOPY function, and BACKOUT DPLOG/MPLOG .
Multiple command log DDCLOGRn disk Input logs for CLCOPY function.
Sequential protection log DDBACK tape Input log for BACKOUT function (not BACKOUT DPLOG).
Copied log DDSIAUS1 tape/ disk Output of COPY, CLCOPY, PLCOPY functions.
Extra copied log DDSIAUS2 tape/ disk Required only if two copies are to be produced by a copy function (with TWOCOPIES).
Recovery log (RLOG) DDRLOGR1 disk Required when using ADARAI.
Data Storage DDDATARn disk Required only for REGENERATE if FROMCP=SYN1 or SYN4.
Associator DDASSORn disk  
ADARUN parameters DDCARD reader Operations
ADARES parameters DDKARTE reader  
ADARUN messages DDPRINT printer Messages and Codes
ADARES messages DDDRUCK printer Messages and Codes

ADARES JCL Examples (z/OS)

Copy Sequential Protection Log

//ADARESCP  JOB
//*
//*    ADARES: COPY SEQUENTIAL PROTECTION LOG
//*
//RES      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
//DDSIIN    DD   DSN=EXAMPLE.DByyyyy.SIBA,            <=== PLOG
//            VOL=SER=vvvvvv,DISP=OLD,UNIT=TAPE       
//DDSIAUS1  DD   DSN=EXAMPLE.DByyyyy.PLOG(+1),        <=== PLOG COPY
//            VOL=SER=vvvvvv,UNIT=TAPE,DISP=(NEW,CATLG)
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADARES COPY
/*

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

Copy Dual/Multiple Protection Log

//ADARESCD  JOB
//*
//*    ADARES: COPY DUAL/MULTIPLE PROTECTION LOG
//*             TWO COPIES OF OUTPUT ARE TO BE CREATED
//*
//RES      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
//DDPLOGR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.PLOGR1  <=== PLOG1
//DDPLOGR2  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.PLOGR2  <=== PLOG2
//DDSIAUS1  DD   DSN=EXAMPLE.DByyyyy.PLOG1(+1),       <=== PLOG COPY 1
//            VOL=SER=vvvvvv,UNIT=TAPE,DISP=(NEW,CATLG)
//DDSIAUS2  DD   DSN=EXAMPLE.DByyyyy.PLOG2(+1),       <=== PLOG COPY 2
//            VOL=SER=vvvvvv,UNIT=TAPE,DISP=(NEW,CATLG)
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADARES PLCOPY TWOCOPIES
/*

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

Automatically Copy/Merge Nucleus Cluster Protection Logs

Note:
Note that when intermediate data sets are used for both CLCOPY and PLCOPY, the data set names must be unique so that they are not overwritten.

Following is sample JCL for allocating the required intermediate data sets MERGIN1 and MERGIN2:

//ALLOC JOB 
//*
//* Example to allocate the MERGIN1 and the MERGIN2 data sets 
//*
//ALLOC   EXEC PGM=IEFBR14
//MERGIN1 DD  DISP=(NEW,CATLG,DELETE),DSN=EXAMPLE.PINTERI,
//             SPACE=(CYL,(1,10,0)),UNIT=3390,VOL=SER=volser,
//             RECFM=VB,BLKSIZE=27998,LRECL=27994
//MERGIN2 DD  DISP=(NEW,CATLG,DELETE),DSN=EXAMPLE.PINTERO,
//             SPACE=(CYL,(1,10,0)),UNIT=3390,VOL=SER=volser,
//             RECFM=VB,BLKSIZE=27998,LRECL=27994

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

Automatically Copy/Merge Nucleus Cluster Protection Logs Ignoring PPT

//ADARESIP  JOB  
//*                                                                 
//*    ADARES: COPY/MERGE DUAL/MULTIPLE PROTECTION LOGS FROM ALL   
//*             NUCLEI IN AN ADABAS CLUSTER                         
//*             PPT IS TO BE IGNORED                                
//*             THIS IS ONLY FOR EMERGENCY USE WHEN THE PPT HAS BEEN
//*             OVER-WRITTEN - USE CAUTION WHEN SUBMITTING          
//*  
//RES      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      
//DDPLOG01  DD   DISP=SHR,DSN=EXAMPLE.DBYYYYY.PLOGR1   <=== PLOG1 NUC1
//DDPLOG02  DD   DISP=SHR,DSN=EXAMPLE.DBYYYYY.PLOGR2   <=== PLOG2 NUC1
//DDPLOG03  DD   DISP=SHR,DSN=EXAMPLE.DBYYYYY.PLOGR1A  <=== PLOG1 NUC2
//DDPLOG04  DD   DISP=SHR,DSN=EXAMPLE.DBYYYYY.PLOGR2A  <=== PLOG2 NUC2
//DDPLOG05  DD   DISP=SHR,DSN=EXAMPLE.DBYYYYY.PLOGR1B  <=== PLOG1 NUC3
//DDPLOG06  DD   DISP=SHR,DSN=EXAMPLE.DBYYYYY.PLOGR2B  <=== PLOG2 NUC3
//MERGIN2   DD   DISP=SHR,DSN=EXAMPLE.INTERO           <=== INTER     
//MERGIN1   DD   DISP=SHR,DSN=EXAMPLE.INTERI           <=== INTER    
//DDSIAUS1  DD   DSN=EXAMPLE.DBYYYYY.PLOG1(+1),        <=== PLOG COPY 
//            VOL=SER=ADAXXX,UNIT=TAPE,DISP=(NEW,CATLG)            
//DDDRUCK   DD   SYSOUT=X                                          
//DDPRINT   DD   SYSOUT=X                                          
//SYSUDUMP  DD   SYSOUT=X                                          
//DDCARD    DD   *                                                 
ADARUN PROG=ADARES,MODE=MULTI,SVC=XXX,DEVICE=3390,DBID=YYYYY       
/*                                                                 
//DDKARTE   DD   *                                                 
ADARES PLCOPY NOPPT                                                
/*                                                                 
//                                                           

Refer to ADARESIP in the JOBS data set.

Copy Dual/Multiple Command Log

//ADARESCC  JOB
//*
//*     ADARES: COPY DUAL/MULTIPLE COMMAND LOG
//*
//RES      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
//DDCLOGR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.CLOGR1 <=== CLOG1
//DDCLOGR2  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.CLOGR2 <=== CLOG2
//DDSIAUS1  DD   DSN=EXAMPLE.DByyyyy.CLOG,           <=== OUTPUT OF
//            VOL=SER=vvvvvv,UNIT=TAPE,DISP=(NEW,CATLG)       CLCOPY
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADARES CLCOPY
/*

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

Automatically Copy/Merge Nucleus Cluster Command Logs

Note:
Note that when intermediate data sets are used for both CLCOPY and PLCOPY, the data set names must be unique so that they are not overwritten.

Following is sample JCL for allocating the required intermediate data sets MERGIN1 and MERGIN2:

//ALLOC JOB 
//*
//* Example to allocate the MERGIN1 and the MERGIN2 data sets 
//*
//ALLOC   EXEC PGM=IEFBR14
//MERGIN1 DD  DISP=(NEW,CATLG,DELETE),DSN=EXAMPLE.CINTERI,
//             SPACE=(CYL,(1,10,0)),UNIT=3390,VOL=SER=volser,
//             RECFM=VB,BLKSIZE=27998,LRECL=27994
//MERGIN2 DD  DISP=(NEW,CATLG,DELETE),DSN=EXAMPLE.CINTERO,
//             SPACE=(CYL,(1,10,0)),UNIT=3390,VOL=SER=volser,
//             RECFM=VB,BLKSIZE=27998,LRECL=27994

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

Manually Merge Sequential Command Logs in a Nucleus Cluster Environment

//ADARESCM  JOB                                        
//*                                                                    
//*    ADARES: MERGE SEQUENTIAL COMMAND LOGS                          
//*             FOR USE WITH AN ADABAS NUCLEUS CLUSTER                 
//*  
//RES      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      
//DDCLOG01  DD   DISP=SHR,DSN=EXAMPLE.DBYYYYY.CLOGR1A <=== CLOG1     
//DDCLOG02  DD   DISP=SHR,DSN=EXAMPLE.DBYYYYY.CLOGR1B <=== CLOG2     
//DDCLOG03  DD   DISP=SHR,DSN=EXAMPLE.DBYYYYY.CLOGR1C <=== CLOG3     
//DDSIAUS1  DD   DSN=EXAMPLE.DBYYYYY.CLOGM,           <=== OUTPUT OF  
//            VOL=SER=ADAXXX,UNIT=TAPE,DISP=(NEW,CATLG)       CLOG MERGE    
//DDDRUCK   DD   SYSOUT=X                                              
//DDPRINT   DD   SYSOUT=X                                              
//SYSUDUMP  DD   SYSOUT=X                                              
//DDCARD    DD   *                                                     
ADARUN PROG=ADARES,MODE=MULTI,SVC=XXX,DEVICE=3390,DBID=YYYYY           
/*                                                                     
//DDKARTE   DD   *                                                     
ADARES MERGE CLOG,NUMLOG=3  
/*                          
//                         

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

Backout from a Sequential Protection Log

//ADARESSP  JOB
//*
//*    ADARES: BACKOUT FROM A SEQUENTIAL PLOG
//*
//RES      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
//DDBACK    DD   DSN=EXAMPLE.DByyyyy.PLOG(-5),       <=== PLOG TAPE
//               UNIT=TAPE,DISP=OLD
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADARES BACKOUT PLOGNUM=nnn
/*

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

Backout from Dual/Multiple Protection Log

//ADARESB   JOB
//*
//*    ADARES: BACKOUT FROM DUAL/MULTIPLE PLOG
//*
//RES      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
//DDPLOGR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.PLOGR1 <=== PLOG1
//DDPLOGR2  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.PLOGR2 <=== PLOG2
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADARES BACKOUT DPLOG
/*

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

Regenerate Function

//ADARESR   JOB
//*
//*    ADARES: REGENERATE
//*
//RES      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
//DDSIIN    DD   DSN=EXAMPLE.DByyyyy.PLOG(-5),       <=== PLOG TAPE
//            UNIT=TAPE,DISP=OLD
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADARES REGENERATE FILE=1
/*

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

Repair Data Storage

//ADARESRP  JOB
//*
//*    ADARES:  REPAIR DATASTORAGE
//*
//RES      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
//DDSIIN    DD   DSN=EXAMPLE.DByyyyy.SAVE,           <=== SAVE
OUTPUT
//             DISP=OLD,UNIT=TAPE
//          DD   DSN=EXAMPLE.DByyyyy.PLOG(-5),       <=== PLOG TAPE
//             DISP=OLD,UNIT=TAPE
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADARES REPAIR DSRABN=3456-3490

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

z/VSE

Data Set Symbolic Storage Logical Unit More Information
Sequential protection log or ADASAV
SAVEn output
SIIN tape
disk
SYS020 See note Input log for COPY,
REGENERATE, and REPAIR.
Multiple protection log PLOGRn disk See note Input logs for PLCOPY and BACKOUT DPLOG.
Multiple command log CLOGRn disk See note Input logs for CLCOPY.
Sequential protection log BACK tape SYS020 Input log for BACKOUT (not BACKOUT DPLOG).
Copied log SIAUS1 tape
disk
SYS021
See note
Output of COPY, CLCOPY, and PLCOPY.
Extra copied log SIAUS2 tape
disk
SYS022
See note
Required for TWOCOPIES.
Data Storage DATARn disk   Required for REGENERATE if FROMCP=SYN1 or SYN4.
Associator ASSORn   See note  
Recovery log (RLOG) RLOGR1 disk   Required when using ADARAI.
ADARUN parameters -
CARD
CARD
reader
tape
disk
SYSRDR
SYS000
See note
 
ADARES parameters   reader SYSIPT  
ADARUN messages   printer SYSLST  
ADARES messages   printer SYS009  

Note:
Any programmer logical unit can be used.

ADARES JCS Examples (z/VSE)

See Library and File Procedures for z/VSE Examples for descriptions of the z/VSE procedures (PROCs).

Refer to the following members for these examples:

Example Member
Copy sequential protection log ADARESCP.X
Copy dual/multiple protection log ADARESCD.X
Copy dual/multiple command log ADARESCC.X
Regenerate ADARESR.X
Backout from a sequential protection log ADARESSP.X
Backout from a dual protection log ADARESB.X
Repair Data Storage ADARESRP.X

Copy Sequential Protection Log

* $$ JOB JNM=ADARESCP,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADARESCP
*       COPY SEQUENTIAL PLOG(TAPE)
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// ASSGN SYS020,TAPE,D0
// PAUSE MOUNT INPUT TAPE ON TAPE cuu
// MTC REW,SYS020
// TLBL SIIN,'ADABAS.ADAvrs.SIBA'
// ASSGN SYS022,TAPE,D0
// PAUSE MOUNT SCRATCH TAPE ON TAPE cuu
// MTC REW,SYS022
// MTC WTM,SYS022,5
// MTC REW,SYS022
// TLBL SIAUS1,'ADABAS.ADAvrs.SIAUS1'
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADARES COPY
/*
/&
* $$ EOJ

Copy Dual/Multiple Protection Log

* $$ JOB JNM=ADARESCD,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADARESCD
*       CLCOPY WITH OPTION TWOCOPIES(TAPE)
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// ASSGN SYS021,TAPE,D0
// ASSGN SYS022,TAPE,D0
// PAUSE MOUNT SCRATCH TAPE ON TAPES cu1 AND cu2
// MTC REW,SYS022
// MTC WTM,SYS022,5
// MTC REW,SYS022
// MTC REW,SYS021
// MTC WTM,SYS021,5
// MTC REW,SYS021
// TLBL SIAUS1,'ADABAS.ADAvrs.PLOGC1'
// TLBL SIAUS2,'ADABAS.ADAvrs.PLOGC2'
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADARES PLCOPY TWOCOPIES
/*
/&
* $$ EOJ

Copy Dual/Multiple Command Log

* $$ JOB JNM=ADARESCC,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADARESCC
*       COPY DUAL/MULTIPLE COMMAND LOG
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// ASSGN SYS022,DISK,VOL=vvvvvv,SHR
// DLBL SIAUS1,'ADABAS.ADAvrs.CLOG',0,SD
// EXTENT SYS022,vvvvvv,1,0,sssss,nnnnn
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADARES CLCOPY
/*
/&
* $$ EOJ

Regenerate

* $$ JOB JNM=ADARESR,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADARESR
*       REGENERATE
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// ASSGN SYS020,DISK,VOL=vvvvvv,SHR
// DLBL SIIN,'EXAMPLE.DByyyyy.PLOG'
// EXTENT SYS020,vvvvvv
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADARES REGENERATE FILE=1
/*
/&
* $$ EOJ

Backout from a Sequential Protection Log

* $$ JOB JNM=ADARESSP,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADARESSP
*       BACKOUT FROM A SEQUENTIAL PLOG
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// ASSGN SYS020,TAPE
// PAUSE  ***  PLEASE MOUNT TAPE ***
// MTC REW,SYS020
// TLBL BACK,'DByyyyy.PLCOPY.TAPE'
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADARES BACKOUT PLOGNUM=ppp
/*
/&
* $$ EOJ

Backout from a Dual Protection Log

* $$ JOB JNM=ADARESB,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADARESB
*       BACKOUT FROM DUAL PLOG
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADARES BACKOUT DPLOG
/*
/&
* $$ EOJ

Repair Data Storage

* $$ JOB JNM=ADARESRP,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADARESRP
*       REPAIR DATASTORAGE
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// ASSGN SYS020,TAPE
// PAUSE MOUNT INPUT TAPE ON cuu
// MTC REW,SYS020
// TLBL SIIN,'EXAMPLE.ADAyyyyy.SAVE1'
// TLBL SIIN01,'ADABAS.ADAyyyyy.PLOG5'       (*)
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADARES,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADARES REPAIR DSRABN=3456-3490
/*
/&
* $$ EOJ

(*) See Sequential Input Files, z/VSE Concatenation.