Running the DBDGEN procedure
Running the DBDGEN procedure is a two step assemble and bind procedure that produces database definition blocks. Stage 2 of system definition causes the DBDGEN procedure to be placed in the IMS™.PROCLIB library.
Recommendations
If your IMS system does not manage runtime application control blocks (ACB) by using the catalog, you must regenerate DBDs by using the DBDGEN utility after you import resources into z/OS by using IMS Explorer. For example, if you import a COBOL copybook definition or a new database definition to z/OS, you must use the DBDGEN utility to regenerate your database descriptions.
JCL for the DBDGEN utility
The following example shows the JCL for the DBDGEN utility.
// PROC MBR=TEMPNAME,SOUT=A,RGN=0M,SYS2=
//C EXEC PGM=ASMA90,REGION=&RGN,
// PARM=(OBJECT,NODECK,NODBCS,
// 'SIZE(MAX,ABOVE)')
//SYSLIB DD DSN=IMS.&SYS2.SDFSMAC,DISP=SHR
//SYSLIN DD UNIT=SYSDA,DISP=(,PASS),
// SPACE=(80,(100,100),RLSE),
// DCB=(BLKSIZE=80,RECFM=F,LRECL=80)
//SYSPRINT DD SYSOUT=&SOUT,DCB=BLKSIZE=1089,
// SPACE=(121,(300,300),RLSE,,ROUND)
//SYSUT1 DD UNIT=SYSDA,DISP=(,DELETE),
// SPACE=(CYL,(10,5))
//L EXEC PGM=IEWL,PARM='XREF,LIST',
// COND=(0,LT,C),REGION=4M
//SYSLIN DD DSN=*.C.SYSLIN,DISP=(OLD,DELETE)
//SYSPRINT DD SYSOUT=&SOUT,DCB=BLKSIZE=1089,
// SPACE=(121,(90,90),RLSE)
//SYSLMOD DD DISP=SHR,
// DSN=IMS.&SYS2.DBDLIB(&MBR)
//SYSUT1 DD UNIT=(SYSDA,SEP=(SYSLMOD,SYSLIN)),
// SPACE=(1024,(100,10),RLSE),DISP=(,DELETE)
Procedure to invoke the DBDGEN
To process a request for a DBDGEN, the DBD generation control statements must be created and appended to the JCL (shown in the following figure) which invokes the DBDGEN procedure.
//DBDGEN JOB
// EXEC DBDGEN,MBR=
//C.SYSIN DD *
DBD
DATASET
SEGM
FIELD DBD generation control statements
LCHILD
XDFLD
DBDGEN
FINISH
END
/*
JCL parameters
- MBR=
- Is the name of the DBD to be generated. This name should be the same as the first name specified for the NAME= keyword on the DBD statement. The first database name becomes the DBD member name and, in the case of a shared secondary index, the additional names are added as aliases. When a database PCB relates to this DBD generation, one of the names specified in the NAME= keyword on the DBD statement must be the name used in the DBDNAME= keyword on the database PCB statement. Except for a shared secondary index, the name used in the DBDNAME= keyword on the database PCB statement must be the same as the name used in the MBR= keyword value.
- RGN=
- Specifies the region size for this execution. The default is 256 KB.
- SOUT=
- Specifies the class assigned to SYSOUT DD statements.
- SYS2=
- Specifies
an optional second level dsname qualifier for those data sets which
are designated as
Optional Replicate
in an XRF complex. When specified, the parameter must be enclosed in quotes and must include a trailing period; for example, SYS2='IMSA.'.
Step C
Step C is the assembly step. The following DD statement is needed for this step.
- SYSIN DD
- Defines the input data sets to step C. These DD statements must be provided when invoking the procedure.
Step L
Step L is the bind step.
//L EXEC PGM=IEWL,PARM='XREF,LIST,AMODE=31',
// COND=(0,LT,C),REGION=120K
If you do not
specify different values for AMODE or RMODE, the default values are
in effect. You must always run the bind step with RMODE=24. The following
DD statement is needed for this step.- IMS.DBDLIB DD
- Defines an output partitioned data set, IMS.DBDLIB, for the binder.