Desarrollando en Cobol y Natural sobre Plataforma Mainframe

viernes, 28 de noviembre de 2014

Código Binario erróneo


jueves, 27 de noviembre de 2014

Transacciones básicas del entorno CICS

La primera vez que comenzamos a trabajar en un entorno on-line CICS no tardamos en damos cuenta de que existen multitud de transacciones que podemos emplear para realizar tareas muy diversas. Aunque es muy complicado llegar a conocer todas las opciones disponibles, hay una serie de transacciones básicas que nos servirán para poder movernos con cierta soltura.

Una vez que hemos entrado en un terminal CICS, nos encontramos ante una pantalla en la que se pueden introducir infinidad de transacciones de 4 letras (o números). Si bien es cierto que cuantas más de ellas conozcamos mayor será nuestra destreza, también es verdad que en realidad hay un número reducido de transacciones que nos bastarán para realizar la mayoría de las tareas precisadas.



La lista de las transacciones más importantes es la siguiente. Hay que tener en cuenta que no se trata de una lista exhaustiva, sino de un resumen de las que consideramos más relevantes.

1º) Transacción CESN: Esta transacción es la más básica de todas, ya que sirve para hacer Log On en el terminal y abrir una nueva sesión en nuestro CICS.

2º)  Transacción CESF: De manera análoga a la anterior, esta transacción sirve para hacer un Log Off y desconectar la sesión que tengamos abierta en el CICS.

3º) Transacción CEOT: Lanzando esta transacción se nos mostrará una pantalla informativa en la que podremos ver cuál es el código de Terminal asociado a nuestra sesión.

4º) Transacción CECI: Se trata de una transacción especial que nos permitirá acceder a todo el API del CICS. De esa manera, con ella podremos ejecutar cualquiera de los comandos existentes en CICS (por ejemplo, SEND, READ o RETURN), del mismo modo que si los estuviésemos ejecutando desde un programa Cobol.



5º) Transacción CMAC: Esta transacción permite visualizar una explicación detallada asociada a los mensajes y códigos de error CICS. Para ello, basta con introducir el código correspondiente.

6º) Transacción CEDA: Sirve para definir la infraestructura de los recursos (programas, mapas, ficheros, colas, terminales o transacciones) que van a estar asociados a nuestra aplicación en el CICS. Esta información queda almacenada en el fichero CSD (CICS System Definition). Adicionalmente, con CEDA también podemos realizar la instalación de los recursos, momento en el que la información de la infraestructura se enviará desde el fichero CSD hasta la memoria del CICS (esto es, al CICS Transaction Server).

Todo este proceso es de gestión administrativa y, por tanto, no implica que realmente existan los objetos asociados a los recursos definidos. Esto último corresponde a la parte de gestión operativa y se realizará mediante la transacción CEMT.

7º) Transacción CEMT (Master Terminal): Esta importante transacción permite acceder a la información operativa de los recursos de la infraestructura. También sirve para ejecutar la función Newcopy sobre los objetos de nuestra aplicación (programas on-line o mapas). Lo que hace dicha función es tomar la compilación de nuestro objeto y enviarla a la memoria del CICS. De esta forma, el objeto quedará disponible de forma operativa para ser invocado por la transacción CICS que deseemos asociarle.

Hay que tener en cuenta que, antes de hacer el Newcopy, previamente el objeto habrá tenido que ser instalado administrativamente mediante la transacción CEDA.



8º) Transacción CEDF: Se trata de una herramienta de depuración. En el caso de que tengamos algún error en la ejecución de la transacción de nuestra aplicación, con esta opción podremos realizar un Debug de la misma. Al lanzar la aplicación, CEDF realizará una simulación controlada de la ejecución, mostrándonos en todo momento el contenido de las variables activas y la parte del código CICS que se está ejecutando.

9º) Transacción CEBR: Esta transacción sirve para visualizar el contenido de las Colas TS (Temporary Storage) y de las Colas TD (Transient Data).

10º) Transacción CMSG: Permite el envío de mensajes a través del CICS. Hay que especificar el código de terminal en el que deseamos que se visualice el texto.

Básicamente, estas son las transacciones con las que nos tendremos que pelear más comúnmente. Por supuesto, hay muchas más aparte de estas, pero si conocemos el funcionamiento de las indicadas anteriormente lo más probable es que podamos capear cualquier problema con el que nos encontremos en el CICS.



Hay que tener en cuenta que el entorno on-line CICS es bastante diferente de lo que hoy en día se conocen como aplicaciones on-line interactivas (implementadas en Java, Visual Basic, C++, etc...). Por tanto, lo importante es tener paciencia para ir conociendo poco a poco las transacciones CICS e ir adaptándonos al peculiar funcionamiento de los procesos on-line pseudo-conversacionales de Cobol CICS DB2.

Y eso es todo lo que queríamos ver por hoy. Esperamos que lo comentado en el post os sirva para tener una visión global de las transacciones (básicas) que hay que conocer para sobrevivir en el mundo CICS.

Saludos.

jueves, 20 de noviembre de 2014

Modificar contenido de un fichero VSAM desde ISPF

Hace unas semanas comenzamos a explicar cómo se podía acceder al contenido de un fichero VSAM desde el ISPF, teniendo en cuenta que la opción 3.4 no permite trabajar con ellos. Hoy detallaremos cómo se pueden modificar los registros VSAM desde esa misma herramienta.

En un post anterior estuvimos viendo cómo se podía examinar el contenido de un fichero VSAM mediante el FILE MANAGER (revisar post Ver contenido de un fichero VSAM desde ISPF). Del mismo modo que hay una forma para visualizar los registros VSAM, también existe un método para modificarlos. Los pasos a seguir serían los siguientes.

Edición del contenido de un fichero VSAM

1º) Seleccionamos la opción 13 - File Manager - File Manager for Z/OS. De este modo, accedemos a las distintas opciones del File Manager ZOS.

13 File Manager  File Manager for Z/OS

2º) A continuación, desde el menú principal del File Manager, seleccionamos la opción 2 - Edit - Edit data. Esto nos permitirá acceder a la ventana de visualización.

2  Edit          Edit data 

3º) En la pantalla de edición tendremos que indicar el nombre del fichero VSAM que deseamos ver, el PDS en el que se encuentran las copys y el nombre de la copy asociada a nuestro fichero (en ella se detallarán los campos de los que se componen los registros del dataset). Como Processing Option elegiremos la número 1 - Above.



4º) Tras pulsar INTRO accedemos a la ventana en la que se nos mostrarán los registros contenidos en el fichero VSAM. Para cada uno de estos registros, se muestra una línea con la información contenida en todos los campos del dataset.



A diferencia del caso de visualización, ahora estamos en modo edición (Edit). Por tanto, podríamos modificar el campo que deseemos de cualquier registro, o incluso añadir un registro adicional con información nueva.

5º) Por ejemplo, vamos a proceder a insertar un registro nuevo. Para ello, nos posicionamos en el registro 000013, insertamos una I al comienzo del mismo y pulsamos INTRO.

000002  1       AT. MADRID           90      77      26
000003  2       BARCELONA            87      100     33
000004  3       REAL MADRID          87      104     38
000005  4       ATH. BILBAO          70      66      39
000006  5       SEVILLA              63      69      52
000007  6       VILLARREAL           59      60      44
000008  7       REAL SOCIEDAD        59      62      55
000009  8       VALENCIA             49      51      53
000010  9       CELTA                49      49      54
000011 10       LEVANTE              48      35      43
000012 11       MALAGA               45      39      46
000013 12       RAYO                 43      46      80
000014                                                 
****** ****  End of data  ****                                                           

De este modo, se añadirá una nueva línea en el editor, la 000014, en la que podremos ir incluyendo el contenido deseado del nuevo registro.

6º) A continuación, rellenamos todos los campos del registro con los datos correspondientes. La nueva información que vayamos añadiendo se mostrará con un color diferente al del resto, indicándonos que se trata de campos aún no consolidados en el fichero VSAM.



7º) Introducimos SAVE en la línea de comandos y pulsamos INTRO. De esta forma, el nuevo registro que habíamos introducido en el editor quedará verdaderamente dado de alta en el fichero VSAM. Por contra, si hubiésemos introducido el comando CANCEL, entonces la información modificada en el editor no se consolidaría y nunca llegaría a actualizarse en el VSAM.

Command ===> SAVE

8º) Finalmente, podremos ir a la opción de visualización del File Manager y comprobar si el registro creado realmente aparece en la consulta.



Como podemos ver en la imagen, el nuevo registro añadido aparece correctamente en la visualización (000014 13       GETAFE               42      35      54      38). Por tanto, así queda confirmado que la inserción de registro VSAM se completó sin problemas.

Como se puede observar en todo lo anteriormente comentado, la modificación de registros de ficheros VSAM es un proceso bastante sencillo. Hay que tener en cuenta que los VSAM no se pueden visualizar mediante la opción 3.4 del ISPF y, por tanto, la elección del FILE MANAGER para este tipo de trabajos es la elección más sensata.

Y eso es todo por lo que respecta al File Manager. Esperamos que todos los puntos hayan quedado aclarados y si os queda alguna duda, como siempre, enviádnosla y trataremos de resolverla lo antes posible.

Saludos.

jueves, 13 de noviembre de 2014

Ver contenido de un fichero VSAM desde ISPF

Los ficheros VSAM no pueden ser visualizados con un Browse del mismo modo que hacemos con un fichero secuencial o con un PDS. Afortunadamente, en el ISPF disponemos de una opción que nos permitirá acceder fácilmente al interior de los mismos, ya sea simplemente para visualizar su contenido o para modificar alguno de sus registros.

En el menú principal POM del ISPF (Primary Option Menu) hay disponible una opción, denominada FILE MANAGER, que nos permite realizar distintas acciones sobre los ficheros VSAM. Entre estas operaciones, disponemos de la visualización y la edición del contenido de los registros del dataset.



Para ver cómo se puede realizar la visualizacion y la edición del VSAM, vamos a suponer que nos encontramos en el menú POM del ISPF.

Visualización del contenido de un fichero VSAM

1º) Seleccionamos la opción 13 - File Manager - File Manager for Z/OS. De este modo, accedemos a las distintas opciones del File Manager ZOS.

13 File Manager  File Manager for Z/OS

2º) A continuación, desde el menú principal del File Manager, seleccionamos la opción 1 - View - View data. Esto nos permitirá acceder a la ventana de visualización.

1  View          View data

3º) En la pantalla de visualización tendremos que indicar el nombre del fichero VSAM que deseamos ver, el PDS en el que se encuentran las copys y el nombre de la copy asociada a nuestro fichero (en ella se detallarán los campos de los que se componen los registros del dataset). Como Processing Option elegiremos la número 1 - Above.



4º) Finalmente, accedemos a la ventana en la que se nos mostrarán los registros contenidos en el fichero VSAM. Recordemos que estamos en modo visualización y, por tanto, no se puede modificar nada de la información mostrada.



Tal y como podemos ver en la imagen, esta opción nos muestra los datos almacenados en todos los campos de cada uno de los registros que hay dados de alta en el VSAM.

Esta es una forma muy sencilla de visualizar el contenido de los ficheros VSAM. Teniendo en cuenta que este tipo de ficheros no se puede abrir mediante la opción 3.4 del ISPF (como hacemos normalmente con un dataset secuencial), el FILE MANAGER nos ofrece una cómoda alternativa para solucionar esta deficiencia.

Pues nada, esperamos que con esto os haya quedado clara la forma en la que podemos acceder al detalle de los ficheros VSAM desde el propio ISPF.

Saludos.

jueves, 6 de noviembre de 2014

Modificar contenido de una tabla DB2 desde ISPF

Hace unas semanas comenzamos a explicar cómo se podía acceder al contenido de una tabla DB2 desde el ISPF, sin tener que recurrir al SPUFI o al QMF. Hoy detallaremos cómo se pueden modificar los registros DB2 desde esa misma opción.

En un post anterior estuvimos viendo cómo se podía examinar el contenido de una tabla DB2 mediante el FILE MANAGER DB2 (ver post Visualizar contenido de una tabla DB2 desde ISPF). Del mismo modo que hay una forma para visualizar los registros del DB2, también existe un método para modificarlos. Los pasos a seguir serían los siguientes.



Edición del contenido de una tabla DB2

1º) Seleccionamos la opción 14 - File Mgr / DB2 - File Manager for DB2. De este modo, accedemos a las distintas opciones del File Manager DB2.

14 File Mgr/DB2  File Manager for DB2

2º) A continuación, desde el menú principal del File Manager DB2, seleccionamos la opción 2 - Edit - Edit DB2 Object. Esto nos permitirá acceder a la ventana de visualización.

2  Edit          Edit DB2 object 

3º) En la pantalla de edición tendremos que indicar el Owner y el nombre de la tabla DB2 que deseamos ver. Como Processing Option elegiremos la número 3 - Generate from table.



4º) Tras pulsar INTRO accedemos a la ventana en la que se nos mostrarán los registros contenidos en la tabla DB2. Para cada uno de estos registros, se muestra una línea con la información contenida en todos sus campos.



A diferencia del caso de visualización, ahora estamos en modo edición (Table Edit). Por tanto, podríamos modificar el campo que deseemos de cualquier registro, o incluso añadir un registro adicional con información nueva.

5º) Por ejemplo, vamos a proceder a insertar un registro nuevo. Para ello, nos posicionamos en el registro 000010, insertamos una 'I' (INSERT) al comienzo del mismo y pulsamos INTRO.

****** ****  Top of data  ****                                   
000001 0000000001 TOLKIEN              EL SEÑOR DE LOS ANILLOS   
000002 0000000002 TOLKIEN              EL HOBBIT                 
000003 0000000003 KING                 LA TORRE OSCURA           
000004 0000000004 KING                 IT                        
000005 0000000005 WEISS                EL RETORNO DE LOS DRAGONES
000006 0000000006 BECQUER              LEYENDAS                  
000007 0000000007 ASIMOV               FUNDACION                 
000008 0000000008 ASIMOV               YO, ROBOT                 
000009 0000000009 LUCA DE TENA         LOS RENGLONES TORCIDOS DE D
000010 0000000010 MALKIEL              UN PASEO ALEATORIO POR WALL
000011                                                           
****** ****  End of data  ****                                           
                                  
De este modo, se añadirá una nueva línea en el editor, la 000011, en la que podremos ir incluyendo el contenido deseado del nuevo registro.

6º) A continuación, rellenamos todos los campos del registro con los datos correspondientes. La nueva información que vayamos añadiendo se mostrará con un color diferente al del resto, indicándonos que se trata de campos aún no consolidados en la tabla DB2.



7º) Introducimos SAVE en la línea de comandos y pulsamos INTRO. De esta forma, el nuevo registro que habíamos introducido en el editor quedará verdaderamente dado de alta en la tabla DB2. Por contra, si hubiésemos introducido el comando CANCEL, entonces la información modificada en el editor no se consolidaría y nunca llegaría a actualizarse en el DB2.

Command ===> SAVE

8º) Finalmente, podremos ir a la opción de visualización del File Manager DB2 y comprobar si el registro creado realmente aparece en la consulta.



Como podemos ver en la imagen, el nuevo registro añadido en el ejemplo aparece correctamente en la visualización (000011 0000000011 KOONTZ               VICTIMAS). Por tanto, así queda confirmado que la inserción del registro DB2 se completó sin problemas.

Como se puede observar en todo lo anteriormente comentado, la modificación de registros de tablas DB2 mediante el FILE MANAGER DB2 es un proceso bastante sencillo. Por tanto, es lógico que muchos programadores prefieran este sistema de trabajo frente al uso de las herramientas SPUFI o QMF. A partir de ahora, la decisión de usar una u otra es vuestra.

Y eso es todo por lo que respecta al File Manager DB2. Esperamos que todos los puntos hayan quedado aclarados y si os queda alguna duda, como siempre, enviádnosla y trataremos de resolverla lo antes posible.

Saludos.

domingo, 2 de noviembre de 2014

Universo Cobol alcanza las 10.000 visitas

Esta semana hemos alcanzado el hito de las 10.000 visitas en nuestro blog de Cobol. Aún es una cifra muy pequeña, pero hay que tener en cuenta que todavía estamos en el primer año de vida. Los comienzos son duros, pero esperamos que este sea el inicio del camino hacia las 100.000 visitas...



Simplemente queríamos agradeceros a todos el haber contribuido con vuestro granito de arena a que actualmente podamos ver las 5 cifras en el blog. ¡Gracias!

Saludos.
Related Posts Plugin for WordPress, Blogger...