I need to duplicate some reports from a View database from one system to another unconnected system.
What is the process to duplicate View repots to another system?
Release : 14.0
Component : View
Here are the instructions to duplicate View reports from one system to another unconnected system:
a) Before taking selective UNLOAD on the sending database, need to ensure that all of the reports being unloaded are first on the database disk layer.
To that end, first run a SARDBASE STATUS FULL:
//XXXXXXXX JOB ...
//SARDBASE EXEC PGM=SARDBASE,PARM='VIEW_HLQ' <=== MODIFY DB NAME
//STEPLIB DD DISP=SHR,DSN=VIEW.CVDELOAD <=== MODIFY, IF USED
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
STATUS FULL
/*
//
If there is not sufficient room on the disk layer to load the 10% - 20% of the reports, then need to run a SARDBASE ADDDS DATA to add disk space:
//XXXXXXXX JOB ...
//SARDBASE EXEC PGM=SARDBASE,PARM='VIEW_HLQ' <=== MODIFY DB NAME
//STEPLIB DD DISP=SHR,DSN=VIEW.CVDELOAD <=== MODIFY, IF USED
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
ADDDS DATA CYLINDER=nnnn BLKSIZE=13682 UNIT=3390 VOLSER=xxxxxx
/*
//
b) Run a /LOAD transaction for each report you bring to the disk layer.
//XXXXXXXX JOB ...
//SARBCH EXEC PGM=SARBCH,PARM='VIEW_HLQ' <=== MODIFY DB NAME
//STEPLIB DD DISP=SHR,DSN=VIEW.CVDELOAD <=== MODIFY, IF USED
//SYSPRINT DD SYSOUT=*
//REPORT DD SYSOUT=*
//SYSIN DD *
/LOAD ID=XXXXXXXXXXXX GEN=NNNN SEQ=NN
/*
//
c) Once the reports to be selected have been determined, run a SARDBASE Selective UNLOAD using the below JCL:
//XXXXXXXX JOB ...
//SARDBASE EXEC PGM=SARDBASE,PARM='VIEW_HLQ' <=== MODIFY DB NAME
//STEPLIB DD DISP=SHR,DSN=VIEW.CVDELOAD <=== MODIFY, IF USED
//SYSPRINT DD SYSOUT=*
//*********************************************
//* USE THE FOLLOWING SARUNLTB STATEMENT IF *
//* YOU ARE DOING A "SELECTIVE" UNLOAD *
//*********************************************
//SARUNLTB DD *
S=xxxxxxxxxxxx ADATE=mm/dd/yyyy
/*
//SARUNLD DD DISP=(,CATLG,DELETE),
// DSN=XXXXXX.XXXXXX.SARSELUL,
// DCB=(RECFM=VB,LRECL=32756,BLKSIZE=32760),
// SPACE=(CYL,(NNN,NN),RLSE),
// UNIT=XXXX,VOL=SER=YYYYYY
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
UNLOAD
/*
//
d) On the receiving side, create a new, empty database using the below JCL:
//XXXXXXXX JOB ...
//SARDBASE EXEC PGM=SARDBASE,PARM='VIEW_HLQ2' <=== MODIFY DB NAME
//STEPLIB DD DISP=SHR,DSN=VIEW.CVDELOAD <=== MODIFY, IF USED
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
ADDDS INDEX CYLINDER=nnnn BLKSIZE=8906 UNIT=3390 VOLSER=xxxxxx
ADDDS DATA CYLINDER=nnnn BLKSIZE=13682 UNIT=3390 VOLSER=xxxxxx
/*
//
e) Then, run a SARDBASE LOAD, to load the selected reports:
//XXXXXXXX JOB ...
//SARDBASE EXEC PGM=SARDBASE,PARM='VIEW_HLQ2' <=== MODIFY DB NAME
//STEPLIB DD DISP=SHR,DSN=VIEW.CVDELOAD <=== MODIFY, IF USED
//SYSPRINT DD SYSOUT=*
//SARLOAD DD DISP=SHR,DSN=XXXXXX.XXXXXX.SARSELUL
//SYSIN DD *
LOAD
/*
//
f) Then run the following SARGRW:
//XXXXXXXX JOB ...
//SARGRW01 EXEC PGM=SARGRW
//STEPLIB DD DISP=SHR,DSN=VIEW.CVDELOAD <=== Modify, if used
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,(5),,CONTIG)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,(5),,CONTIG)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,(5),,CONTIG)
//SYSUDUMP DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//PRTFILE DD SYSOUT=*
//OUTFILE DD DISP=(,CATLG,DELETE),
// DSN=XXXXXX.XXXXXX.SARGRWOP,
// DCB=(RECFM=F,LRECL=80,BLKSIZE=80),
// SPACE=(TRK,(5,1),RLSE),
// UNIT=XXXX,VOLSER=XXXXXX
//SYSIN DD *
/CONTROL SEQ=RID DATABASE=VIEW_HLQ2 <=== Modify View DB Name
/ OUTPUT '/CHANGE BACKUP=OFF ID=' COL(1)
/ OUTPUT SUBSTR(RID,1,25) COL(23)
/ OUTPUT 'GEN=' COL(49)
/ OUTPUT EDIT(GEN,'99999') COL(53)
/ OUTPUT 'SEQ=' COL(59)
/ OUTPUT EDIT(SEQ,'99999') COL(63)
/END
/*
//
g) Then, run the following SARBCH job:
//XXXXXXXX JOB ...
//SARBCH EXEC PGM=SARBCH,PARM='VIEW_HLQ2' <=== MODIFY DB NAME
//STEPLIB DD DISP=SHR,DSN=VIEW.CVDELOAD <=== MODIFY, IF USED
//SYSPRINT DD SYSOUT=*
//REPORT DD SYSOUT=*
//SYSIN DD DISP=SHR,DSN=XXXXXX.XXXXXX.SARGRWOP
//
h) After the above SARBCH run, at the next View backup, all reports will be backed up to new tapes.