Previous Topic: SyntaxNext Topic: RMODBB - Database Construction from Existing Data


Examples of Control Statements

The following example illustrates how to create a database with a high-level name of DELIVER.SYSTEM1 and allocate 10 cylinders on 3390 volume RMO001.

Note: The high-level name is limited to 17 characters.

//EXAMPLE1 JOB ACCOUNT,PROGRAMMER
//STEP1    EXEC PGM=RMODBASE
//STEPLIB  DD DSN=CAI.CVDELOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN    DD * 
NAME DELIVER.SYSTEM1
ADDDS CYLINDER=10 UNIT=3390 VOLSER=RMO001
MAKECKPT CYLINDER=10 UNIT=3390 VOLSER=RMO004 EMPTY
//

The database defined in the previous example is out of space. For this part of the example, an additional 40 cylinders are added on 3390 volume RMO002. After space is added, statistics are displayed.

//EXAMPLE2 JOB ACCOUNT,PROGRAMMER
//STEP1    EXEC PGM=RMODBASE
//STEPLIB  DD DSN=CAI.CVDELOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
NAME DELIVER.SYSTEM1
ADDDS UNIT=3390 VOLSER=RMO002 CYLINDER=40
STATUS
//

Changes are made to the online library, which is to be reloaded to DELIVER.SYSTEM1.

//EXAMPLE3 JOB ACCOUNT,PROGRAMMER
//STEP1    EXEC PGM=RMODBASE,PARM='DELIVER.SYSTEM1'
//STEPLIB  DD DSN=CAI.CVDELOAD,DISP=SHR
//RMOOLIB  DD DSN=CAI.CVDEPENU,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
OLOAD
//

The checkpoint data set is to be expanded for existing database DELIVER.SYSTEM1, as shown in the following example.

//EXAMPLE4 JOB ACCOUNT,PROGRAMMER
//STEP1    EXEC PGM=RMODBASE
//STEPLIB  DD DSN=CAI.CVDELOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
NAME DELIVER.SYSTEM1
MAKECKPT UNIT=3390 VOLSER=RMO004 CYLINDER=10
STATUS
//

Changes have been made to the model banner page library. It is to be reloaded to database DELIVER.SYSTEM1.

//EXAMPLE4 JOB ACCOUNT,PROGRAMMER
//STEP1    EXEC PGM=RMODBASE,PARM='DELIVER.SYSTEM1'
//STEPLIB  DD DSN=CAI.CVDELOAD,DISP=SHR
//RMOBLIB  DD DSN=CAI.CVDED133,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
BLOAD
//

Database DELIVER.SYSTEM1 has continually grown in size with the addition of many data sets. For performance reasons it is to be copied to one new large database. The name of the old database (DELIVER.OLDSYS1) is to be kept. This sample job is shown as follows:

//EXAMPLE5 JOB ACCOUNT,PROGRAMMER
//STEP1    EXEC PGM=RMODBASE
//STEPLIB  DD DSN=CAI.CVDELOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
NAME DELIVER.SYSTEM1
RENAME DELIVER.OLDSYS1
NAME DELIVER.SYSTEM1
ADDDS CYLINDER=60 UNIT=3390 VOLSER=RMO001
MAKECKPT UNIT=3390 VOLSER=RMO004 CYLINDER=10
COPY DELIVER.OLDSYS1
//

Database DELIVER.OLDSYS1 is no longer being used and is to be deleted. This sample JCL shows how to delete a database.

//EXAMPLE6 JOB ACCOUNT,PROGRAMMER
//STEP1    EXEC PGM=RMODBASE
//STEPLIB  DD DSN=CAI.CVDELOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
NAME DELIVER.OLDSYS1
DELETE
//

The database is to be unloaded on a periodic basis for backup purposes; the unloaded backup is to be a generation data set on tape. Sample JCL is shown as follows:

//EXAMPLE7 JOB ACCOUNT,PROGRAMMER
//STEP1    EXEC PGM=RMODBASE
//STEPLIB  DD DSN=CAI.CVDELOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//RMOUNLD  DD DSN=DELIVER.BACKUP.RMODBASE(+1),
//         DISP=(,CATLG),UNIT=TAPE
//SYSIN    DD *
NAME DELIVER.SYSTEM1
UNLOAD
//

The database is to be recovered. It is to be restored from the most recent backup (see the previous example). The database is named DELIVER.SYSTEM1 and is first to be renamed to DELIVER.OLDSYS1. This sample job recovers the database as shown as follows:

//EXAMPLE8 JOB ACCOUNT,PROGRAMMER
//STEP1    EXEC PGM=RMODBASE
//STEPLIB  DD  DSN=CAI.CVDELOAD,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//RMOLOAD  DD  DSN=DELIVER.BACKUP.RMODBASE(+0),DISP=OLD
//SYSIN    DD  *
NAME DELIVER.SYSTEM1
RENAME DELIVER.OLDSYS1
NAME DELIVER.SYSTEM1
ADDDS CYLINDER=60 UNIT=3390 VOLSER=RMO001
MAKECKPT UNIT=3390 VOLSER=RMO004 CYLINDER=10
LOAD
//

The database is to have all history records (including basic history) deleted. The following sample deletes the history records.

//EXAMPLE9 JOB ACCOUNT,PROGRAMMER
//STEP1    EXEC PGM=RMODBASE
//STEPLIB  DD  DSN=CAI.CVDELOAD,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  *
NAME DELIVER.SYSTEM1
HDELETE ALL
//

RMODBASE samples are in the following CVDEJCL members: