You are on page 1of 9

Procedimientos

Object Control

Almacenados

en

DB2

con

Arquitectura Tecnolgica
DOMINIO:Software
FECHA:
DESCRIPCIN
CLASIFICACIN DEL ACTIVO DE Privada.
INFORMACIN
AUDIENCIA

V.P. Corporativa de Tecnologa

INSUMOS

Haga clic aqu para escribir texto.

Insumos utilizados para generar el presente documento

(para producir el documento actual)

PRODUCTOS
(complementarios al documento actual)

AUTOR

Edgar Mujica

COLABORADORES

Gustavo Borja, Carlos Quintero, Roquelis Arenas

APROBADOR

Josefina Chow

NOMBRE DEL DOCUMENTO

PTR-SOF-2013-04-001 Procedimientos Almacenados en DB2 con


Object Control

(tipo-dominio-ao-mes-##-descripcin)

[ttt]-[DDD]-[aaaa]-[mm]-[###]-[descripcin breve sin artculos]

TIPO DE DOCUMENTO
(cdigo de 3 letras)

Seleccione la casilla de verificacin para indicar el tipo de


documento

PLI

Principio/Lineamiento

Direccin/orientacin de arquitectura.

EST

Estndar

Definicin de lineamientos de diseo.

CCO

Componentes de Conformidad Componentes tecnolgicos que conforman un estndar.

PTR

Modelo/Patrones

Representan modelos y patrones que se deben seguir.

INV

Investigacin

Presentacin de resultados de investigaciones realizadas.

REP

Reporte

Reporte de hallazgos para correctivos/prevencin/mejora.

INF

Informe

Informe de avance y/o resultados de revisiones/actividades.

PLN

Plan

Plan de proyectos/gestin.

DTR

Documentos de Trabajo

Otros productos que se generen de un proceso de arquitectura.

VERSIN

Procedimientos Almacenados en DB2 con Object Control

FECHA

0.1

Historial de Revisiones
FECHA

VERSIN
0.1

DESCRIPCIN
Procedimientos Almacenados en DB2 con Object
Control

Esta informacin es de usoPrivada.


B.O.D, BANCO UNIVERSAL, C.A. RIF J-30061946-0

Pgina 2 de 9

AUTOR

VERSIN

Procedimientos Almacenados en DB2 con Object Control

FECHA

0.1

Tabla de Contenidos
P
1.

INTRODUCCIN......................................................................................................... 4

2.

GLOSARIO................................................................................................................ 5

3.

CREACIN DE PROCEDIMIENTOS ALMACENADOS........................................................5

Esta informacin es de usoPrivada.


B.O.D, BANCO UNIVERSAL, C.A. RIF J-30061946-0

Pgina 3 de 9

VERSIN

Procedimientos Almacenados en DB2 con Object Control

FECHA

0.1

1. Introduccin
El presente informe servir de gua para la creacin de los procedimientos almacenados en el
DB2 mediante la herramienta Object Control, para as proporcionar un medio alternativo para la
sustitucin o remplazo de las DDM.

Esta informacin es de usoPrivada.


B.O.D, BANCO UNIVERSAL, C.A. RIF J-30061946-0

Pgina 4 de 9

VERSIN

Procedimientos Almacenados en DB2 con Object Control

FECHA

0.1

2. Glosario
AS400: El sistema AS/400 es un equipo de IBM de gama media y alta, para todo tipo de empresas
y grandes departamentos. Se trata de un sistema multiusuario, con una interfaz controlada
mediante mens y comandos CL (Control Language) muy intuitivos que utiliza terminales y un
sistema operativo basado en objetos y bibliotecas, OS/400. Un punto fuerte del OS/400 es su
integracin con la base de datos DB2/400, siendo los objetos del sistema miembros de la base de
datos. sta es tambin soporte para los datos de las aplicaciones del Banco, dando como
resultado un sistema integrado de enorme potencia y estabilidad
CMO: Contenedor de mltiples objetos de as/400. Dichos objetos pueden ser: programas,
archivos lgicos, archivos fsicos, reas de datos, colas de datos, descripciones de trabajos,
entre otros.
CL: Son programas de control de ejecucin del as/400 que pueden leer y actualizar la base de
datos de los registros, as como leer y escribir en formatos especficos.
QPRCSRC: Archivo fuente donde se guardaran los procedimientos almacenados en Object Control
OBJECT CONTROL: Software manejador de versiones y control del ciclo de desarrollo hasta su
instalacin. Adicionalmente es un administrador de permisos de usuarios tanto en desarrollo
como en produccin IBS e ib.
RPG: Es un lenguaje de programacin de formato fijo, es decir, que el cdigo debe ser colocado
en posiciones (ubicaciones) de columnas exactas para generar resultados correctos. Permite la
gestin y produccin de informes, formularios, entre otros.
SQL: Lenguaje de consulta estructurado" (por sus siglas en ingls: structured query language) es
un lenguaje interactivo y estandarizado para manipular informacin (consultar, insertar,
modificar y eliminar). Define qu datos se desean manipular y no cmo debe hacerse dicha
manipulacin. Se utiliza en bases de datos relacionales. La versin ms universal de este
lenguaje corresponde al estndar sql-92.
FUENTE: Listado de instrucciones que estn codificadas dentro de un programa.
FUENTE PRC: Tipo de fuente definido para la creacin, modificacin o eliminacin de
procedimientos almacenados.
SQLPKG: El paquete SQL contiene las estructuras de control y los planes de acceso necesarios
para procesar las instrucciones SQL en el servidor de aplicaciones cuando se ejecuta un
programa distribuido. Un paquete SQL puede crearse cuando: el parmetro RDB est
especificado en el comando CRTSQLxxx y el programa objeto es creado exitosamente. El
paquete SQL se crear en el sistema especificado por el parmetro RDB. Si la compilacin no es
exitosa o la compilacin solo crea el objeto modulo, el paquete SQL no ser creado. Usando el
comando CRTSQLPKG. El CRTSQLPKG puede utilizarse para crear un paquete cuando el paquete
Esta informacin es de usoPrivada.
B.O.D, BANCO UNIVERSAL, C.A. RIF J-30061946-0

Pgina 5 de 9

VERSIN

Procedimientos Almacenados en DB2 con Object Control

FECHA

0.1

no fue creado a la hora de la precompilacin o si el paquete es necesario en un RDB distinto del


especificado en el comando de precompilacin (Ver uso de paquetes SQL).

Esta informacin es de usoPrivada.


B.O.D, BANCO UNIVERSAL, C.A. RIF J-30061946-0

Pgina 6 de 9

VERSIN

Procedimientos Almacenados en DB2 con Object Control

FECHA

0.1

3. Creacin de Procedimientos Almacenados


1 Mediante la herramienta Object Control, en un CMO creado previamente en el mdulo
BOD, se debe crear un fuente sin objeto de tipo PRC (que es bsicamente un archivo de
texto plano que posee el cdigo de creacin del procedimiento) en el archivo fuente
QPRCSRC. Para esto debe pulsar F6 en la pantalla Trabajar con fuentes/Objetos para
crear el fuente y especificar los campos de la siguiente forma: Tipo de objeto=*PGM y
Atributo de objeto=PRC, adems de los campos nombre, descripcin etc. Luego, debe ir
al men de programador en la herramienta Object Control por la WEB y hacer clic en el
men Definicin de Miembros sin Objeto, posteriormente clic en el botn adicionar y
completar los campos correspondientes. Se debe usar un fuente sin objeto PRC por cada
procedimiento almacenado, lo cual permite controlar las versiones.
2 Todos los procedimientos almacenados se deben guardar en la biblioteca BODUSRLIB.
3 Este fuente sin objeto posee en su contenido el fuente del procedimiento almacenado, a
efectos de este ejemplo se coloca el fuente del procedimiento real utilizado en la prueba
concepto ejecutada por Arquitectura Tecnolgica. Estos procedimientos deben ser
creados en SQL:
CREATE PROCEDURE BODUSRLIB/ACMCON1
(IN CUENTA DECIMAL(12),
OUT SALDO DECIMAL(15,2))
LANGUAGE SQL
BEGIN
SET SALDO = (SELECT ACMGBL FROM BODCYFILES/ACMST WHERE ACMACC =
CUENTA);
END
4 En el mismo CMO del procedimiento almacenado (o en otro) debe incluirse un CL que cree
el procedimiento almacenado mediante la instruccin RUNSQLSTM y cree el SQLPKG
correspondiente al RPG mediante la instruccin CRTSQLPKG.
5 S el CMO solo incluye el procedimiento almacenado el Operador o Analista de
Planificacin solo debe trasladar hasta trmite produccin para que el fuente sea
instalado en BODUSRLIB.
6 Al trasladar a produccin, solo sern visibles a travs del reporte de la herramienta
Object Control los fuentes que tengan objetos compilados. Es decir, ser descontado de la
cantidad de objetos del CMO la cantidad de fuentes sin objetos incluidos en el CMO.
7 Por cada Procedimiento Almacenado que se encuentre dentro del CMO, se debe crear un
CL con las instrucciones RUNSQLSTM y CRTSQLPKG.
Esta informacin es de usoPrivada.
B.O.D, BANCO UNIVERSAL, C.A. RIF J-30061946-0

Pgina 7 de 9

VERSIN

Procedimientos Almacenados en DB2 con Object Control

FECHA

0.1

8 Si el procedimiento almacenado ya existe se debe proceder a eliminarlo antes de


proceder a su creacin, se debe usar el comando DROP PROCEDURE. Esto se debe hacer
en el objeto fuente antes del comando CREATE PROCEDURE.
9

Cuando los objetos sean enviados al ambiente productivo se copia el RPG y se crea tanto
el procedimiento almacenado con el CL indicado en el paso anterior as como el paquete
que creara el plan de ejecucin del procedimiento almacenado.

4. Creacin de programas que utilicen procedimientos almacenados.


1. Mediante la herramienta Object Control el programa se enviara utilizando el
procedimiento tradicional, se crea el fuente en el mdulo (BOD a efectos de este
instructivo) y este se compila.
2. Luego de compilar el programa se proceder a crear el paquete SQL, requisito para el uso
del procedimiento almacenado por parte del programa. Se utiliza el siguiente comando
para crear el paquete:
CRTSQLPKG PGM(BIBLIOTECA/PROGRAMA)
Donde BIBLIOTECA es el nombre de la biblioteca donde se encuentra el programa y
PROGRAMA es el nombre del programa que har uso del procedimiento almacenado.
3. El paquete creado en el paso anterior debe ubicarse en la biblioteca donde se encuentra
el procedimiento almacenado, es decir debe enviarse a travs de object control como
objeto sin fuente.
4. El programa realizar una conexin al DB2 para de esta forma llamar al procedimiento
almacenado, a continuacin un breve ejemplo de cmo realizar la conexin as como el
llamado del procedimiento almacenado
1
2
3
4
5
6
7
8

EXEC SQL DISCONNECT ALL;


EXEC SQL CONNECT TO :APP_SERVER USER :USRID USING :USRPASS;
IF SQLCODE = 0;
EXEC SQL CALL BIBLIOTECA/PROCEDIMIENTO(:PAR1, :PAR2);
IF SQLCODE = 0;
PROCEDIMIENTO LLAMADO DE FORMA EXITOSA
ENDIF;
ENDIF;

La lnea 1 sirve como paso de verificacin, cerrando todas las conexiones a DB2 activas.
La lnea 2 posee los datos de la conexin, donde :APP_SERVER es el nombre del servidor,
:USRID es el usuario y :USRPASS es la contrasea del usuario. Se asume que estos datos
de comunicacin se encuentran a disposicin del desarrollador y pueden ser utilizados
para la conexin mediante el uso de un archivo remoto.
Esta informacin es de usoPrivada.
B.O.D, BANCO UNIVERSAL, C.A. RIF J-30061946-0

Pgina 8 de 9

VERSIN

Procedimientos Almacenados en DB2 con Object Control

FECHA

0.1

La lnea 3 verifica que la conexin fue establecida de forma exitosa, cualquier valor
distinto a 0 no permitir el intento de ejecucin del procedimiento almacenado.
La lnea 4 ejecuta el procedimiento almacenado de la biblioteca BIBLIOTECA de nombre
PROCEDIMIENTO, enviando como parmetros los valores :PAR1 y :PAR2.
La lnea 5 verifica la ejecucin del procedimiento anterior, cualquier valor distinto a 0
evitara la ejecucin de los pasos posteriores al procedimiento almacenado.
5. El paquete SQL se enviar a travs de object control teniendo como destino la biblioteca
donde fue creado el procedimiento almacenado, el programa a su vez, debe conectarse al
equipo donde se encuentra el procedimiento almacenado utilizando los datos de conexin
correspondientes.

4.1. Observaciones y recomendaciones


Es importante sealar que los pasos aqu indicados aplican a cualquier programa creado
mediante las instrucciones CRTSQLxxx, donde xxx puede ser CBL, CBLI, CI, CPPI, PLI, RPG y
RPGI ya que estos son los nicos objetos a los cuales puede asociarse un paquete SQL. Por
otra parte la creacin del paquete SQL aplica tanto a llamadas a procedimientos
almacenados en DB2 remotas como locales, por ltimo la data del archivo de conexin debe
encontrarse al alcance del usuario para sus pruebas, este archivo debe contener las
directivas de comunicacin para cada equipo donde se encuentre, se asume que cada equipo
debe apuntar a su ambiente de pruebas correspondiente.

5. Uso de paquetes SQL


Los paquetes SQL se utilizan en el OS400 como repositorio del plan de ejecucin para un
grupo de sentencias DB2 que yacen dentro de un programa compilado, representan un
requisito para la ejecucin de programas creados con la sentencia CRTSQLxxx que utilicen las
funcionalidades nativas del DB2 y por ende siempre deben acompaar al programa que
corresponda. Los paquetes SQL deben crearse cada vez que los programas sean modificados
en vista de que el plan de ejecucin se ha modificado, en caso contrario de no recrear el
paquete el programa fallar.
Es importante sealar que los paquetes SQL se crean con el comando CRTSQLPKG, la
sentencia de uso base de este comando es la siguiente:
CRTSQLPKG PGM(BIBLIOTECA/PROGRAMA)
Donde BIBLIOTECA es el nombre de la biblioteca donde se encuentra el programa y
PROGRAMA es el nombre del programa que har uso del procedimiento almacenado.
Este objeto debe transferirse a travs de object control a la ubicacin donde se encuentre el
procedimiento almacenado a ser utilizado por parte del programa.

Esta informacin es de usoPrivada.


B.O.D, BANCO UNIVERSAL, C.A. RIF J-30061946-0

Pgina 9 de 9

You might also like