Run-Time Interface JCL

Contents
idms19
Contents
 
Link Edit Batch Call-Level DL/I Applications
To link edit the DL/I application program with the language application program with the language interface/ interface, the JCL for z/OS and for z/VSE is provided below:
IDMSDLLI (LINK EDIT) (z/OS)
//LINK   EXEC  PGM=HEWL //SYSPRINT DD  SYSOUT=A //IDMSLIB  DD  DSN=idms.loadlib,DISP=SHR //SYSLIB  DD  DSN=user.loadlib,DISP=SHR //SYSUT1  DD  UNIT=SYSDA,SPACE=(trk,(20,5)) //SYSLMOD  DD  DSN=user.loadlib,DISP=SHR //SYSLIN  DD  * INCLUDE IDMSLIB(IDMSDLLI) INCLUDE SYSLIB(userpgm) ENTRY DLITCBL     (or appropriate entry point name)  NAME userpgm(R) /* //
idms.loadlib
data set name of the IDMS object library
trk,(20,5)
space to be allocated in bytes per track
user.loadlib
data set name of the load library that is to contain the resulting linked user application program
userpgm
name of the DL/I application program to be link edited to IDMSDLLI
IDMSDLLI (LINK EDIT) (z/VSE)
//JOB //LIBDEF *,SEARCH=(idms.library, user.library) //LIBDEF *,CATALOG=user.library //OPTION CATAL   PHASE userpgm,*   INCLUDE IDMSDLLI   INCLUDE userpgm}   ENTRY userpgm  }      Assembler programs //EXEC  LNKEDT /* CLOSE SYSIPT,SYSRDR /*
idms.library
data set name of the CA IDMS DLI Transparency
user.library
data set name of the library containing the DL/I application program object
user.library
name of the library that is to contain the resulting linked user's application program
userpgm
name of the DL/I application program in the user's object library
COBOL and PL/I Programs
COBOL and PL/I programs should add an INCLUDE statement and replace the ENTRY statement, as follows:
  • COBOL:
    INCLUDE IDMSDLBC ENTRY CBLCALLA
  • PL/I:
    INCLUDE IDMSDLBP ENTRY PLICALLB
Link Edit Batch Command-Level DL/I (EXEC DLI) Applications
To link edit the DL/I application program using EXEC DLI commands with the language application program with the language interface/ interface, the JCL for z/OS and for z/VSE is provided below:
IDMSDLHI (LINK EDIT) (z/OS)
 
//LINK   EXEC  PGM=HEWL //SYSPRINT DD  SYSOUT=A //IDMSLIB  DD  DSN=idms.loadlib,DISP=SHR //SYSLIB  DD  DSN=user.loadlib,DISP=SHR //SYSUT1  DD  UNIT=SYSDA,SPACE=(trk,(20,5)) //SYSLMOD  DD  DSN=user.loadlib,DISP=SHR //SYSLIN  DD  * INCLUDE IDMSLIB(IDMSDLHI) INCLUDE SYSLIB(userpgm) ENTRY DLITCBL     (or appropriate entry point name)  NAME userpgm(R) /* //   
idms.loadlib
data set name of the IDMS object library
trk,(20,5)
space to be allocated in bytes per track
user.loadlib
data set name of the load library that is to contain the resulting linked user application program
userpgm
name of the DL/I application program to be link edited to IDMSDLHI
IDMSDLHI (LINK EDIT) (z/VSE)
 
//JOB
//LIBDEF *,SEARCH=(idms.library, user.library)//LIBDEF *,CATALOG=user.library//OPTION CATAL PHASE userpgm,* INCLUDE IDMSDLHI INCLUDE userpgm} ENTRY userpgm } Assembler programs//EXEC LNKEDT/*CLOSE SYSIPT,SYSRDR/*
idms.library
data set name of the CA IDMS DLI Transparency
user.library
data set name of the library containing the DL/I application program object
user.library
name of the library that is to contain the resulting linked user's application program
userpgm
name of the DL/I application program in the user's object library
 
Execute DL/I Batch Application Program
The JCL to execute a DL/I batch application program is shown below: batch application program is shown below:
Central Version
EXECUTE BATCH APPLICATION (z/OS)
//DLI  EXEC  PGM=IDMSDLRC,PARM='DLI,userprog,ipsb' //STEPLIB DD  DSN=idms.loadlib,DISP=SHR //        DD  DSN=user.loadlib,DISP=SHR //sysctl  DD  DSN=idms.sysctl,DISP=SHR //SYSLST  DD  SYSOUT=A //SYSIDMS DD *   Put SYSIDMS parameters here    DBNAME=database name or segment name  DMCL=DMCL name if other than default of IDMSDMCL  /* //SYSIN  DD  * any additional statements required to run DL/I application program  /*
The user can specify either DLI or DB in the PARM parameter. If ipsb and userprog have the same names, ipsb can be omitted. For more information on all SYSIDMS parameters, see the
CA IDMS Common Facilities Section
.
idms.loadlib
data set name of the CA IDMS DLI Transparency load library
idms.sysctl
data set name of the SYSCTL file
ipsb
the name of the IPSB associated with the DL/I application program
sysctl
ddname of the SYSCTL file
user.loadlib
data set name of the load library containing the DL/I application program
userprog
the name of the DL/I application program
Local Mode
To execute the DL/I batch application program in local mode:
  • Remove the SYSCTL statement.
  • Replace the SYSCTL statement with the following:
//sysjrnl DD DSN=idms.tapejrnl,DISP=(NEW,KEEP),UNIT=tape //userdb  DD  DSN=user.userdb,DISP=SHR
idms.tapejrnl
data set name of the tape journal file
sysjrnl
ddname of the tape journal file
tape
symbolic device type for the tape journal file
userdb
ddname of the user database
user.userdb
data set name of the user database
Central Version
EXECUTE BATCH APPLICATION (z/VSE)
The following JCL is for use if IDMSDLRC includes IDMSDLPC in thelinkedit.
// JOB // LIBDEF *,SEARCH=(idms.library,user.library) // OPTION LOG // DLBL  SYSCTL,'idms.sysctl',0,SD // EXTENT SYS000,nnnnnn // ASSGN SYS000,DISK,VOL=nnnnnn,SHR // DLBL SYSIDMS,'#SYSIPT',0,SD // EXEC IDMSDLRC sysidms parameter statements /* DLI,userprog,ipsbname /*   additional JCL as required to run DL/I application program
The user can specify either DLI or DB. The user can omit ipsb if it has the same name as userprog.
idms.library
data set name of the CA IDMS DLI Transparency library
user.library
name of the library that contains the user's application program
idms.sysctl
name of the DL/I application program in the user's library
ipsbname
name of the IPSB (Interface PSB) that is used by the application program
nnnnnn
volume serial number
userprog
the name of the DL/I application program
The following Run-Time interface JCL is for use if IDMSDLPC is not included in IDMSDLRC.
// JOB // LIBDEF *,SEARCH=(idms.library,user.library) // OPTION LOG // DLBL  SYSCTL,'idms.sysctl',0,SD // EXTENT SYS000,nnnnnn // ASSGN SYS000,DISK,VOL=nnnnnn,SHR // DLBL SYSIDMS,'#SYSIPT',0,SD // EXEC IDMSDLRC PARM='DLI,userprog,ipsbname' sysidms parameter statements /*   additional JCL as required to run DL/I application program
The user can specify either DLI or DB. The user can omit ipsb if it has the same name as userprog.
idms.library
data set name of the CA IDMS DLI Transparency library
user.library
name of the library that contains the user's application program
idms.sysctl
name of the DL/I application program in the user's library
ipsbname
name of the IPSB (Interface PSB) that is used by the application program
nnnnnn
volume serial number
userprog
the name of the DL/I application program
Local Mode JCL
To execute the DL/I application program in local mode:
  • Remove the UPSI statement.
  • Insert the following after the ASSGN statement:
// TLBL  journal,'idms.tapejrnl' // ASSGN sys009,X'ttt' // DLBL  userdb,'user.userdb' // EXTENT sys018,nnnnnn,1,ssss,llll // ASSGN sys018,dddd,VOL=nnnnnn,SHR
idms.tape.jrnl
file-id of the tape journal
dddd
device assignment for the disk file
journal
filename of the tape journal
llll
number of tracks required for the disk file
nnnnnn
volume serial identifier of the appropriate disk volume
sys009
logical-unit assignment of the tape journal file
sys018
logical-unit assignment of the user database
ssss
relative starting track of the disk file
ttt
channel-unit assignment of the journal file
userdb
filename of the user database
user.userdb
file-id of the user database
Assemble IDMSDL1C For CICS Call-Level DL/I Usage (z/OS)
Use the following JCL to assemble IDMSDL1C:
IDMSDL1C (z/OS)
//      EXEC HLASMCL //C.SYSLIB   DD DSN=cics.maclib,DISP=OLD //                  DD DSN=yourHLQ.CAGJMAC,DISP=OLD //C.SYSIN DD *                COPY  #LREDS                COPY  #OPIDS IDMSDL1C CWADISP=nn           END /* //L.SYSLMOD DD DSN=idms.loadlib,DISP=OLD //L.SYSIN DD * ENTRY IDMSDL1C MODE AMODE(31),RMODE(24) NAME  IDMSDL1C(R) //
yourHLQ.CAGJMAC
Data set name of the IDMS macro library
cics.maclib
Data set name of the CICS macro library
idmsdl1c
Name of the IDMSDL1C module
idms.loadlib
Data set name of the CA IDMS load library containing CA IDMS system modules
Syntax
►►── IDMSDL1C CWADISP=cwa-intc-address-displacement ─────────────────────────►◄
Parameters
  • CWADISP=
    Identifies the displacement within the CICS CWA of a fullword that holds the address of the IDMSINTC module.
  • cwa-intc-address-displacement
    Specify the same value given to the CWADISP parameter of the CICSOPTS macro.
When IDMSDL1C is link edited to the CICS DL/I application program, DFHEAI0 must be included in the linkage editor input (if not already included). Also ensure that entry point DFHEI1 has been resolved in this application link edit. For command-level programs entry point DFHEI1 is typically resolved in the language- dependent command-level interface module already present in the link edit. IDMSDL1C requires that entry points DFHEI1 and DFHEAI0 be resolved for successful operation.
Assemble IDMSDL1V For CICS Call-Level DL/I Usage (z/VSE)
The JCL to assemble IDMSDL1V in a z/VSE environment is shown below:
IDMSDL1V (z/VSE)
// JOB // LIBDEF *,SEARCH=(idms.library, cics.library) // OPTION CATAL,DECK // EXEC ASSEMBLY          COPY  #LREDS          COPY  #OPIDS          END /*
IDMSDL1V and the IDMS macros and copy books must be accessible from the assigned source-statement library.
cics.library
data set name of the IBM-supplied CICS library
idms.library
data set name of the CA IDMS DLI Transparency library
nn
CWADISP specifications corresponding to the IDMSINTC CWADISP
Syntax
►►── IDMSDL1V CWADISP=cwa-intc-address-displacement ─────────────────────────►◄
Parameters
  • CWADISP=
    Identifies the displacement within the CICS CWA of a fullword that holds the address of the IDMSINTC module.
  • cwa-intc-address-displacement
    Specify the same value given to the CWADISP parameter of the CICSOPTS macro.
 
Assemble Language Interfaces For Command-Level DL/I (EXEC DLI) Usage
Use the following JCL to assembe the language interfaces:
IDMSDLHC/IDMSDLHP /IDMSDLHA (z/OS)
 
//ASM   EXEC PGM=ASMA90 //SYSLIB DD DSN=cics.maclib,DISP=SHR //       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=&&syspch,UNIT=disk,DISP=(NEW,PASS), //       SPACE=(80,(400,40)) //SYSIN  DD *          IDMSDLHC CWADISP=nn      ß for COBOL applications, use this line only          IDMSDLHP CWADISP=nn      ß for PL/I applications, use this line only          IDMSDLHA CWADISP=nn      ß for ASM applications, use this line only          END /* //LINK   EXEC PGM=HEWL //SYSLMOD DD DSN=idms.loadlib,DISP=SHR //SYSLIN DD DSN=&&syspch,UNIT=disk,DISP=(OLD,DELETE),  ENTRY IDMSDLXX                   ß change to the particular interface used  MODE AMODE(31),RMODE(ANY)  NAME  IDMSDLXX(R)                ß change to the particular interface used //
yourHLQ.CAGJMAC
Data set name of the IDMS macro library
cics.maclib
Data set name of the CICS macro library
idmsdlxx:
IDMSDLHC
IDMSDLHP
IDMSDLHA
Name of the COBOL interface module
Name of the PL/I interface module
Name of the Assembler interface module
idms.loadlib
Data set name of the CA IDMS load library containing CA IDMS system modules
The JCL to assemble in a z/VSE environment is shown below:
IDMSDLCV/IDMSDLPV/IDMSDLAV (z/VSE)
 
// JOB // LIBDEF *,SEARCH=(idms.library) // OPTION CATAL,DECK // EXEC ASSEMBLY          IDMSDLCV CWADISP=nn        ß for COBOL applications, use this line only          IDMSDLPV CWADISP=nn        ß for PL/I applications, use this line only             IDMSDLAV CWADISP=nn        ß for ASM applications, use this line only           END /*
The IDMS macros and copy books must be accessible from the assigned source-statement library. Only one of the interfaces listed above should be assembled at a time. Each interface is specific to a programming language.
idms.library
data set name of the CA IDMS DLI Transparency library
nn
CWADISP specifications corresponding to the IDMSINTC CWADISP
Parameters
  • CWADISP=
    Identifies the displacement within the CICS CWA of a fullword that holds the address of the IDMSINTC module.