Desarrollando en Cobol y Natural sobre Plataforma Mainframe

jueves, 13 de febrero de 2014

Librerías de Módulos para Transacciones CICS

Cuando creamos una Transacción CICS y la asociamos a un determinado programa Cobol, la ejecución de dicha transacción va a buscar el módulo del programa en unas librerías determinadas, que son las librerías estándar que se han definido a la hora de inicializar el CICS.

En ocasiones, al ejecutar nuestra Transacción CICS obtenemos un mensaje de error indicándonos que no se encuentra la aplicación. Sin embargo, la compilación de nuestro programa se realizó correctamente. ¿Qué es lo que ha pasado, entonces? Pues, en muchas ocasiones, el problema es que nuestro CICS no está apuntando a la librería en la que se encuentra el módulo de nuestro programa y, por tanto, no puede ejecutarlo correctamente.

Para configurar las librerías de módulos a las que tiene que apuntar el CICS tenemos que acceder a los procedimientos CICSA y CICSB, que son los JCL que realizan la inicialización del sistema. Estos procesos se encuentran en la librería estándar ADCD.Z110.PROCLIB.



Procedimientos CICSA y CICSB

Una vez que accedemos al procedimiento CICSA, tendremos que buscar el paso DFHRPL (CICS Library Concatenation). Ahí encontraremos las librerías a las que el CICS va a buscar los módulos de los programas cuando se ejecuta una transacción.

Por defecto, las librerías son las siguientes:

//DFHRPL   DD DSN=&INDEX2..SDFHLOAD,DISP=SHR
//         DD DSN=CEE.SCEECICS,DISP=SHR    
//         DD DSN=CEE.SCEERUN,DISP=SHR
    

Si los nuevos módulos que estamos generando se están almacenando en una ubicación diferente, entonces tendremos que especificárselo al CICS en este paso. Por ejemplo, nosotros generamos los módulos en la librería LIBPR.MODULOS.JJ01. Por tanto, necesitaremos incluir dicha librería en el jcl CICSA. Así, el paso quedaría así:

//DFHRPL   DD DSN=&INDEX2..SDFHLOAD,DISP=SHR
//         DD DSN=CEE.SCEECICS,DISP=SHR     
//         DD DSN=CEE.SCEERUN,DISP=SHR      
//         DD DSN=LIBPR.MODULOS.JJ01,DISP=SHR


Una vez guardado el procedimiento con esta nueva información, ya no deberíamos tener problemas con el enlace entre las Transacciones CICS y los módulos de los programas Cobol asociados.



Este mismo cambio que hemos hecho en CICSA deberemos realizarlo también en el procedimiento CICSB. Siguiendo con el ejemplo de arriba, aquí también tendremos que incluir la librería LIBPR.MODULOS.JJ01 en el paso DFHRPL del jcl CICSB.



Una vez guardada esta información, ya tendremos adaptados nuestros procedimientos CICSA y CICSB. Recordad que la ubicación de los mismos en la librería ADCD.Z110.PROCLIB puede variar ligeramente en función de la instalación de nuestro sistema.

La adaptación de estos procedimientos CICS evitará que tengamos el problema que se mencionaba al principio del post, según el cual la ejecución de nuestras transacciones no encontraba los módulos de los programas a pesar de que habían compilado correctamente.

Y eso es todo por lo que respecta a este tema. Por muy simples que nos parezcan estos problemas, es importante no olvidar lo comentado, ya que alguna vez se nos puede plantear un caso similar a nosotros.

Saludos.

2 comentarios:

  1. Estoy tratando de configurar en el STARTUP del cics para que se conecte con el DB2. Podrias indicar los pasos para ello. gracias por el post, excelente informacion.

    ResponderEliminar
  2. muy buena informacion. Felicitaciones!
    me gustaria que hagan post sobre como configurar la interfaz entre el cics y db2 en el Hercules ADCD z110, llevo tiempo queriendo hacer eso ya que mis programas cobol cics no se logran conectar con el db2 (abend aey9). saludos

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...