Vous êtes sur la page 1sur 70

programacin estructurada - cobol

Beca COBOL

Lima, fecha 16/08/2010

confidencialidad
Aviso: Este documento es material confidencial y propiedad de everis. Se prohbe el uso, reproduccin o la divulgacin del contenido de este material sin permiso previo y por escrito de la empresa propietaria.
Derechos de Autor 2010, everis. All rights reserved

ndice
1. objetivo

2. introduccin
3. estructura bsica de un programa cobol 4. normas generales de definicin de programas 5. sentencias bsicas en la codificacin 6. revisin de calidad en programas

ndice
1. objetivo

2. introduccin
3. estructura bsica de un programa cobol 4. normas generales de definicin de programas 5. sentencias bsicas en la codificacin 6. revisin de calidad en programas

programacin estructurada - cobol


objetivo

El objetivo principal de este curso es dejar a los alumnos con un conocimiento tal en programacin en COBOL que puedan insertarse directamente en un Proyecto.

ndice
1. objetivo

2. introduccin
3. estructura bsica de un programa cobol 4. normas generales de definicin de programas 5. sentencias bsicas en la codificacin 6. revisin de calidad en programas

programacin estructurada - cobol


introduccin
COBOL es el lenguaje de programacin ms utilizado en Entidades Financieras, de ah radica su importancia estratgica.

Es un lenguaje robusto, confiable y de fcil entendimiento, tiene gran capacidad para manejar grandes ficheros de datos con facilidad y potencia.

Principalmente se trabaja Bajo Plataforma ALTAMIRA en AS/400 o OS/390 (IBM)

ndice
1. objetivo

2. introduccin
3. estructura bsica de un programa cobol 4. normas generales de definicin de programas 5. sentencias bsicas en la codificacin 6. revisin de calidad en programas

programacin estructurada - cobol


estructura de un programa cobol

IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION

PROCEDURE DIVISION

programacin estructurada - cobol


estructura de un programa cobol
Formato:
IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION

IDENTIFICATION DIVISION.
PROGRAM-ID. AUTHOR. Nombre de Programa.

Nombre del Autor.

INSTALLATION. Lugar donde est instalado.

DATE-WRITTEN. Fecha de creacin.


DATE-COMPILED. Fecha de compilacin. REMARKS. Comentarios.

10

programacin estructurada - cobol


estructura de un programa cobol

ttulo de grficos e ilustraciones (arial 12, minsculas, gris)

Identification division
11

programacin estructurada - cobol


estructura de un programa cobol

ttulo de grficos e ilustraciones (arial 12, minsculas, gris)

Identification division - comentarios


12

programacin estructurada - cobol


estructura de un programa cobol
Consta de dos secciones; de stas, la CONFIGURATION SECTION es requerida, mientras que la INPUT-OUTPUT SECTION es opcional.
IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION

Formato:
ENVIRONMENT DIVISION. [CONFIGURATION SECTION]. SOURCE-COMPUTER. Prrafo. OBJECT-COMPUTER. Prrafo.

[SPECIAL-NAMES. Prrafo]
[INPUT-OUTPUT SECTION] FILE-CONTROL. [I-O-CONTROL. Prrafo Prrafo]

13

programacin estructurada - cobol


estructura de un programa cobol
En esta seccin se requieren dos prrafos y el tercero es opcional.
IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION

Formato:
CONFIGURATION SECTION.
SOURCE-COMPUTER. Prrafo. OBJECT-COMPUTER. Prrafo. [SPECIAL-NAMES. Prrafo]

14

programacin estructurada - cobol


estructura de un programa cobol

En esta seccin el prrafo FILE-CONTROL es obligatorio, mientras que el I-O-CONTROL es

IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION

opcional. Formato:

[ INPUT-OUTPUT SECTION ] FILE-CONTROL.

SELECT Nombre-de-archivo ASSIGN TO Tipo-de-dispositivo ORGANIZATION IS Tipo de organizacin ACCESS MODE IS Modo de accesoal fichero RECORD KEY IS Clave del registro ALTERNATE RECORD KEY IS Claves alternativas registro WITH DUPLICATES FILE STATUS IS Variable de estado del fichero.
[ I-O-CONTROL. Prrafo ]

15

programacin estructurada - cobol


estructura de un programa cobol

ttulo de grficos e ilustraciones (arial 12, minsculas, gris)

Environment division Input / Output section


16

programacin estructurada - cobol


estructura de un programa cobol
Identifica todos los nombres de datos usados en el programa. Se divide en tres secciones:

IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION

File-Section.
Working Storage Section. Linkage Section.

17

programacin estructurada - cobol


estructura de un programa cobol

ttulo de grficos e ilustraciones (arial 12, minsculas, gris)

Data division
18

programacin estructurada - cobol


estructura de un programa cobol data division
DATA DIVISION. FILE SECTION. FD CLIENTES BLOCK CONTAINS 4 RECORDS RECORD CONTAINS 128 CHARACTERS LABEL RECORD STANDARD. 01 REG-CLIENTE. 02 KEY-CLIENTE. 03 CLICOD PIC 9(4) COMP-6. 02 CLINOM PIC X(30). 02 CLIDIR PIC X(30). 02 CLIPOB PIC X(20). 02 CLIPRO PIC X(20). 02 CLINIF PIC X(9). 02 FILLER PIC X(17). FD 01 IMPRESORA LABEL RECORD OMITTED. LINEA PIC X(132).

19

programacin estructurada - cobol


estructura de un programa cobol data division
file-section.
DATA DIVISION. FILE SECTION. FD CLIENTES BLOCK CONTAINS 4 RECORDS RECORD CONTAINS 128 CHARACTERS LABEL RECORD STANDARD. 01 REG-CLIENTE. 02 KEY-CLIENTE. 03 CLICOD PIC 9(4) COMP-6. 02 CLINOM PIC X(30). 02 CLIDIR PIC X(30). 02 CLIPOB PIC X(20). 02 CLIPRO PIC X(20). 02 CLINIF PIC X(9). 02 FILLER PIC X(17). FD 01 IMPRESORA LABEL RECORD OMITTED. LINEA PIC X(132). 20

programacin estructurada - cobol estructura de un programa cobol

ttulo de grficos e ilustraciones (arial 12, minsculas, gris)

Data division Working Storage Section


21

programacin estructurada - cobol estructura de un programa cobol

ttulo de grficos e ilustraciones (arial 12, minsculas, gris)

Data division Linkage Section


22

programacin estructurada - cobol estructura de un programa cobol


Contiene las instrucciones del programa. Esta es la parte
IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION

del programa COBOL que en realidad se ejecuta; las otras

tres divisiones especifican los aspectos no ejecutables del


programa. PROCEDURE DIVISION (USING Variable Variable ...). DECLARATIVES. Nombre-seccin SECTION. USE AFTER ERROR PROCEDURE ON tipo. Nombre-prrafo. Sentencias. ..... END DECLARATIVES. Nombre-seccin SECTION. Nombre-prrafo. Sentencias. ..... 23

programacin estructurada - cobol estructura de un programa cobol


Prrafo Inicio

Prrafos Comunes

Programa Principal

Prrafo Proceso A Prrafo Fin

Prrafo Proceso N

24

ndice
1. objetivo

2. introduccin
3. estructura bsica de un programa cobol 4. normas generales de definicin de programas 5. sentencias bsicas en la codificacin 6. revisin de calidad en programas

25

programacin estructurada - cobol


normas generales de definicin de programas
Prrafo Principal.
Define el Control y los Procesos principales. Sentencias PERFORM.

La sentencia THRU.

Programa Principal

26

programacin estructurada - cobol normas generales de definicin de programas

27

programacin estructurada - cobol normas generales de definicin de programas

28

programacin estructurada - cobol normas generales de definicin de programas

Prrafo Inicio

29

programacin estructurada - cobol normas generales de definicin de programas

Prrafo Proceso A Prrafo Proceso N

30

programacin estructurada - cobol normas generales de definicin de programas

Prrafos
Comunes

31

programacin estructurada - cobol normas generales de definicin de programas

Prrafos
Comunes

32

programacin estructurada - cobol normas generales de definicin de programas

Prrafos
Comunes

33

programacin estructurada - cobol normas generales de definicin de programas

Prrafos
Comunes

34

programacin estructurada - cobol normas generales de definicin de programas

Prrafos
Comunes

35

programacin estructurada - cobol normas generales de definicin de programas

Prrafo Fin

36

ndice
1. objetivo

2. introduccin
3. estructura bsica de un programa cobol 4. normas generales de definicin de programas 5. sentencias bsicas en la codificacin 6. revisin de calidad en programas

37

programacin estructurada - cobol elementos bsicos del lenguaje cobol

Constantes

Ejecucin del Programa COBOL

Variables Ejecucin del Programa COBOL

38

programacin estructurada - cobol elementos bsicos del lenguaje cobol


nombres de datos
Largo. Nombre. Uso del smbolo guin ( - ). Uso de Espacios. No uso de palabras reservadas

39

programacin estructurada - cobol elementos bsicos del lenguaje cobol


Recomendaciones para nombres de datos
Evitar Ambigedades. Permitir la Auto-documentacin. Definicin y Uso de Estructuras.

40

programacin estructurada - cobol elementos bsicos del lenguaje cobol


Existen diversos tipos de Constantes:
Literales. Numricas. Ej.: CT-IMPUESTO = 0.04 (no permite operaciones) Ej.: CT-FIJO = 35.0

Constantes figurativas. ZERO, ZEROS, ZEROES, SPACE y SPACES, etc. Literales no numricas. Ej.: CT-TITULO = LISTADO NRO

41

programacin estructurada - cobol elementos bsicos de la programacin cobol

ttulo de grficos e ilustraciones (arial 12, minsculas, gris)

Constantes
42

programacin estructurada - cobol elementos bsicos de la programacin cobol

ttulo de grficos e ilustraciones (arial 12, minsculas, gris)

Constantes
43

programacin estructurada - cobol elementos bsicos de la programacin cobol

ttulo de grficos e ilustraciones (arial 12, minsculas, gris)

Constantes
44

programacin estructurada - cobol elementos bsicos de la programacin cobol Codificacin en COBOL bajo OS/390

80 columnas

16 N de Secuencia

7 Comentario. Continuacin de Lnea

45

programacin estructurada - cobol elementos bsicos de la programacin cobol Codificacin en COBOL bajo OS/390

Comando COLS 16 N de Secuencia

7 Comentario. Continuacin de Lnea 46

programacin estructurada - cobol elementos bsicos de la programacin cobol Codificacin en COBOL bajo OS/390

80 columnas

8 Margen A

12 Margen B

47

programacin estructurada - cobol elementos bsicos de la programacin cobol Codificacin en COBOL bajo OS/390

80 columnas

8 Zona de Codificacin COBOL

72 Informacin descriptiva

48

programacin estructurada - cobol elementos bsicos de la programacin cobol Codificacin en COBOL bajo OS/390

8 - 72 Zona de Codificacin COBOL 73-80 Informacin Descriptiva Margen A

Margen B 49

ndice
1. objetivo

2. introduccin
3. estructura bsica de un programa cobol 4. normas generales de definicin de programas 5. sentencias bsicas en la codificacin 6. revisin de calidad en programas

50

programacin estructurada - cobol revisin de calidad en programas


calidad
Normas de Cumplimiento Obligatorio. Recomendaciones Generales de Calidad.

Sentencias Prohibidas.
Utilizacin de Ficheros. Tablas Working. Listados. Normas para Programacin ON-LINE. Normas BATCH. CORE.

CMM (Model Capability Madurity)


51

resumen
Estructura de un Programa COBOL
IDENTIFICATION DIVISION ENVIRONMENT DIVISION
CONFIGURATION SECTION. INPUT-OUTPUT SECTION.

DATA DIVISION
FILE CONTROL WORKING STORAGE

PROCEDURE DIVISION

Prrafos en COBOL. Elementos de un Programa COBOL Reglas de la Codificacin COBOL.

52

Dudas y aclaraciones
Modulacin Programacin Modular
1 Programa Llamador 2 Programa Llamado

Desarrollo TOP - DOWN.


PROCESO PROCESO 1.1 1.1 PROCESO PROCESO 1.2 1.2 PROCESO PROCESO

PROCESO PROCESO 11

REALIDAD

PROCESO PROCESO

PROCESO PROCESO 22

2.1 2.1 PROCESO PROCESO 2.2 2.2 PROCESO PROCESO 3.1 3.1 PROCESO PROCESO 3.2 3.2

PROCESO PROCESO 33

Secuencia de Acciones

Seleccin de Acciones

Iteracin de Acciones

53

Prctica : Elementos de la programacin COBOL

Objetivo.
El alumno deber ser capaz de analizar y construir segn las Normas del buen Programador los programas en Pseudo cdigo que resuelvan las problemticas que se les presenten.

Descripcin.
Debern entender claramente la problemtica planteada. Sern capaces de modelar el Mundo Real utilizando los principios de la Programacin Estructurada.

Sern capaces de construir en Pseudo cdigo el algoritmo que resuelva la problemtica planteada

Duracin.
6 horas.

54

Prctica : Elementos de la programacin COBOL


Nomenclatura Diagramas.

Proceso

Fichero

Decisin

Listado

Base de Datos

Conector. Indica el sentido del Flujo Conector en una misma pgina

Inicio / Fin

Conector en una misma pgina

Lectura / Escritura

55

Prctica : Elementos de la programacin COBOL


Ejemplo.
INICIO

No Si

FIN

56

Prctica : Elementos de la programacin COBOL

Situacin.
Ficheros de Entrada:
La descarga de la tabla BGDTCNT de los registros que estn activos y que pertenezcan al concepto de Seguro. La descarga de la tabla BGDTEPT de los registros que estn cobrados y que pertenezcan al concepto de Comisin.

Ficheros de Salida.
Fichero SALIDA que contiene la informacin de las cuentas que fueron cobrados y que existan en BGDTCNT.

57

Prctica : Elementos de la programacin COBOL

Situacin.
Estructura de los Datos de Entrada. BGDTCNT
Entidad Centro - Alfanumrico(4) - Alfanumrico(4) - Alfanumrico(3) - Numrico(15,2) - Alfanumrico(3) - Alfanumrico(3) Primary Key - Primary Key CNT-ENTIDAD CNT-CENTRO

CNT-CUENTA
CNT-DIVISA CNT-IMPORTE-IMP CNT-CONCEPTO CNT-CENTRO-ORI CNT-FECHA-COBRO CNT-ESTADO

Cuenta
Divisa Importe Tipo (Seguro / otros) Centro Origen Fecha Cobro

- Alfanumrico(12) - Primary Key

CNT-FECHA-PROCESO Fecha Proceso

- Alfanumrico(10)
- Alfanumrico(10)

Estado (Activo / Desactivado) - Alfanumrico(1)

58

Prctica : Elementos de la programacin COBOL

Situacin. Estructura de los Datos de Entrada. BGDTEPT


EPT-ENTIDAD EPT-CENTRO EPT-CUENTA EPT-DIVISA Entidad Centro Cuenta Divisa - Alfanumrico(4) - Alfanumrico(4) Primary Key - Primary Key

- Alfanumrico(12) - Primary Key - Alfanumrico(3) - Alfanumrico(3) - Alfanumrico(3) - Alfanumrico(3)

EPT-CENTRO-CONTAB Centro Contable EPT-CONCEPTO EPT-CENTRO-ORI Tipo (Seguro / Comisin /otros) Centro Origen

EPT-FECHA-PROCESO Fecha Proceso


EPT-FECHA-VALOR EPT-ESTADO Fecha Valoracin Estado (Cobrado / No Cobrado)

- Alfanumrico(10)
- Alfanumrico(10) - Alfanumrico(1)

59

Prctica : Elementos de la programacin COBOL

Situacin.
Estructura de los Datos de Salida.
Entidad Centro - Alfanumrico(4) - Alfanumrico(4) Primary Key - Primary Key SAL-ENTIDAD SAL-CENTRO

SAL-CUENTA
SAL-CUENTA-COMP SAL-CUENTA-DISP

Cuenta
Entidad-Centro-Cuenta

- Alfanumrico(12) - Primary Key


- Alfanumrico (20)

Entidad-Centro-Cuenta formateada - Alfanumrico (22)

SAL-CUENTA-COMP : Ser la concatenacin de los campos. SAL-CUENTA-DISP : Ser la concatenacin de los campos incorporando separadores ( campos. - : guin) entre los

60

Prctica : Elementos de la programacin COBOL

Situacin.
Validaciones necesarias.
Los datos deben ser del tipo de dato que dicen ser. Se deben generar los mensajes correspondientes a todos los problemas detectados. Ej.: Ausencia de Datos, Errores de Tipo de datos, Operaciones incorrectas, etc. Se deben generar las asignaciones de valores por defecto a aquellos datos que no tengan informacin. Ej.: Asignacin de CEROS a valores numricos.

61

Prctica : Elementos de la programacin COBOL

Problema 1.
Situacin en que es necesario obtener un reporte de salida a partir de un fichero de datos de entrada.

Consideraciones.
Queda a libertad del alumno elegir cual de las entradas utilizar para el desarrollo de esta parte de la prctica.

MUY
FACIL

62

Prctica : Elementos de la programacin COBOL

Problema 2.
Situacin en que es necesario obtener un reporte de salida a partir datos obtenidos a travs de Consulta sobre la Base de Datos.

Consideraciones.
Queda a libertad del alumno elegir cual de las entradas utilizar para el desarrollo de esta parte de la prctica.

MUY
FACIL

63

Prctica : Elementos de la programacin COBOL

Problema 3.
Situacin en que es necesario realizar un Match Simple entre 2 entradas para obtener:
Fichero de Datos vlidos.
Fichero de Datos Errneos 1. Fichero de Datos Errneos 2. Caso A.
Usando como fuente de Entrada y Salida Ficheros de Datos.

ALGO MAS COMPLICADO

64

Prctica : Elementos de la programacin COBOL

Problema 3.
Situacin en que es necesario realizar un Match Simple entre 2 entradas IGUAL para DE obtener: COMPLEJO
Fichero de Datos vlidos.
Fichero de Datos Errneos 1. Fichero de Datos Errneos 2. Caso B.
Usando como fuente de Entrada y Salida Tablas de la Base de Datos.

QUE EL

ANTERIOR

65

Prctica : Elementos de la programacin COBOL

Problema 4.
Situacin en que se realizan Validaciones y Formateo a las Salidas del programa.

MUY FACIL

66

Prctica : Elementos de la programacin COBOL

Se pide.
Disear el diagrama de flujo del programa COBOL, identificando estructuras repetitivas, de seleccin, pasos individuales, etc. En este diagrama se deben reflejar todas las actividades identificadas en el prctico anterior. Se debe construir el Pseudo cdigo del programa y este debe ser equivalente a los flujos mostrados en el diagrama de flujo. En todas estas actividades se debe aplicar:
Los principios de la Programacin Estructurada. Agrupar las actividades identificadas en los segmentos de Inicio / Proceso / Fin. Respetar algunos de los estndares COBOL ya identificados.

67

Prctica : Elementos de la programacin COBOL

Entregables.
Diagrama de Flujo del Programa.
Este debe respetar la nomenclatura descrita para tal caso.

Pseudo cdigo.
Identificando y agrupando claramente aquellas que son especializaciones de otras. Identificando y agrupando claramente aquellas actividades que forman parte de un mismo prrafo del Programa Principal. (Inicio Proceso o Final) Utilizar los estndares de nomenclatura COBOL ya identificados para nombrar Constantes, Variables, etc.

68

Prctica : Elementos de la programacin COBOL

Prctica
69

Preguntas?

everis.com