Foto de Usuario
rinsio

Ranking Troomes
Mensajes: 13
Registrado: 04 Sep 2013, 08:31

Mantener una tabla DB2 sin usar programa Cobol - Mainframe

Mensaje por rinsio » 19 Ago 2014, 09:54

Hola a todos,
La otra vez tuvimos un lío en la oficina porque una funcionalidad Batch se nos quedó coja y la cabeza del proyecto no quería gastar más dinero en desarrollo de software. Este desarrollo requería accesar a Base de Datos DB2 y actualizar información de una tabla, para este tipo de tareas normalmente se usa cobol con SQL embebido. En la instalación donde estoy trabajando están claramente separadas las diferentes etapas del ciclo de vida de desarrollo de software, lo que quiero decir que hay diferentes equipos que trabajan en el análisis y toma de requisitos, codificación, testing y finalmente la instalación del producto; cada uno con su propio centro de costo. Mi área que está encargada de la integración del software pues no tiene nada que ver con la programación o codificación por lo que la solución pasaba por preparar el respectivo documento de requisitos, mesas de arquitectura y demás pasos burocráticos para que aprueben el desarrollo de la solución que no voy a mencionar para no aburrirlos.

Se me pidió encontrar la solución a este problema y me puse manos a la obra. Luego de revisar las herramientas con que contamos en el mainframe, preguntar a la gente de explotación, a base de datos, etc. pude armar una solución factible que comento a continuación:
La construcción de un jcl con los siguientes pasos:

1. Utilidad Db2 para la descarga de los registros a tratar.
2. Utilidad sort para tratar y extraer los registros que se deben actualizar en la tabla DB2
3. uso de Easytrieve para generar los postulados SQL que se necesitan para actualizar en la base de datos. Se genera un fichero con los postulados.
4. Utilidad Db2 para ejecutar los postulados SQL que usa de entrada el fichero generado en el paso 3. Este paso realiza la actualización en la base de datos.

Esta solución se puede usar en distintos escenarios, uno es lo descrito líneas arriba, otro escenario sería cuando necesitamos de forma puntual un mantenimiento a la base de datos que implica una actualización o alta masiva de registros.

Adjunto a este post el fuente del jcl por si a alguien le puede ser útil.
Adjuntos
JCL_MAKER_SQL.TXT
(7.22 KiB)


Ricardo Insio
Responder