Can SARDBASE UNLOAD target specific View reports selectively?
A SARDBASE Selective UNLOAD can be used to unload a partial View database to a flat file. The result would be a database that can stand on its own, and would require the running of a SARDBASE UNLOAD on the main database, and then a SARDBASE MERGE, to bring the reports back to the original database.
Below is JCL for a SARDBASE Selective UNLOAD:
//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 ATIME=hh:mm
J=xxxxxxxx ADATE=mm/dd/yyyy ATIME=hh:mm
/*
//SARUNLD DD DISP=(,CATLG,DELETE),
// DSN=XXXXXX.XXXXXX.SARSLUND,
// DCB=(RECFM=VB,LRECL=32756,BLKSIZE=32760),
// SPACE=(CYL,(NNN,NN),RLSE),
// UNIT=XXXX,VOL=SER=YYYYYY
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
UNLOAD
/*
//
The SARUNLTB cards can have the following format:
. . JOBNAME=xxxxxxxx
. . JOB=xxxxxxxx
. . J=xxxxxxxx
. . The jobname can be wildcarded.
. . SYSOUTID=xxxxxxxxxxxx
. . SYSOUT=xxxxxxxxxxxx
. . S=ssssxxxxxxxx
. . The Sysout ID can be wildcarded.
Here is JCL to run a standard SARDBASE UNLOAD:
//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=*
//SARUNLD DD DISP=(,CATLG,DELETE),
// DSN=XXXXXX.XXXXXX.SARUNLD,
// DCB=(RECFM=VB,LRECL=32756,BLKSIZE=32760),
// SPACE=(CYL,(NNN,NNN),RLSE),
// UNIT=XXXX,VOL=SER=YYYYYY,
//SYSIN DD *
UNLOAD
/*
//
Here is JCL to run a SARDBASE MERGE:
//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=*
//SARMERG1 DD DISP=SHR,DSN=XXXXXX.XXXXXX.SARUNLD
//SARMERG2 DD DISP=SHR,DSN=XXXXXX.XXXXXX.SARUNLD2
//SYSIN DD *
MERGE
/*
//
View's SARPAC function should then be run on each database, to ensure that the reports are on the proper tapes.
-- The MERGE must be done to a new, empty database.
-- When running a SARDBASE UNLOAD, all tasks against that database need to be down, including any Deliver RMOSTC task that writes directly to the database.