Previous Topic: Execute the Syntax GeneratorNext Topic: Run-Time Interface JCL


IPSB Compiler JCL

The JCL necessary to execute the IPSB compiler to assemble and link edit the output is shown below:

IPSB COMPILER (z/OS)

//DLMG  EXEC  PGM=IDMSDLMG
//STEPLIB DD  DSN=idms.loadlib,DISP=SHR
//SYSLST DD  SYSOUT=A,DCB=BLKSIZE=133
//SYSPCH DD  DSN=&&SYSPCH,UNIT=disk,SPACE=(4000,(100,50))
//              DCB=(RECFM=FB,LRECL=80,BLKSIZE=4000),DISP=(NEW,PASS)
//SYSIPT DD  *
ipsb input statements
/*
//ASM  EXEC  PGM=ASMA90
//SYSPRINT DD  SYSOUT=A
//SYSLIB DD  DSN=yourHLQ.CAGJMAC,DISP=SHR
//SYSUT1 DD  UNIT=disk,SPACE=(cyl,(2,2))
//SYSUT2 DD  UNIT=disk,SPACE=(cyl,(2,2))
//SYSUT3 DD UNIT=disk,SPACE=(cyl,(2,2))
//SYSPUNCH DD DSN=&&IPSB,UNIT=disk,DISP=(NEW,PASS),
//    SPACE=(80,(400,40))
//SYSIN  DD  DSN=&&SYSPCH,DISP=(OLD,DELETE)
//LINK      EXEC  PGM=HEWL
//SYSPRINT      SYSOUT=A
//SYSLIN DD  DSN=&&IPSB,DISP=(OLD,DELETE)
//SYSUT1 DD  UNIT=disk,SPACE=(trk,(20,5))
//SYSLMOD DD  DSN=idms.loadlib(ipsb),DISP=SHR

idms.loadlib

data set name of the CA IDMS/DB load library containing the subschema description and IDMSDLMG

cyl,(2,2)

space to be allocated in bytes per cylinders

disk

symbolic device type for the disk file

&&IPSB

temporary data set containing the output from the assembly step

yourHLQ.CAGJMAC

data set name of the macro library

&&SYSPCH

temporary data set containing the output from IPSB compiler (IDMSDLMG)

trk,(20,5)

space to be allocated in bytes per tracks

4000,(100,50)

space to be allocated in bytes per blocks

80,(400,40)

space to be allocated in bytes per blocks

IPSB COMPILER (z/VSE)

// JOB
// LIBDEF *,SEARCH=idms.library
// LIBDEF *,CATALOG=ipsb.library
// DLBL IJSYSPH,'===.compiler.output',0
// EXTENT SYSPCH,nnnnnn,1,,ssss,llll
// ASSGN SYSPCH,DISK,VOL=nnnnnn,SHR
// EXEC IDMSDLMG
insert IPSB source statements here
/*
CLOSE SYSPCH,PUNCH
/*
// DLBL  IJSYSIN,'===.compiler.output',0
// EXTENT SYSIPT,nnnnnn,1,,ssss,llll
   ASSGN  SYSIPT,DISK,PERM,VOL=TECHD1,SHR
// OPTION DECK,NOEDECK,LIST,NORLD,NOXREF
// EXEC  ASSEMBLY
/*
CLOSE SYSIPT,SYSRDR
CLOSE SYSPCH,OOD
/*
DLBL IJSYSIN,'===.assembler.output',0:
// EXTENT SYSIPT,nnnnnn,1,,ssss,llll
   ASSGN SYSIPT,DISK,VOL=nnnnnn,SHR
// OPTION CATAL
   PHASE ipsbname,*
   INCLUDE
// EXEC LNKEDT
/*
   CLOSE SYSIPT,SYSRDR
/*

idms.library

name of the library

ipsb.library

name of the library that is to contain the compiled IPSB modules

ijsysin

file name of the input file to the linkage editor

ijsyspch

file name of the output file

llll

number of tracks required for the disk file

nnnnnn

volume serial number of the disk unit

ssss

relative starting track of the disk file

sysipt

logical-unit assignment of the input file to the linkage editor

syspch

logical-unit assignment of the output file

ipsbname

name of the IPSB runtime module

The JCL necessary to execute the CA IDMS DLI Transparency program definition table compiler (IDMSDLTG) and to assemble and link edit the DLPDTAB output is shown below:

PROGRAM DEFINITION TABLE COMPILER (z/OS)

//DLTG  EXEC  PGM=IDMSDLTG
//STEPLIB DD  DSN=idms.loadlib,DISP=SHR
//SYSLST DD  SYSOUT=A,DCB=BLKSIZE=133
//SYSPCH DD  DSN=&&SYSPCH,UNIT=disk,SPACE=(4000,(100,50))
//              DCB=(RECFM=FB,LRECL=80,BLKSIZE=4000),DISP=(NEW,PASS)
//SYSIPT DD  *
pdt input statements
/*
//ASM  EXEC  PGM=ASMA90
//SYSPRINT DD  SYSOUT=A
//SYSLIB DD  DSN=yourHLQ.CAGJMAC,DISP=SHR
//SYSUT1 DD  UNIT=disk,SPACE=(cyl,(2,2))
//SYSUT2 DD  UNIT=disk,SPACE=(cyl,(2,2))
//SYSUT3 DD UNIT=disk,SPACE=(cyl,(2,2))
//SYSPUNCH DD DSN=&&PDTB,UNIT=disk,DISP=(NEW,PASS),
//    SPACE=(80,(400,40))
//SYSIN  DD  DSN=&&SYSPCH,DISP=(OLD,DELETE)
//LINK      EXEC  PGM=HEWL
//SYSPRINT      SYSOUT=A
//SYSLIN DD  DSN=&&PDTB,DISP=(OLD,DELETE)
//SYSUT1 DD  UNIT=disk,SPACE=(trk,(20,5))
//SYSLMOD DD  DSN=idms.loadlib(DLPDTAB),DISP=SHR

idms.loadlib

data set name of the CA IDMS/DB load library containing the subschema description and IDMSDLTG

cyl,(2,2)

space to be allocated in bytes per cylinders

disk

symbolic device type for the disk file

&&PDTB

temporary data set containing the output from the assembly step

yourHLQ.CAGJMAC

data set name of the macro library

&&SYSPCH

temporary data set containing the output from program definition table compiler (IDMSDLTG)

trk,(20,5)

space to be allocated in bytes per tracks

4000,(100,50)

space to be allocated in bytes per blocks

80,(400,40)

space to be allocated in bytes per blocks

DLPDTAB

required link edit module name in the SYSLMOD statement.

PROGRAM DEFINITION TABLE COMPILER (z/VSE)

// JOB
// LIBDEF *,SEARCH=idms.library
// LIBDEF *,CATALOG=pdtb.library
// DLBL IJSYSPH,'===.compiler.output',0
// EXTENT SYSPCH,nnnnnn,1,,ssss,llll
// ASSGN SYSPCH,DISK,VOL=nnnnnn,SHR
// EXEC IDMSDLTG
insert PDT  source statements here
/*
CLOSE SYSPCH,PUNCH
/*
// DLBL  IJSYSIN,'===.compiler.output',0
// EXTENT SYSIPT,nnnnnn,1,,ssss,llll
   ASSGN  SYSIPT,DISK,PERM,VOL=TECHD1,SHR
// OPTION DECK,NOEDECK,LIST,NORLD,NOXREF
// EXEC  ASSEMBLY
/*
CLOSE SYSIPT,SYSRDR
CLOSE SYSPCH,OOD
/*
DLBL IJSYSIN,'===.assembler.output',0:
// EXTENT SYSIPT,nnnnnn,1,,ssss,llll
   ASSGN SYSIPT,DISK,VOL=nnnnnn,SHR
// OPTION CATAL
   PHASE pdtbname,*
   INCLUDE
// EXEC LNKEDT
/*
   CLOSE SYSIPT,SYSRDR
/*

idms.library

name of the library

pdtb.library

name of the library that is to contain the compiled PDT modules

ijsysin

file name of the input file to the linkage editor

ijsyspch

file name of the output file

llll

number of tracks required for the disk file

nnnnnn

volume serial number of the disk unit

ssss

relative starting track of the disk file

sysipt

logical-unit assignment of the input file to the linkage editor

syspch

logical-unit assignment of the output file

pdtbname

name of the PDT runtime module (DLPDTAB)