Sei sulla pagina 1di 66

C apacitación

Altamira
Programación

Capacitación para Desarrolladores

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Programación

 Altamira está programado en Cobol (CICS y Batch)

 La base de datos relacional sobre la que se basa es DB2.

 Para acceder a la base de datos se utiliza el SQL (Structured Query Language)


embebido en los programas Cobol

 La existencia de la arquitectura permite una utilización casi transparente de las


sentencias CICS (eliminando casi totalmente los accesos a archivos, send de los mapas,
detección de transacción en curso, hora, usuario, etc. ) y facilitando el trabajo con las
áreas temporales de memoria (TS)

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de DB2 e instrucciones SQL

Se define “Base de datos relacional” a aquélla en que sus datos están estructurados como
tablas (Estructuras lógicas que cuentan con un número definido de columnas y un
número variable de filas)

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Conceptos Básicos

TABLE TABLAS
SPACE

STORAGE KEYS
GROUP

DB2

DATA BASE INDEX SPACE

VISTAS INDICES

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Conceptos Básicos

 Una Base de Datos DB2 es un conjunto de Tablespaces e Index spaces; en dichos


DATA BASE Index spaces se encuentran índices que pertenecen a tablas que se encuentran en los
Tablespaces

 El Storage Group, es esencialmente una lista de volúmenes en los cuales el DB2


STORAGE
GROUP puede alocar archivos asociados a las estructuras de almacenamiento

 Es la estructura de almacenamiento en donde el DB2 almacena las tablas.


TABLE  Puede contener una o varias tablas
SPACE
 Utilizar un tablespace para cada tabla mejora la performance de mantenimiento y
reorganización de la misma

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Conceptos Básicos

 Es una disposición de matriz fila/columna.


 Cada tabla tiene un nombre que la identifica univocamente.
TABLAS
 Cada tabla tiene cero o más filas, conteniendo cada una un único valor en cada
columna.
 Todos los valores de una columna tienen el mismo tipo de datos.

 Tipos De Datos Permitidos para las columnas:

 CADENAS DE CARACTERES DE LONGITUD FIJA : CHAR (Longitud máxima 254).


 CADENAS DE CARACTERES DE LONGITUD VARIABLE: VARCHAR. Este tipo de dato permite
que una columna almacene cadenas de caracteres que varían de longitud de una fila a otra, hasta
una cierta longitud máxima. Longitud máxima 4000.
 NUMEROS: Las más usadas con:
 ENTEROS : SMALLINT (Small Integer) es un entero de 2 bytes; INTEGER (Large Integer) es
un entero de 4 bytes.
 DECIMALES : Contienen parte decimal DECIMAL (p,s) (Máximo 15 dígitos).
 FECHAS Y HORAS : DATE. TIME, TIMESTAMP.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Conceptos Básicos

 Una Clave Primaria es una columna o combinación de columnas dentro de una


KEYS tabla, cuyo(s) valor(s) identifica(n) unívocamente a cada fila de la tabla
 Una tabla tiene una única clave primaria.
 Una Clave Externa es una columna o combinación de columnas de una tabla,
cuyo(s) valor(s) es(son) un valor de clave primaria para alguna otra tabla .
 La clave primaria y las externas se generan en el momento de creación de la tabla,
con cláusulas PRIMARY KEY y FOREING KEY, respectivamente.
 Una tabla puede contener más de una clave externa, enlazándola a una o más
tablas.
 Una clave compuesta es aquella que está formada por más de una columna; en
estos casos, la definición de la clave debe incluir el orden relativo de las columnas.

INDEX
 Es la estructura de almacenamiento en donde el DB2 almacena los índices.
SPACE  El Index Space, a diferencia de los tablespaces, contiene sólo un índice.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Conceptos Básicos
 Un Índice es un conjunto ordenado de punteros que apuntan a filas de una tabla.
 Los índices son usados porque :
INDICES  Mejoran la performance. Agilizando el acceso a los datos
 Aseguran unicidad (en el caso de los índices únicos).
 Tipos de Indices:
 Único : Es una columna o combinación de columnas dentro de una tabla, cuyo(s)
valor(es) identifica(n) univocamente a cada fila de la tabla .
 Múltiple : No identifica unívocamente a una fila. Se utiliza para mejorar la
performance.
 Cluster : Indica que la tabla está fisicamente ordenada por el índice. Puede existir
SOLO UN índice cluster para una tabla.

 Una Vista provee una manera alternativa para acceder a los datos de una o varias
tablas. Permitiendo:
 Control de acceso a los datos : Restringiendo las columnas que pueden ser vistas
VISTAS
por diferentes usuarios.
 Facilita el acceso a los datos: Si está construida desde más de una tabla.
 Las operaciones que se realicen sobre una vista, serán reflejadas en las tablas a las
cuales hace referencia dicha vista.
 No pueden crearse índices para una vista.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Select

 Insert

 Update

 Delete

 Declare cursor

 Fetch

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Sentencia Select

Permite seleccionar filas de una tabla. Con o sin condiciones, ordenadas o no. Se podrán
seleccionar alguas o todas las filas.

SELECT nombre de columna


FROM nombre de Tabla
WHERE nombre de columna = Condición
ORDER BY nombre o número de columna, ...
(ASC O DESC)

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Sentencia Select - Cláusulas especiales

 Order by

 Distinct

 Count

 Sum

 Max

 AVG

 Group By

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Distinct

En el caso que haya filas con valores repetidos, la salida de este Select incluirá sólo
una de estas filas.

SELECT DISTINCT (nombre de columna)


FROM nombre de Tabla

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Count

Cuenta la cantidad de filas que cumplen una condición

SELECT COUNT (*)


Cuenta la cantidad de filas de toda la tabla
FROM nombre de Tabla

SELECT MOV_CUENTA, COUNT (*)


Cuenta para cada campo MOV_CUENTA
FROM nombre de Tabla
existente en la tabla, la cantidad de filas
GROUP BY MOV_CUENTA

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Count y Group by

Cuenta la cantidad de filas que cumplen una condición y agrupa la salida por la
condición indicada en el group by.

SELECT MOV_CUENTA, COUNT (*)


Cuenta para cada campo MOV_CUENTA
FROM nombre de Tabla
existente en la tabla, la cantidad de filas
GROUP BY MOV_CUENTA

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 AVG

Retorna el promedio de un conjunto de valores. El argumento utilizado es numérico.

SELECT AVG(MAE_SALDO_DISPUE)
FROM ALTIDBA.BGDTMAE

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 MAX

Retorna el valor máximo de la columna. Permite agregarle la condición where,


devolviendo el máximo de la columna para las filas que cumple con dicha condición.

SELECT MAX(MAE_SALDO_DISPUE)
FROM ALTIDBA.BGDTMAE

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 MIN

Retorna el valor mínimo de la columna. Permite agregarle la condición where,


devolviendo el máximo de la columna para las filas que cumple con dicha condición.

SELECT MIN(MAE_SALDO_DISPUE)
FROM ALTIDBA.BGDTMAE

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 SUM

Retorna la suma de todas los valores de la columna que cumplan con la condición
WHERE (si no se incluye se calcula el total de la tabla). El campo sumado debe ser
numérico.

SELECT SUM(MAE_SALDO_DISPUE)
FROM ALTIDBA.BGDTMAE

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 SUBSTRI

Retorna una parte acotada de un argumento, que debe ser una cadena de
caracteres

SELECT CODIGAS
FROM ALTIDBA.UGDTGAS
WHERE SUBSTR(CODIGAS,1,1) = ‘9’

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Condiciones

Las condiciones contenidas en el predicado del WHERE pueden ser compuestas por
los conectores OR, AND, o combinaciones de éstos. Asimismo pueden ser expresadas
con signos =, <, >, ¬=, >= O <=

SELECT MAE_CUENTA FROM Nombre de Tabla


WHERE MAE_INDESTA = ‘A’ AND
MAE_DIVISA = ‘USB’

SELECT MAE_CUENTA FROM Nombre de Tabla


WHERE MAE_INDESTA = ‘A’ OR MAE_DIVISA
= ‘USB’

SELECT MAE_CUENTA FROM Nombre de Tabla


WHERE (MAE_INDESTA = ‘B’ AND MAE_SALDO
> 0) OR MAE_INDESTA = ‘A’

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Condiciones SUB-SELECT

Las condiciones contenidas en el predicado del WHERE pueden ser a la vez un


Subselect de otra Tabla

SELECT MOV_CUENTA, MOV_IMPORTE FROM ALTIDBA.BGDTMOV


WHERE MOV_CUENTA IN
(SELECT MAE_CUENTA FROM ALTIDBA.BGDTMAE
WHERE MAE_INDESTA = ‘A’)

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Condiciones ANY / SOME

Cuando se especifica ANY o SOME, el resultado es verdadero si la condición se


cumple para AL MENOS UNA Fila de la Tabla a la que se hace subselect.

SELECT * FROM Nombre de Tabla


WHERE MAE_SALDO_DISPUE > ANY ( SELECT MAE_SALDO_MEDIO
FROM Nombre Tabla)

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 OTRAS CONDICIONES

 BETWEEN: determina si un valor dado se encuentra entre las 2 expresiones dadas.


Siempre la expresión 1 debe ser menor a la expresión 2.

 NULL: Testea los valores nulos

 EXISTS: El predicado EXISTS testea la existencia de filas en el subselect.

 LIKE: El predicado LIKE testea que los valores en las filas coincidan con la
expresión. Ej: APELLIDO LIKE „PEREZ%‟. En un where traerá todos los apellidos
que comiencen con Perez.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 INSERT
 La sentencia INSERT se utiliza para insertar nuevas filas a una Tabla
 El formato de la sentencia es :
INSERT INTO Nombre de Tabla
VALUES (Lista de Valores separados por coma) o
VALUES (Subselect)
 Si se inserta un conjunto de valores, éstos deben coincidir con el formato de las
columnas, a las cuales se van insertando en forma correlativa.
 Si se inserta a través de un subselect, la tabla seleccionada deberá tener la
misma definición que la tabla a la que se le insertarán los datos.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 UPDATE

 La sentencia UPDATE se utiliza para modificar los datos de las filas de una
Tabla

 El formato de la sentencia es :
UPDATE Nombre de Tabla
SET Columna1 = Valor1 ,
SET Columan2 = Valor2,
.........
SET Columnan = Valorn

WHERE Condiciones

 Las condiciones utilizadas en el Select, son válidas en la sentencia UPDATE.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 DELETE

 La sentencia DELETE se utiliza para borrar las filas de una Tabla

 El formato de la sentencia es :
DELETE Nombre de Tabla
WHERE Condiciones

 Las condiciones utilizadas en el Select, son válidas en la sentencia DELETE

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Precompilación

 Cuando se compila un programa que tiene sentencias DB2, el Job de compilación debe
tener un paso más, llamado Precompilación, que debe ejecutarse antes de la
compilación Cobol.

 La Precompilación transforma las sentencias SQL del programa, a Calls de DB2.


Dichos Calls pueden ser compilados sin error por el compilador Cobol.

 La Precompilación genera 2 salidas :

 El programa original, con las sentencias DB2 transformadas en Calls, que será
tomado por el compilador Cobol, y

 El DBRM (Database Request Module) que contiene las sentencias SQL del
programa original.

 El DBRM de los programas es tomado en el proceso de BIND de packages y del plan.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Packages

 El PACKAGE es un objeto DB2 que contiene la forma original de las sentencias SQL de
un DBRM.

 Un Package se crea mediante el subcomando DB2, BIND PACKAGE

 La Cláusula MEMBER del Bind del Package contiene una lista de los DBRM. Cada
DBRM pertenece a un programa de aplicación. Cuando se crea un package, se arma la
estructura de control para la ejecución de las sentencias SQL en el programa
correspondiente. En esta instalación se arma un package por programa aplicación.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

PLAN

 El PLAN es un objeto DB2 que contiene uno de los siguientes elementos:

 Una Lista de nombres de Package

 La forma original de las sentencias SQL de uno o más DBRM

 Una Lista de nombres de Colection

 Cada programa que contenga sentencias DB2, requiere un Plan

 Un Plan se crea usando el subcomando DB2 BIND PLAN

 Una COLECTION es una forma de agrupar programas. Se trata de un objeto lógico

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

BIND

 El BIND es el proceso por el cual se crea un package o un plan

 La conexión con DB2 es el resultado de un BIND

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

UNIDAD DE TRABAJO

 Se llama unidad de trabajo a un conjunto de operaciones que se ejecutan a partir de una


determinada acción

 Una Unidad de Trabajo comienza por el inicio de un proceso o por la terminación de la


unidad de trabajo previa

 Una unidad de trabajo finaliza por una operación COMMIT, por una operación
ROLLBACK o por la terminación del proceso

 Las operaciones de commit o rollback afectan sólo a los resultados de las operaciones
ejecutadas en la unidad de trabajo que ellos finalizaron

 Estas operaciones confirman o anulan todo lo operado en la unidad de trabajo

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

COMMIT

 Los cambios que se realizan en una Unidad de Trabajo que afectan a las filas de una
tabla (Insert, Update y Delete) se realizan en un área de Trabajo DB2

 Recién cuando finalice la unidad de trabajo con un COMMIT, estos cambios se verán
reflejados físicamente en la tablas

 Por default, al finalizar un programa batch con DB2, el mismo realiza un commit
automático

 En el caso de un programa on-line el commit automático se realiza al devolver el control


al CICS

 La sintaxis del commit es:

EXEC SQL

COMMIT

END-EXEC

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

ROLLBACK

 Si la unidad de trabajo finaliza con un ROLLBACK, el área de trabajo DB2 se borra,


se pierden los cambios que se realizaron en la unidad de trabajo que afecten las
filas de una tabla (Insert, Update y Delete)
 Si un programa con DB2 no tiene commits internos, y se ejecuta un rollback, para el
DB2 es como si el programa jamás se hubiera ejecutado
 Para programas on-line, la sintaxis del Rollback es:
EXEC CICS
SYNCPOINT ROLLBACK
END-EXEC
 Para programas batch, la sintaxis del Rollback es:
EXEC SQL
ROLLBACK
END-EXEC

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

INCLUDE

 La sentencia INCLUDE incluye el copy dentro del programa

 Al ser una sentencia DB2, ésta se resuelve en el tiempo de precompilación

 Cuando un programa tiene DB2, se debe utilizar INCLUDE en vez de COBOL COPY,
ya que, en caso que una variable sea utilizada en un comando DB2, el precompilador la
tomará como existente

 La sintaxis de la sentencia es:

EXEC SQL

INCLUDE BGTCMAE

END-EXEC

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

SQLCODE

 La respuesta de toda operación que se ejecute sobre objetos DB2, queda en la


variable SQLCODE

 Dentro de los programas, se debe preguntar por el Sqlcode después de cualquier


operación, para saber si la misma pudo resolverse satisfactoriamente

EVALUATE SQLCODE
WHEN ZEROS
Sentencias correspondientes a respuesta correcta
WHEN +100
Sentencias correspondientes a fila inexistente
WHEN OTHER
Sentencias correspondientes a error
END-EVALUATE.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

CURSORES

 Se utilizan para acceder a TODOS los registros de una Tabla, que cumplan con una
condición

 Un CURSOR es un objeto lógico. Se define en un momento determinado del programa,


pero se crea al realizar la sentencia OPEN del cursor, y deja de existir al realizar la
sentencia CLOSE del mismo

 Para utilizar un cursor, se lo debe

 Declarar

 Abrir

 Leer cada una de de sus filas

 Cerrar

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

CURSORES FOR UPDATE

 Cuando se desea modificar filas, que se encuentran en un cursor, el mismo debe ser
declarado con el parámetro FOR UPDATE

 Este parámetro permite modificar el dato de la fila que se ha leído, o borrar dicha fila de
la Tabla

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Ejercitación

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Dada la tabla 1 (Clientes), escribir las instrucciones SQL que permitan:

 Obtener primero y segundo apellido y nombre de todos los clientes que tengan la
marca de estado = „1‟, ordenados alfábeticamente.

 Obtener la cantidad de clientes que hay con cada tipo de documento (codident)

 Obtener un listado con todos los tipos de documentos existentes (ordenado en


forma ascendente)

 Obtener el número de documento menor (Claident)

 Insertar un nuevo cliente con los siguientes datos: Numclien = „11111111‟,


codident = „04‟, claident = „0000022222222‟, priape = „perez‟, segape en blanco,
nombre = „jorge‟, estado = „1‟

 Escribir las instrucciones para administrar un cursor que recorra todas las filas de
la tabla que tengan estado en „1‟ y segape en blanco. Y las instrucciones Cobol que
evalúen el resultado de cada operación.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Dadas las tablas 1 y 2, escribir las instrucciones SQL que permitan:

 Obtener primero y segundo apellido y nombre de todos los clientes que existan en
la segunda tabla

 Obtener la cantidad de clientes que existen con cada tipo de producto

 Obtener un listado con los nombres (apellido y nombre) de los clientes que tienen
productos distintos de „01‟ y „02‟

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Tabla 1 (Clientes)

NUMCLIEN CODIDENT CLAIDENT PRIAPE SEGAPE NOMBRE ESTADO


00433833 02 0000022556712 DELLEPIANE VALLE BEATRIZ GRACIELA 1
00436604 02 0000017365459 DELSOGLIO CACERES ANA MARIA 0
00437514 03 0000020159438 DELUCCHI CARLOS RAUL 1
00437519 04 0000009879250 DELUCCHI DIEGO GUILLERMO 1
00439370 03 0000025696782 DEMARCHI JOSE MARIA 1
00439251 04 0000003161515 DEMARCHI ARTIGAS ANA MARIA 0
00438856 03 0000024565222 DEMARCO JUAN 1
00444059 02 0000018995565 DER KRIKORIAN BEATRIZ 1
00443741 04 0000013569898 DERECHO LILIANA NORA 1

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Tabla 2 (Relación cliente-cuenta)

NUMCLIEN CODISER NUMECTA CLAINTER SECINTER


00433833 02 00117547 T 02
00433833 12 00006669 T 02
00436604 01 00248243 T 02
00437514 01 00242839 T 01
00437514 02 00048457 T 01
00437514 07 00090282 T 02
00437514 17 00090253 T 02
00437519 07 00136068 T 02
00437519 07 00159770 T 01
00438856 07 00036658 T 02
00438856 17 00036642 T 02
00439370 02 00081975 T 01
00444059 07 00090961 T 01
00444059 07 00220583 T 01
00444059 17 00090921 T 01
00444059 17 00220523 T 01

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Repaso de instrucciones SQL

 Solución para último query

SELECT A.PRIAPE, A.SEGAPE, A.NOMBRE


FROM ALTDDBA.PEDT001 A, ALTDDBA.PEDT008 B
WHERE A.NUMCLIEN = B.NUMCLIEN
AND CODISER ¬= (‘01’,’02’)

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 Siglas de Aplicaciones

QC: Arquitectura Central

QB: Arquitectura Tablas Generales

QG: Arquitectura de Aplicaciones

QM: Arquitectura - Mantenimiento

QI: Tratamiento de Listados

QR: Arquitectura - Rutinas

AC: Arquitectura de Canales (Propia de BKB)

BA: Cámara

BG: Cuentas

BQ: Cheques y chequeras

BR: Rutinas de cuentas personales

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 Siglas de Aplicaciones

BX: Tratamiento de Incidencias

HA: Contabilidad General

IA: Gestión de correspondencia

LS: Cartera de Efectos

OG: Domiciliaciones General

OM: Domiciliaciones

PE: Personas (Clientes)

TC: Tablas Corporativas

UA: Avales

UG: Préstamos

PM: Marketing y Ventas

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 Para la mayoría de los componentes (programas, copys, mapas, tablas, etc.) será:

aaTTxxx v, Donde

 aa es el Identificador de la aplicación

 TT varía se trate de acuerdo a que el objeto sea:

 1C: Programa Cobol CICS

 2C: Programa Cobol CICS con DB2

 3C: Programa Cobol Batch

 4C: Programa Cobol Batch con DB2

 6C: Módulo Cobol CICS sin DB2 (algunas aplicaciones lo usan como batch)

 7C: Módulo cobol CICS con DB2

 8C: Módulo Cobol Batch sin DB2

 9C: Módulo Cobol Batch con DB2 (En algunas aplicaciones se utiliza para sin
DB2)
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 TT varía se trate de acuerdo a que el objeto sea (Cont):

 DT: Tabla DB2

 TC: Copy Cobol de la Tabla

 GT: DCLGEN

 EC: Copy de commarea

 M: Mapa

 NC: Copy Cobol correspondiente al mapa o formato de entrada

 WC: Copy de áreas de working (en algunos casos se usa como el NC)

 JE: JCL

 xxx : Son tres posiciones que se utilizan para identificar el objeto de que se trate

 v: Indica la versión, se utiliza en programas. La versión 0 debe ser siempre la versión


correcta y definitiva.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 v: En vistas se utiliza para identificar las distintas vistas de una misma tabla

 v: En JCL se utiliza para jobs iguales que se ejecuten a la misma hora

 Ejemplos:

 BG4CISE0: Es un programa cobol Batch con DB2 de Cuentas Personales,


identificado por la sigla „ISE‟ por ser el programa que calcula el Impuesto a los
SEllos. Primera versión

 HADT001: Es la tabla número 001 de Contabilidad (en este caso el Plan de Cuentas)

 BGDTMAE: Tabla Maestra de Cuentas

 BADV0010: Es la vista principla de la tabla BADT001 de Cámara

 BGECMIR: Es la commarea de comunicación con la rutina de cuentas BG4CMIR0

 HAM060: Es el mapa de la transacción de Contabilidad nro. HA60

 PENC0660: Copy del área de entrada a la transacción PE66

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 Bases, Tablespaces e índices

 Bases de Datos: ALB aa e aa

aa, Código de la aplicación

e, Entorno del trabajo (V: desarrollo, I: Integración, P: producción, Y: Desarrollo


paralelo)

aa, código de la aplicación

 Tablespaces: ALP aa xxx

aa, Código de la aplicación

xxx, código que identifica a la entidad de DB2 (tabla relacionada)

 Tablas: aa DT xxx

aa, Código de la aplicación

xxx, código que identifica a la entidad de DB2

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 Bases, Tablespaces e índices (Cont.)

 Vistas: aa DV xxx y

aa, Código de la aplicación

xxx, código que identifica a la entidad de DB2

y, número de secuencia de las vistas, empezando de 0.

 Indices: AL n aa xxx

n, indicador de secuencia de índices

aa, Código de la aplicación

xxx, código que identifica a la tabla DB2 a la que pertenece

 Cursores AL DC xxx y

xxx, código que identifica a la entidad de DB2

y, número de secuencia, empezando de 0

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 Planes AL e aa P t

e, código de entorno (V: desarrollo, I: integración, etc.)

aa, Código de la aplicación

P, Constante que indica que se trata de un plan

t, tipo de objeto (O: on-line, B: Batch)

 Cursores AL DC xxx y

xxx, código que identifica a la entidad de DB2

y, número de secuencia, empezando de 0

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 Archivos

 Internamente, podrán tener cualquier nombre

 DDNAME

 Archivos que no son listados: z v tt xxx 0

• z indica la utilización (E: entrada, S: salida, A: entrada-salida)

• v orden secuencial dentro del programa (1-9, A-Z)

• tt tipo de fichero (DF: VSAM, DQ: Secuencial, DW: de trabajo, DI: intercambio
entre aplicaciones o entidades)

• xxx, código que identifica al elemento

• 0, constante

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 DDNAME (Cont.)

 Archivos que son listados: aa tt xxx n

• aa indica código de la aplicación

• tt tipo de fichero (LS: listado, DO: Documentación)

• xxx, código que identifica al elemento

• n, número de secuencia de los listados de un programa. Si es un resumen del


proceso deberá tener valor 0.

• Ej:

BGLSISE1

BGLSISE2

Son dos listados generados por el programa BG4CISE0 de la aplicación de


cuentas.

NOTA: Los valores de xxx no deben ser necesariamente iguales a los del
programa.
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 DSNAME (Estándares Altamira España)

 Primer cualificador: MALe

• MAL: Constante fija que indica plataforma Altamira en España

• e: código del entorno de trabajo (D: Desarrollo, F: Formación, C: Conversión, T:


Test, P: producción)

 Segundo cualificador: aa [ts] (donde t s son opcionales)

• aa: Código de aplicación

• [t, tipo de fichero] (F: fichero no listado, L: listado)

• [s., soporte] (C:cinta o cartucho, D: disco)

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 DSNAME (Cont. )

 Tercer cualificador: rrrr ssss

• rrrr rrrr, indicador reservado para el RACF para niveles de protección (por
defecto, en la instalación, se crean los siguientes: STDR fichero estándar y BAT1
fichero generado por proceso batch)

• ssss, indicador reservado al gestor de espacio SMS. Se utilizan los siguientes


STDR fichero de tipo secuencial (estándar)
HIST fichero de tipo histórico, con backup y sin borrado
HILn fichero histórico, con requisitos legales de n años
NBAS fichero no básico, con backup y borrado controlado
SBAS fichero básico, con backup y borrado controlado
SB30 fichero a mantener durante 30 días
SB60 fichero a mantener durante 60 días
CONS fichero constante, que se mantiene siempre
VSAM fichero de tipo VSAM
UNLO fichero procedente de proceso de unload de tabla DB2

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 DSNAME (Cont. )

 Cuarto cualificador: pppp xxx n

• pppp, indicador de fichero para gestión de producción y libre en desarrollo

• xxx n, debe coincidir con , los cuatro últimos caracteres de la DDNAME del
fichero

 Quinto cualificador

• Ficheros generacionales: G nnnn V xx

nnnn, el número de generación

xx, el número de versión

• No generacionales: i nnnnnn (Opcional)

i, indicador de significado de la numeración posterior (D: fechas, R: remesas,


S: solicitudes, A: cobros, O: órdenes, X: libre, M: mes AAMM)

nnnnnn, numérico de 4 a 6 posiciones

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 Ejemplos DSNAME (Altamira España)

 MALI.HA.BAT1HIST.UMERIS01.M0203

Archivo de Integración, de contabilidad, generado por proceso batch, histórico,


UMER se utiliza para identificar el fichero, IS01: indica el DDNAME al que se
asigna, y es del mes de marzo del 2002.

 MALD.BG.BAT1NBAS.BGLSSEL0.D&DAT1

Archivo de Desarrollo, del módulo de Cuentas Personales, generado en un proceso


Batch, correspondiente a la DDNAME terminada en SEL0, de una fecha
determinada.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 DSNAME (Estándares BKB)

 Primer cualificador: A amb

• A: Constante

• amb: indica el entorno de trabajo (INT: Integración, PRO: Producción, etc.)

 Segundo cualificador: aa

• aa: Código de aplicación

 Tercer cualificador: S (Constante)

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 DSNAME (Cont. Estándares BKB)

 Tercer cualificador: rrrr ssss

• rrrr rrrr, indicador reservado para el RACF para niveles de protección (por
defecto, en la instalación, se crean los siguientes: STDR fichero estándar y BAT1
fichero generado por proceso batch)

• ssss, indicador reservado al gestor de espacio SMS. Se utilizan los siguientes


STDR fichero de tipo secuencial (estándar)
HIST fichero de tipo histórico, con backup y sin borrado
HILn fichero histórico, con requisitos legales de n años
NBAS fichero no básico, con backup y borrado controlado
SBAS fichero básico, con backup y borrado controlado
SB30 fichero a mantener durante 30 días
SB60 fichero a mantener durante 60 días
CONS fichero constante, que se mantiene siempre
VSAM fichero de tipo VSAM
UNLO fichero procedente de proceso de unload de tabla DB2

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 DSNAME (Cont. Estándares BKB)

 Cuarto cualificador:

• indicador de fichero para gestión de producción y libre en desarrollo. Cuando la


relación es notoria coinciden los cuatro últimos caracteres con los de la
DDNAME del fichero

 Quinto cualificador [tttt] (Opcional)

• se utiliza para indicar si es salida de un SORT a partir de un archivo de igual


nombre

 Sexto cualificador
• Ficheros generacionales: G nnnn V xx
nnnn, el número de generación
xx, el número de versión
• No generacionales: i nnnnnn (Opcional)
i, indicador de significado de la numeración posterior
nnnnnn, numérico de 4 a 6 posiciones
Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de nomenclatura

 Ejemplos DSNAME (Bank Boston)

 AINT.BG.S.BAT1NBAS.MOVONLC0.D020302

Archivo de Integración, de Cuentas Personales, generado por proceso batch no


básico, correspondiente a los movimientos on-line (Coincide con el DDNAME), de
una fecha y es del 2 de marzo del 2002.

 APRD.BG.S.BAT1SBAS.TOTAMAE1.D&DAT1.SORT

• Archivo de Producción, del módulo de Cuentas Personales, generado en un


proceso Batch, es un archivo Básico (proviene del maestro de cuentas),
correspondiente a la TOTAMAE1 (toda la tabla maestra de cuetas), de una fecha
determinada, ordenado a partir de un archivo de igual nombre.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de Programación

 Estándares funcionales:

 Uso de fechas de Proceso:

 En On-line , se debe usar a fecha provista por la Arquitectura (CAA-FECHA-


CONT).

 En el Batch, se debe usar uno de estos métodos.

 Usar la variable Jobtrac que indica la fecha de proceso.

 Usar un archivo de administración de fechas (Ejemplo: CNT de Cuentas).

 Aislamiento de Datos :

 Los sistemas deben acceder a los datos de otros sistemas exclusivamente por
medio de rutinas de servicio. No se debe acceder directamente a los datos de
otros sistemas salvo que sea autorizado por cuestiones de Performance.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de Programación

 Programación Estructurada:

 No usar GOTO (Sólo se admite GOTO a fin de párrafo)

 No usar Handle Condition/Aid (Debe usarse el EIBRESP/EIBAID)

 No puede haber recursividad de Performs.

 No puede haber código muerto (Máximo permitido 40 líneas), pero lo razonable


no debería ser mayor a 20 líneas.

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de Programación

 Consideraciones de Performance en sentencias DB2:

 SELECT y CURSORES

 Seleccionar campo a campo y sólo los campos que serán utilizados

 Realizar la selección en el orden en que están definidos en la tabla

 Dentro de lo posible los cursores y select deben acceder por índice. En tablas
“grandes” es fundamental.

 Para verificar que en la tabla exista al menos un registro que cumpla una
condición NO HACER SELECT COUNT, seleccionar sólo el primer campo del
índice que se está utilizando. Ej:
SELECT NUMERO
INTO :CGT50011-NUMERO
FROM VGT5001_DESCOD
WHERE NUMERO = :CGT50011-NUMERO
AND CODIGO = :CGT50011-CODIGO

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.
C apacitación
Altamira
Programación

Estándares de Programación

 Consideraciones de Performance en sentencias DB2:

 SELECT y CURSORES

 En programas batch, si se repiten muchos accesos a tablas, realizar accesos a


tablas de memoria

 En programas batch, cuando se debe trabajar con tablas completas de INPUT,


trabajar con los UNLOAD

 Si se debe modificar una tabla completa, se debe evaluar en que casos es más
performante trabajar con UNLOAD de tablas

Confidencial. No debe ser divulgado ni reproducido sin autorización previa, por escrito, de Accenture.

Potrebbero piacerti anche