Cuando queramos compilar un programa Cobol que contenga invocaciones a DB2 no nos bastará con usar el Compilador estándar de Cobol, que tiene únicamente los pasos de Compilación y de Linkedit. Por contra, habremos de incluir, además, un paso de Precompilación y, opcionalmente, otro paso de Prelinkedit.
En este post vamos a indicar cómo debería ser nuestro JCL de Compilación Cobol DB2 con los pasos de Precompilación, Compilación y Linkedit. Otro día indicaremos cómo quedaría el JCL si quisiésemos incluir el paso de Prelinkedit.
A continuación, mostramos cómo sería el JCL completo para el fuente "JJ0004CB".
//JJCOM8CL JOB 102,'COMPILADOR COBOL DB2',NOTIFY=&SYSUID,
// MSGCLASS=Q,CLASS=A,MSGLEVEL=(1,1),REGION=0M,TIME=(0,7)
//**************************************************************
//* SYSLIB ES LA LIB. DE COPYS
//* SYSIN ES LA LIB. DE PROGRAMAS FUENTES
//* SYSLMOD ES LA LIB. DE PROGRAMAS OBJETOS O EJECUTABLES
//**************************************************************
//STEP0 EXEC DSNHICOB
//* 1 - LIBRERIAS DEL PRECOMPILADOR DSNHPC
//* --------------------------------------
//PC.SYSIN DD DSN=LIBPR.FUENTES.JJ00(JJ0004CB),DISP=SHR
//PC.SYSLIB DD DSN=CEE.SCEELKED,DISP=SHR
//PC.DBRMLIB DD DSN=LIBPR.DBRM.JJ00(JJ0004CB),DISP=SHR
//* 2 - LIBRERIAS DEL COMPILADOR IGYCRCTL
//* -------------------------------------
//COB.STEPLIB DD DSN=IGY410.SIGYCOMP,DISP=SHR
//* 3 - LIBRERIAS DE LINKED IEWL
//* ----------------------------
//LKED.SYSLMOD DD DSN=LIBPR.MODULOS.JJ01(JJ0004CB),DISP=SHR
//LKED.SYSLIB DD DSN=CEE.SCEELKED,DISP=SHR
// DD DSN=LIBPR.COPYS.JJ00,DISP=SHR
// DD DSN=DSN910.SDSNLOAD,DISP=SHR
//* 4 - INCLUIR DB2 INTERFACE FUNCTION
//* ----------------------------------
//LKED.SYSIN DD *
INCLUDE SYSLIB(DSNELI)
//
Como vemos, contiene los siguientes pasos:
1º) Precompilación: aquí hay que incluir las librerías SYSIN, SYSLIB y DBRMLIB.
2º) Compilación: únicamente se precisa resolver la librería STEPLIB.
3º) Linkedit: hay que especificar SYSLMOD y SYSLIB.
4º) DB2 Interface Function: finalmente, hay que añadir un INCLUDE con el objeto DSNELI.
Una vez ejecutado este JCL de Compilación, ya tendremos generados tanto el objeto LOAD MODULE como el objeto DBRM. Para enlazar ambos y crear nuestro Ejecutable tendremos que lanzar el proceso de BIND sobre ellos.
Otro día, en otro post, os pondremos un ejemplo de cómo quedaría un JCL con el paso de BIND de un programa Cobol DB2.
Y nada más. Esperamos que la cosa haya quedado bastante clara con el ejemplo indicado.
Saludos.
No hay comentarios:
Publicar un comentario