View previous topic :: View next topic
|
Author |
Message |
Bitneuker
CICS Moderator

Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
From time to time people want to know about the DBDGEN and PSBGEN Here's the explanation of a job for generating a DBD and PSB.
The assembler compiler IEV90.
Code: |
//C EXEC PGM=IEV90,PARM='OBJECT,NODECK'
|
The library containing the macro's delivered by IBM for generating the object. The name of the library depends on your site.
Code: |
//SYSLIB DD DSN=SYS.IMS.MACLIB,DISP=SHR
|
In our shop the following macro's are used. Just a small piece is shown.
Code: |
********************************* Top of Data **************************
MACRO @BIAA4
DBD &NAME=,&ACCESS=,&RMNAME=,&PASSWD=NO, X
&EXIT=,&VERSION=,&PSNAME=,&DATXEXIT=NO @PQ13662
.*
.*************************************************************@SCPYRT**
.* *
.* Licensed Materials - Property of IBM *
.* *
.* Restricted Materials of IBM *
.* *
.* 5655-C56 *
.* *
.* (C) Copyright IBM Corp. 1974,1998 *
.* *
.*************************************************************@ECPYRT**
**********************************************************************
* *
* *
* FUNCTION - THE DBD MACRO IS AN EXTERNAL DBDGEN USER MACRO WHICH *
* DESCRIBES THE OVERALL CHARACTERISTICS OF THE DATA BASE TO BE *
* DEFINED. IT NAMES THE DATA BASE AND ALSO PROVIDES INFORMATION *
* CONCERNING ITS ORGANIZATION. *
* THE PROCESSING IS DIVIDED INTO THE FOLLOWING SECTIONS: *
* INITIALIZATION *
* NAME= OPERAND PROCESSING *
* ACCESS= OPERAND PROCESSING *
* RMNAME= OPERAND PROCESSING *
* PASSWD= OPERAND PROCESSING *
* THIS PROCESSING CONSISTS PRIMARILY OF VALIDITY CHECKING AND *
* THE SAVING OF SYMBOLIC PARAMETER USER INFORMATION IN THE *
* ASSOCIATED GLOBAL VARIABLES. *
* THIS DBD MACRO ALSO PROVIDES UPWARD COMPATIBILITY SUPPORT FOR *
* THE DBD STMT IN OS/360 VERSION 1 AND VERSION 2 DBDGEN. *
* SEE MANUALS SH20-0634 (VER. 1) AND SH20-0915 (VER. 2) FOR *
* FURTHER INFORMATION ABOUT OS/360 DBDGEN. *
* *
* *
* SYMBOLS - SEE GLOBAL AND LOCAL SET SYMBOLS DEFINED ABOVE; ALSO: *
* *
* SEE IMS/VS UTILITIES REFERENCE MANUAL FOR A COMPLETE *
* DESCRIPTION OF THE OPERANDS OF THIS MACRO. *
* *
|
Invoked by the inputmember
Code: |
********************************* Top of Data **********************************
*
* DATABASE TBV PVS REPLICATOR CREATED 25-09-2002 ROB JACOBS
*
* PRODUKT DATA BASE
DBD X +
ACCESS=HIDAM, X +
NAME=DBNLREP +
DATASET X +
DD1=DBNLREP, X +
SIZE=4096, X
DEVICE=3390 +
* ROOT
SEGM X +
PARENT=0, X +
POINTER=TB, X +
BYTES=50, X +
|
Code: |
********************************* Top of Data *************************
MACRO @BIAA4
DBDGEN
.*
.*************************************************************@SCPYRT**
.* *
.* Licensed Materials - Property of IBM *
.* *
.* Restricted Materials of IBM *
.* *
.* 5655-C56 *
.* *
.* (C) Copyright IBM Corp. 1974,1998 *
.* *
.*************************************************************@ECPYRT**
.*
**********************************************************************
* *
* *
* FUNCTION - THE DBDGEN MACRO IS AN INTERNAL DBDGEN MACRO *
* WHICH PERFORMS THE FINAL CHECKS FOR THIS DBD GENERATION AND *
* ALSO GENERATES THE CSECTS WHICH MAKE UP THE LOAD MODULE WHICH *
* DESCRIBES THIS DATA BASE. MACRO SOURSEG IS INVOKED TO *
* GENERATE THE SOURCE SEGMENT TABLE, THE SECONDARY INDEX TABLE, *
* AND THE SECONDARY INDEX MAINTENANCE ROUTINE CSECTS. *
* THE DBDGEN MACRO ALSO PROVIDES UPWARD COMPATIBILITY SUPPORT *
* FOR THE DBDGEN STMT IN OS/360 VERSION 1 AND VERSION 2 DBDGEN. *
* SEE MANUALS SH20-0634 (VER. 1) AND SH20-0915 (VER. 2) FOR *
* FURTHER INFORMATION ABOUT OS/360 DBDGEN. *
* *
* *
* SYMBOLS - SEE GLOBAL AND LOCAL SET SYMBOLS DEFINED ABOVE. *
* *
* *
**********************************************************************
|
Invoked by
Code: |
*
DBDGEN +
FINISH +
END +
|
For PSB's
Code: |
********************************* Top of Data **************************
MACRO
PSBGEN &LANG=,&PSBNAME=,&SSASIZE=,&IOASIZE=,&IOEROPN=, *
&MAXQ=,&CMPAT=,&OLIC=,&LOCKMAX=,&GSROLBOK= @KW40303
.*
.*************************************************************@SCPYRT**
.* *
.* Licensed Materials - Property of IBM *
.* *
.* Restricted Materials of IBM *
.* *
.* 5655-C56 *
.* *
.* (C) Copyright IBM Corp. 1974,1998 *
.* *
.*************************************************************@ECPYRT**
|
Invoked by
Code: |
PSBGEN LANG=PL/I,PSBNAME=TPNSVER
END
|
The next one is the dataset containing the compiled object input to the next step: the linker.
Code: |
//SYSLIN DD DISP=(,PASS),
// SPACE=(80,(100,100),RLSE),
// DCB=(BLKSIZE=400,RECFM=FB,LRECL=80),
// UNIT=SYSDA
|
Used by IEV90
Code: |
//SYSPRINT DD SYSOUT=X,
// SPACE=(121,(300,300),RLSE,,ROUND),
// DCB=BLKSIZE=1089
//SYSUT1 DD DISP=(,DELETE),
// SPACE=(1700,(100,50)),
// UNIT=SYSDA
//SYSUT2 DD DISP=(,DELETE),
// SPACE=(1700,(100,50)),
// UNIT=SYSDA
//SYSUT3 DD SPACE=(1700,(100,50)),
// UNIT=(SYSDA,SEP=(SYSLIB,SYSUT1,SYSUT2))
//*
|
the input to the compiler containing the source of DBD or PSB
Code: |
//SYSIN DD DSN=NTSYS.IMSVS.DBDSRC(DBNLREP),DISP=SHR
|
The linkstep to produce the actual DBD or PSB
Code: |
//L EXEC PGM=DFSILNK0,PARM='XREF,LIST',COND=(0,LT,C)
//SYSLIN DD DSN=*.C.SYSLIN,DISP=(OLD,DELETE)
//SYSPRINT DD SYSOUT=X,
// SPACE=(121,(90,90),RLSE),
// DCB=BLKSIZE=1089
|
The library where the final DBD or PSB is stored.
Code: |
//SYSLMOD DD DSN=NTSYS.IMSVS.DBDLIB(DBNLREP),DISP=SHR
|
Needed by the linker
Code: |
//SYSUT1 DD DISP=(,DELETE),
// SPACE=(1024,(100,10),RLSE),
// UNIT=(SYSDA,SEP=(SYSLMOD,SYSLIN))
//*
|
|
|
Back to top |
|
 |
bipinpeter
Active User
.jpg)
Joined: 18 Jun 2007 Posts: 213 Location: Cochin/Kerala/India
|
|
|
|
Hi Bitneuker,
I want create an PSB for my IMS program.I write a JCL as per the above instriction,Below is my JCL.
//C EXEC PGM=IEV90,PARM='OBJECT,NODECK'
//SYSLIB DD DSN=MACRO LIB,DISP=SHR
//SYSLIN DD DISP=(,CATLG),DSN=XXXX.YYYYYY.ZZZZ.ASCF.COMPILER,
// SPACE=(80,(100,100),RLSE),
// DCB=(BLKSIZE=400,RECFM=FB,LRECL=80),
// UNIT=SYSDA
//SYSPRINT DD SYSOUT=*,
// SPACE=(121,(300,300),RLSE,,ROUND),
// DCB=BLKSIZE=1089
//SYSUT1 DD DISP=(,DELETE),
// SPACE=(1700,(100,50)),
// UNIT=SYSDA
//SYSUT2 DD DISP=(,DELETE),
// SPACE=(1700,(100,50)),
// UNIT=SYSDA
//SYSUT3 DD SPACE=(1700,(100,50)),
// UNIT=SYSDA
//*
//SYSIN DD DSN=SOURCE LIBRARY OF PSB,DISP=SHR
//L EXEC PGM=DFSILNK0,PARM='XREF,LIST',COND=(0,LT,C)
//SYSLIN DD DSN=*.C.SYSLIN,DISP=(OLD,DELETE)
//SYSPRINT DD SYSOUT=*,
// SPACE=(121,(90,90),RLSE),
// DCB=BLKSIZE=1089
//SYSLMOD DD DSN=DESTNATION LIBRARY,DISP=SHR
//SYSUT1 DD DISP=(,DELETE),DSN=DSDD.FDFDFF.EWEE.DSD.FDA.DSA,
// SPACE=(1024,(100,10),RLSE),
// UNIT=SYSDA
//*
Do i need to add anything more?
I didnt understand the macros given for the PSB,how i can invoke them...
Please corrct if i need to do any changes...
Regards,
Bipin Peter |
|
Back to top |
|
 |
|
|