Desarrollando en Cobol y Natural sobre Plataforma Mainframe

jueves, 11 de diciembre de 2014

Transacción CEDF: Herramienta CICS de depuración (1)

Al igual que en otros muchos lenguajes más modernos, en el entorno CICS también disponemos de una herramienta para realizar la depuración de los programas COBOL DB2. Como ya sabemos, el empleo de los debuggers nos puede ahorrar mucho tiempo a la hora de encontrar errores en el código de los objetos.

La transacción CEDF sirve para iniciar la herramienta de depuración (o Debugger) de la que disponemos en el entorno CICS. Una vez arrancada, podremos indicar la transacción asociada a nuestra aplicación y CEDF realizará una simulación controlada de la ejecución de la misma, mostrándonos en todo momento el contenido de las variables activas y la parte del código CICS que se está ejecutando.



Si entramos en un terminal CICS e introducimos la transacción CEDF, lo primero que nos aparecerá será el mensaje: "THIS TERMINAL: EDF MODE ON". Esto significa que CEDF está esperando que introduzcamos la transacción de la aplicación sobre la que deseamos realizar el proceso de depuración (debugging).

THIS TERMINAL: EDF MODE ON

A continuacion, los pasos a seguir para trabajar con CEDF serán los siguientes:

1º) Tendremos que pulsar la tecla CLEAR (PAUSA) para limpiar el texto mostrado. Una vez tengamos la pantalla en blanco, procederemos a introducir la transacción correspondiente y pulsamos INTRO. La primera pantalla del Debugger que nos aparecerá será la siguiente.



Como vemos en la imagen, en la primera línea nos aparecen los datos de la transacción cuya ejecución estamos simulando con CEDF. En nuestro caso, se trata de la transacción 0005, el programa JJ0005CO (asociado a la transacción 0005) y la tarea 0000082.

TRANSACTION: 0005
PROGRAM: JJ0005CO 
TASK: 0000082
APPLID: CICS

En el centro de la pantalla nos aparecerán los valores que tengan en cada momento los parámetros del área de comunicaciones EIB. Esta información irá variando conforme se vayan ejecutando las rutinas de los programas asociados a la transacción y podrá ser consultada desde cualquier ventana del Depurador pulsando la tecla PF11 - EIB DISPLAY.

EIBTIME      = 42923         
EIBDATE      = 0114241       
EIBTRNID     = '0005'        
EIBTASKN     = 82            
EIBTRMID     = 'L701'        
                             
EIBCPOSN     = 4             
EIBCALEN     = 0             
EIBAID       = X'7D'         
EIBFN        = X'0000'       
EIBRCODE     = X'000000000000'
EIBDS        = '........'    
EIBREQID     = '........'           


2º) Si pulsamos INTRO, el Debugger saltará al primer comando CICS que se encuentre en el programa que se está ejecutando (JJ0005CO, en nuestro ejemplo). En el estado se mostrará "ABOUT TO EXECUTE COMMAND", con lo que nos está avisando de que está a punto de ejecutarse el comando mostrado.

STATUS:  ABOUT TO EXECUTE COMMAND                              
EXEC CICS SEND MAP                                             
 MAP ('JJ0005A')                                               
 FROM ('...................................................'...)
 LENGTH (74)                                                   
 MAPSET ('JJ0005M')                                            
 TERMINAL                                                      
 ERASE                                                         
 NOHANDLE    
                                                  
  
                                                             
En el ejemplo se indica que se va a ejecutar el comando CICS SEND MAP. Debajo se muestra el contenido de las variables correspondientes a cada una de las cláusulas del SEND MAP, esto es, el nombre del mapa a enviar (JJ0005A), el nombre del mapset (JJ0005M), la longitud del mapa (74) y la información a mostrar en el mapa.

3º) Si pulsamos INTRO, se mostrará la siguiente pantalla. Como vemos, el estado de la transacción a cambiado a "COMMAND EXECUTION COMPLETE", lo que significa que ya se ha enviado el mapa.



4º) Si volvemos a pulsar INTRO ahora se mostrará la pantalla siguiente. Aquí se nos indica que está a punto de ejecutarse (ABOUT TO EXECUTE COMMAND) el comando EXEC CICS RETURN, que es el que finaliza la transacción que está en curso y devuelve el control al terminal CICS.



5º) Para continuar debemos pulsar INTRO de nuevo. En esta pantalla se nos muestra el estado PROGRAM TERMINATION, lo que significa que ha terminado la ejecución del programa Cobol y que se ha devuelto el control al CICS. 



El próximo día, en un post adicional, continuaremos viendo cómo es el sistema de navegación a través de la herramienta CEDF. No deberíamos tener problemas en entenderlo ya que, al fin y al cabo, el proceso consta de una serie de pasos estándar que, sencillamente, se van repitiendo con cada una de las instrucciones CICS que posee nuestro programa Cobol.

Y eso es todo por hoy. Os emplazamos a la segunda parte del post para terminar de ver el funcionamiento del depurador CEDF. Nunca viene mal aprender cosas nuevas.

Saludos.

3 comentarios:

  1. Hola:
    Tienes segunda parte del post para terminar de ver el funcionamiento del depurador CEDF que nos compartas

    javalos282@gmail.om

    ResponderEliminar
  2. Muy útil la información, gracias.

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...