introd programacion altamira

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

Upload: javier-aguirre

Post on 22-Jul-2015

1.206 views

Category:

Documents


2 download

TRANSCRIPT

C

apacitacin Altamira

Programacin

Capacitacin para Desarrolladores

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Programacin 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 utilizacin casi transparente de las

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

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de DB2 e instrucciones SQL

Se define Base de datos relacional a aqulla en que sus datos estn estructurados como tablas (Estructuras lgicas que cuentan con un nmero definido de columnas y un nmero variable de filas)

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Conceptos BsicosTABLE SPACE TABLAS

STORAGE GROUP

KEYS

DB2

DATA

BASE

INDEX SPACE

VISTAS

INDICES

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

CDATA BASE

apacitacin Altamira

Programacin

Conceptos Bsicos Una Base de Datos DB2 es un conjunto de Tablespaces e Index spaces; en dichos Index spaces se encuentran ndices que pertenecen a tablas que se encuentran en los Tablespaces

STORAGE GROUP

El Storage Group, es esencialmente una lista de volmenes en los cuales el DB2 puede alocar archivos asociados a las estructuras de almacenamiento

TABLE SPACE

Es la estructura de almacenamiento en donde el DB2 almacena las tablas. Puede contener una o varias tablas Utilizar un tablespace para cada tabla mejora la performance de mantenimiento y reorganizacin de la misma

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

CTABLAS

apacitacin Altamira

Programacin

Conceptos Bsicos Es una disposicin de matriz fila/columna. Cada tabla tiene un nombre que la identifica univocamente. Cada tabla tiene cero o ms 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 mxima 254). CADENAS DE CARACTERES DE LONGITUD VARIABLE: VARCHAR. Este tipo de dato permite que una columna almacene cadenas de caracteres que varan de longitud de una fila a otra, hasta una cierta longitud mxima. Longitud mxima 4000. NUMEROS: Las ms 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) (Mximo 15 dgitos). FECHAS Y HORAS : DATE. TIME, TIMESTAMP.

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

CKEYS

apacitacin Altamira

Programacin

Conceptos Bsicos Una Clave Primaria es una columna o combinacin de columnas dentro de una tabla, cuyo(s) valor(s) identifica(n) unvocamente a cada fila de la tabla Una tabla tiene una nica clave primaria. Una Clave Externa es una columna o combinacin 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 creacin de la tabla, con clusulas PRIMARY KEY y FOREING KEY, respectivamente. Una tabla puede contener ms de una clave externa, enlazndola a una o ms tablas. Una clave compuesta es aquella que est formada por ms de una columna; en estos casos, la definicin de la clave debe incluir el orden relativo de las columnas.

INDEX SPACE

Es la estructura de almacenamiento en donde el DB2 almacena los ndices. El Index Space, a diferencia de los tablespaces, contiene slo un ndice.

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

CINDICES

apacitacin Altamira

Programacin

Conceptos Bsicos Un ndice es un conjunto ordenado de punteros que apuntan a filas de una tabla. Los ndices son usados porque : 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 combinacin de columnas dentro de una tabla, cuyo(s) valor(es) identifica(n) univocamente a cada fila de la tabla . Mltiple : No identifica unvocamente 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.

VISTAS

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 por diferentes usuarios. Facilita el acceso a los datos: Si est construida desde ms de una tabla. Las operaciones que se realicen sobre una vista, sern 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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL Select Insert Update Delete

Declare cursor Fetch

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL Sentencia Select

Permite seleccionar filas de una tabla. Con o sin condiciones, ordenadas o no. Se podrn seleccionar alguas o todas las filas. SELECT nombre de columna FROM nombre de Tabla WHERE nombre de columna = Condicin ORDER BY nombre o nmero de columna, ... (ASC O DESC)

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL Sentencia Select - Clusulas especiales

Order by Distinct Count

SumMax AVG Group By

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL Distinct

En el caso que haya filas con valores repetidos, la salida de este Select incluir slo una de estas filas.

SELECT DISTINCT (nombre de columna) FROM nombre de Tabla

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL Count

Cuenta la cantidad de filas que cumplen una condicin SELECT COUNT (*) FROM nombre de Tabla

Cuenta la cantidad de filas de toda la tabla

SELECT MOV_CUENTA, COUNT (*) FROM nombre de Tabla GROUP BY MOV_CUENTA

Cuenta para cada campo MOV_CUENTA existente en la tabla, la cantidad de filas

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL Count y Group by

Cuenta la cantidad de filas que cumplen una condicin y agrupa la salida por la condicin indicada en el group by. SELECT MOV_CUENTA, COUNT (*) FROM nombre de Tabla GROUP BY MOV_CUENTA

Cuenta para cada campo MOV_CUENTA existente en la tabla, la cantidad de filas

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL AVG

Retorna el promedio de un conjunto de valores. El argumento utilizado es numrico.

SELECT AVG(MAE_SALDO_DISPUE) FROM ALTIDBA.BGDTMAE

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL MAX

Retorna el valor mximo de la columna. Permite agregarle la condicin where, devolviendo el mximo de la columna para las filas que cumple con dicha condicin.

SELECT MAX(MAE_SALDO_DISPUE) FROM ALTIDBA.BGDTMAE

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL MIN

Retorna el valor mnimo de la columna. Permite agregarle la condicin where, devolviendo el mximo de la columna para las filas que cumple con dicha condicin.

SELECT MIN(MAE_SALDO_DISPUE) FROM ALTIDBA.BGDTMAE

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL SUM

Retorna la suma de todas los valores de la columna que cumplan con la condicin WHERE (si no se incluye se calcula el total de la tabla). El campo sumado debe ser numrico.

SELECT SUM(MAE_SALDO_DISPUE) FROM ALTIDBA.BGDTMAE

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

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 0) OR MAE_INDESTA = A

Nombre de Tabla AND MAE_SALDO

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL Condiciones ANY / SOME

Cuando se especifica ANY o SOME, el resultado es verdadero si la condicin 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 FROM Nombre Tabla)

( SELECT

MAE_SALDO_MEDIO

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL OTRAS CONDICIONES

BETWEEN: determina si un valor dado se encuentra entre las 2 expresiones dadas. Siempre la expresin 1 debe ser menor a la expresin 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 expresin. Ej: APELLIDO LIKE PEREZ%. En un where traer todos los apellidos que comiencen con Perez.

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

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 travs de un subselect, la tabla seleccionada deber tener la misma definicin que la tabla a la que se le insertarn los datos.

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL UPDATE

La sentencia UPDATE Tabla

se utiliza para modificar los datos de las filas de una

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 vlidas en la sentencia UPDATE.

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

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 vlidas en la sentencia DELETE

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Precompilacin Cuando se compila un programa que tiene sentencias DB2, el Job de compilacin debe

tener un paso ms, llamado Precompilacin, que debe ejecutarse antes de la compilacin Cobol. La Precompilacin transforma las sentencias La Precompilacin genera 2 salidas :

SQL del programa, a Calls de DB2. Dichos Calls pueden ser compilados sin error por el compilador Cobol.

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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

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 Clusula MEMBER del Bind del Package contiene una lista de los DBRM. Cada

DBRM pertenece a un programa de aplicacin. Cuando se crea un package, se arma la estructura de control para la ejecucin de las sentencias SQL en el programa correspondiente. En esta instalacin se arma un package por programa aplicacin.

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

CPLAN

apacitacin Altamira

Programacin

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 ms 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 lgico

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

CBIND

apacitacin Altamira

Programacin

El BIND es el proceso por el cual se crea un package o un plan La conexin con DB2 es el resultado de un BIND

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

UNIDAD DE TRABAJO Se llama unidad de trabajo a un conjunto de operaciones que se ejecutan a partir de una

determinada accin Una Unidad de Trabajo comienza por el inicio de un proceso o por la terminacin de la

unidad de trabajo previa Una unidad de trabajo finaliza por una operacin COMMIT, por una operacin

ROLLBACK o por la terminacin del proceso Las operaciones de commit o rollback afectan slo 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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

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 Recin cuando finalice la unidad de trabajo con un COMMIT, estos cambios se vern

reflejados fsicamente en la tablas Por default, al finalizar un programa batch con DB2, el mismo realiza un commit

automtico En el caso de un programa on-line el commit automtico 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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

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 jams 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 SQLROLLBACK END-EXEC

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

INCLUDE La sentencia INCLUDE incluye el copy dentro del programa Al ser una sentencia DB2, sta se resuelve en el tiempo de precompilacin 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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

SQLCODE

La respuesta de toda operacin que se ejecute sobre objetos DB2, queda en la variable SQLCODE Dentro de los programas, se debe preguntar por el Sqlcode despus de cualquier operacin, 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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

CURSORES Se utilizan para acceder a TODOS los registros de una Tabla, que cumplan con una

condicin Un CURSOR es un objeto lgico. 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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

CURSORES FOR UPDATE Cuando se desea modificar filas, que se encuentran en un cursor, el mismo debe ser

declarado con el parmetro FOR UPDATE Este parmetro permite modificar el dato de la fila que se ha ledo, o borrar dicha fila de

la Tabla

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Ejercitacin

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

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 alfbeticamente. 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 nmero 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 evalen el resultado de cada operacin.

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL Tabla 1 (Clientes)

NUMCLIEN CODIDENT CLAIDENT PRIAPE SEGAPE 00433833 02 0000022556712 DELLEPIANE VALLE 00436604 02 0000017365459 DELSOGLIO CACERES 00437514 03 0000020159438 DELUCCHI 00437519 04 0000009879250 DELUCCHI 00439370 03 0000025696782 DEMARCHI 00439251 04 0000003161515 DEMARCHI ARTIGAS 00438856 03 0000024565222 DEMARCO 00444059 02 0000018995565 DER KRIKORIAN 00443741 04 0000013569898 DERECHO

NOMBRE BEATRIZ GRACIELA ANA MARIA CARLOS RAUL DIEGO GUILLERMO JOSE MARIA ANA MARIA JUAN BEATRIZ LILIANA NORA

ESTADO 1 0 1 1 1 0 1 1 1

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL Tabla 2 (Relacin cliente-cuenta)NUMCLIEN 00433833 00433833 00436604 00437514 00437514 00437514 00437514 00437519 00437519 00438856 00438856 00439370 00444059 00444059 00444059 00444059 CODISER 02 12 01 01 02 07 17 07 07 07 17 02 07 07 17 17 NUMECTA CLAINTER 00117547 T 00006669 T 00248243 T 00242839 T 00048457 T 00090282 T 00090253 T 00136068 T 00159770 T 00036658 T 00036642 T 00081975 T 00090961 T 00220583 T 00090921 T 00220523 T SECINTER 02 02 02 01 01 02 02 02 01 02 02 01 01 01 01 01

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Repaso de instrucciones SQL Solucin 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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura Siglas de AplicacionesQC: Arquitectura Central QB: Arquitectura Tablas Generales QG: Arquitectura de Aplicaciones

QM: Arquitectura - MantenimientoQI: Tratamiento de Listados QR: Arquitectura - Rutinas AC: Arquitectura de Canales (Propia de BKB) BA: Cmara BG: Cuentas BQ: Cheques y chequeras

BR: Rutinas de cuentas personalesConfidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura Siglas de AplicacionesBX: Tratamiento de Incidencias HA: Contabilidad General IA: Gestin de correspondencia

LS: Cartera de EfectosOG: Domiciliaciones General OM: Domiciliaciones PE: Personas (Clientes) TC: Tablas Corporativas UA: Avales UG: Prstamos

PM: Marketing y VentasConfidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura Para la mayora de los componentes (programas, copys, mapas, tablas, etc.) ser:

aaTTxxx v,

Donde

aa es el Identificador de la aplicacin TT vara 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: Mdulo Cobol CICS sin DB2 (algunas aplicaciones lo usan como batch) 7C: Mdulo cobol CICS con DB2 8C: Mdulo Cobol Batch sin DB2

9C: Mdulo Cobol Batch con DB2 (En algunas aplicaciones se utiliza para sin DB2)Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura

TT vara 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 versin, se utiliza en programas. La versin 0 debe ser siempre la versin correcta y definitiva.

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares 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 versin HADT001: Es la tabla nmero 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 Cmara BGECMIR: Es la commarea de comunicacin con la rutina de cuentas BG4CMIR0 HAM060: Es el mapa de la transaccin de Contabilidad nro. HA60 PENC0660: Copy del rea de entrada a la transaccin PE66

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura Bases, Tablespaces e ndices

Bases de Datos: ALB aa e aa aa, Cdigo de la aplicacin e, Entorno del trabajo (V: desarrollo, I: Integracin, P: produccin, Y: Desarrollo paralelo) aa, cdigo de la aplicacin

Tablespaces: ALP aa xxx aa, Cdigo de la aplicacin

xxx, cdigo que identifica a la entidad de DB2 (tabla relacionada)

Tablas: aa DT xxx aa, Cdigo de la aplicacin xxx, cdigo que identifica a la entidad de DB2

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura Bases, Tablespaces e ndices (Cont.)

Vistas: aa DV xxx y aa, Cdigo de la aplicacin xxx, cdigo que identifica a la entidad de DB2

y, nmero de secuencia de las vistas, empezando de 0.

Indices: AL n aa xxx n, indicador de secuencia de ndices aa, Cdigo de la aplicacin xxx, cdigo que identifica a la tabla DB2 a la que pertenece

Cursores AL DC xxx y xxx, cdigo que identifica a la entidad de DB2

y, nmero de secuencia, empezando de 0Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura Planes AL e aa P te, cdigo de entorno (V: desarrollo, I: integracin, etc.) aa, Cdigo de la aplicacin 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, cdigo que identifica a la entidad de DB2 y, nmero de secuencia, empezando de 0

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura Archivos

Internamente, podrn tener cualquier nombre DDNAME Archivos que no son listados: z v tt xxx 0

z indica la utilizacin (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, cdigo que identifica al elemento 0, constante

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura

DDNAME (Cont.) Archivos que son listados: aa tt xxx n aa indica cdigo de la aplicacin tt tipo de fichero (LS: listado, DO: Documentacin)

xxx, cdigo que identifica al elemento n, nmero de secuencia de los listados de un programa. Si es un resumen del proceso deber tener valor 0. Ej:

BGLSISE1BGLSISE2 Son dos listados generados por el programa BG4CISE0 de la aplicacin de cuentas.

NOTA: Los valores de xxx no deben ser necesariamente iguales a los del programa.Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura

DSNAME (Estndares Altamira Espaa) Primer cualificador: MALe MAL: Constante fija que indica plataforma Altamira en Espaa e: cdigo del entorno de trabajo (D: Desarrollo, F: Formacin, C: Conversin, T: Test, P: produccin) Segundo cualificador: aa [ts] (donde t s son opcionales) aa: Cdigo de aplicacin [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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura

DSNAME (Cont. ) Tercer cualificador: rrrr ssss rrrr rrrr, indicador reservado para el RACF para niveles de proteccin (por defecto, en la instalacin, se crean los siguientes: STDR fichero estndar y BAT1 fichero generado por proceso batch)

ssss, indicador reservado al gestor de espacio SMS. Se utilizan los siguientes STDR fichero de tipo secuencial (estndar) HIST fichero de tipo histrico, con backup y sin borrado HILn fichero histrico, con requisitos legales de n aos NBAS fichero no bsico, con backup y borrado controlado SBAS fichero bsico, con backup y borrado controlado SB30 fichero a mantener durante 30 das SB60 fichero a mantener durante 60 das 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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura

DSNAME (Cont. ) Cuarto cualificador: pppp xxx n pppp, indicador de fichero para gestin de produccin 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 nmero de generacin

xx, el nmero de versin No generacionales: i nnnnnn (Opcional) i, indicador de significado de la numeracin posterior (D: fechas, R: remesas, S: solicitudes, A: cobros, O: rdenes, X: libre, M: mes AAMM)

nnnnnn, numrico de 4 a 6 posicionesConfidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura

Ejemplos DSNAME (Altamira Espaa) MALI.HA.BAT1HIST.UMERIS01.M0203 Archivo de Integracin, de contabilidad, generado por proceso batch, histrico, 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&DAT1Archivo de Desarrollo, del mdulo 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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura

DSNAME (Estndares BKB) Primer cualificador: A amb A: Constante amb: indica el entorno de trabajo (INT: Integracin, PRO: Produccin, etc.)

Segundo cualificador: aa aa: Cdigo de aplicacin Tercer cualificador: S (Constante)

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura

DSNAME (Cont. Estndares BKB) Tercer cualificador: rrrr ssss rrrr rrrr, indicador reservado para el RACF para niveles de proteccin (por defecto, en la instalacin, se crean los siguientes: STDR fichero estndar y BAT1 fichero generado por proceso batch)

ssss, indicador reservado al gestor de espacio SMS. Se utilizan los siguientes STDR fichero de tipo secuencial (estndar) HIST fichero de tipo histrico, con backup y sin borrado HILn fichero histrico, con requisitos legales de n aos NBAS fichero no bsico, con backup y borrado controlado SBAS fichero bsico, con backup y borrado controlado SB30 fichero a mantener durante 30 das SB60 fichero a mantener durante 60 das 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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura

DSNAME (Cont. Estndares BKB) Cuarto cualificador: indicador de fichero para gestin de produccin y libre en desarrollo. Cuando la relacin 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 xxnnnn, el nmero de generacin xx, el nmero de versin No generacionales: i nnnnnn (Opcional) i, indicador de significado de la numeracin posterior nnnnnn, numrico de 4 a 6 posicionesConfidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de nomenclatura

Ejemplos DSNAME (Bank Boston) AINT.BG.S.BAT1NBAS.MOVONLC0.D020302 Archivo de Integracin, de Cuentas Personales, generado por proceso batch no bsico, 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 Produccin, del mdulo de Cuentas Personales, generado en un proceso Batch, es un archivo Bsico (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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de Programacin Estndares funcionales:

Uso de fechas de Proceso: En On-line , se debe usar a fecha provista por la Arquitectura (CAA-FECHACONT). En el Batch, se debe usar uno de estos mtodos. Usar la variable Jobtrac que indica la fecha de proceso. Usar un archivo de administracin 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 autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de Programacin

Programacin Estructurada: No usar GOTO (Slo se admite GOTO a fin de prrafo) No usar Handle Condition/Aid (Debe usarse el EIBRESP/EIBAID)

No puede haber recursividad de Performs.

No puede haber cdigo muerto (Mximo permitido 40 lneas), pero lo razonable no debera ser mayor a 20 lneas.

.

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de Programacin Consideraciones de Performance en sentencias DB2:

SELECT y CURSORES Seleccionar campo a campo y slo los campos que sern utilizados Realizar la seleccin en el orden en que estn 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 condicin NO HACER SELECT COUNT, seleccionar slo el primer campo del ndice que se est utilizando. Ej:

SELECT NUMEROINTO :CGT50011-NUMERO FROM VGT5001_DESCOD WHERE NUMERO = :CGT50011-NUMERO AND CODIGO = :CGT50011-CODIGO

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.

C

apacitacin Altamira

Programacin

Estndares de Programacin 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 ms performante trabajar con UNLOAD de tablas

Confidencial. No debe ser divulgado ni reproducido sin autorizacin previa, por escrito, de Accenture.