01 - Programacion Cobol- Programacion Estructurada Con Cobol

Post on 09-Nov-2014

384 views 38 download

Tags:

Transcript of 01 - Programacion Cobol- Programacion Estructurada Con Cobol

Beca COBOL

Lima, fecha 16/08/2010

programación estructurada - cobol

2

confidencialidadAviso: Este documento es material confidencial y propiedad de everis. Se prohíbe

el uso, reproducción o la divulgación del contenido de este material sin permiso

previo y por escrito de la empresa propietaria.

Derechos de Autor

© 2010, everis. All rights reserved

3

1. objetivo

2. introducción

3. estructura básica de un programa cobol

4. normas generales de definición de programas

5. sentencias básicas en la codificación

6. revisión de calidad en programas

índice

4

1. objetivo

2. introducción

3. estructura básica de un programa cobol

4. normas generales de definición de programas

5. sentencias básicas en la codificación

6. revisión de calidad en programas

índice

5

programación estructurada - cobol objetivo

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

6

1. objetivo

2. introducción

3. estructura básica de un programa cobol

4. normas generales de definición de programas

5. sentencias básicas en la codificación

6. revisión de calidad en programas

índice

7

programación estructurada - cobol introducción

COBOL es el lenguaje de programación más utilizado en Entidades Financieras, de ahí radica su importancia estratégica.

Es un lenguaje robusto, confiable y de fácil 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)

8

1. objetivo

2. introducción

3. estructura básica de un programa cobol

4. normas generales de definición de programas

5. sentencias básicas en la codificación

6. revisión de calidad en programas

índice

9

programación estructurada - cobol estructura de un programa cobol

PROCEDURE DIVISION

DATADIVISION

ENVIRONMENTDIVISION

IDENTIFICATION DIVISION

10

programación estructurada - cobol estructura de un programa cobol

PROCEDURE DIVISION

DATADIVISION

ENVIRONMENTDIVISION

IDENTIFICATIONDIVISION

Formato:

IDENTIFICATION DIVISION.

PROGRAM-ID. Nombre de Programa.

AUTHOR. Nombre del Autor.

INSTALLATION. Lugar donde está instalado.

DATE-WRITTEN. Fecha de creación.

DATE-COMPILED. Fecha de compilación.

REMARKS. Comentarios.

11

título de gráficos e ilustraciones (arial 12, minúsculas, gris)IL

USTRATIVO

Identification division

programación estructurada - cobol estructura de un programa cobol

12

título de gráficos e ilustraciones (arial 12, minúsculas, gris)IL

USTRATIVO

Identification division - comentarios

programación estructurada - cobol estructura de un programa cobol

13

programación estructurada - cobol estructura de un programa cobol

PROCEDURE DIVISION

DATADIVISION

ENVIRONMENTDIVISION

IDENTIFICATIONDIVISION

Consta de dos secciones; de éstas, la CONFIGURATION SECTION es requerida, mientras que la INPUT-OUTPUT SECTION es opcional.

Formato: ENVIRONMENT DIVISION.

[CONFIGURATION SECTION].

SOURCE-COMPUTER. Párrafo.

OBJECT-COMPUTER. Párrafo.

[SPECIAL-NAMES. Párrafo]

[INPUT-OUTPUT SECTION]

FILE-CONTROL. Párrafo

[I-O-CONTROL. Párrafo]

14

programación estructurada - cobol estructura de un programa cobol

PROCEDURE DIVISION

DATADIVISION

ENVIRONMENTDIVISION

IDENTIFICATIONDIVISION

En esta sección se requieren dos párrafos y el tercero es opcional.

Formato: CONFIGURATION SECTION.

SOURCE-COMPUTER. Párrafo.

OBJECT-COMPUTER. Párrafo.

[SPECIAL-NAMES. Párrafo]

15

programación estructurada - cobol estructura de un programa cobol

PROCEDURE DIVISION

DATADIVISION

ENVIRONMENTDIVISION

IDENTIFICATIONDIVISION

En esta sección el párrafo FILE-CONTROL es

obligatorio, mientras que el I-O-CONTROL es

opcional.

Formato:

[ INPUT-OUTPUT SECTION ]

FILE-CONTROL.

SELECT Nombre-de-archivo

ASSIGN TO Tipo-de-dispositivo

ORGANIZATION IS Tipo de organización

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. Párrafo ]

16

título de gráficos e ilustraciones (arial 12, minúsculas, gris)IL

USTRATIVO

Environment divisionInput / Output section

programación estructurada - cobol estructura de un programa cobol

17

programación estructurada - cobol estructura de un programa cobol

PROCEDURE DIVISION

DATADIVISION

ENVIRONMENTDIVISION

IDENTIFICATIONDIVISION

Identifica todos los nombres de datos usados en el programa.

Se divide en tres secciones:

File-Section.

Working Storage Section.

Linkage Section.

18

título de gráficos e ilustraciones (arial 12, minúsculas, gris)IL

USTRATIVO

Data division

programación estructurada - cobol estructura de un programa cobol

19

programación estructurada - cobol estructura de un programa cobol – data divisionDATA 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 IMPRESORA

LABEL RECORD OMITTED.

01 LINEA PIC X(132).

20

programación 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 IMPRESORA

LABEL RECORD OMITTED.

01 LINEA PIC X(132).

21

título de gráficos e ilustraciones (arial 12, minúsculas, gris)IL

USTRATIVO

Data division

Working Storage Section

programación estructurada - cobol estructura de un programa cobol

22

título de gráficos e ilustraciones (arial 12, minúsculas, gris)IL

USTRATIVO

Data division

Linkage Section

programación estructurada - cobol estructura de un programa cobol

23

programación estructurada - cobol estructura de un programa cobol

PROCEDURE DIVISION

DATADIVISION

ENVIRONMENTDIVISION

IDENTIFICATIONDIVISION

Contiene las instrucciones del programa. Esta es la parte

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-sección SECTION.

USE AFTER ERROR PROCEDURE ON tipo.

Nombre-párrafo.

Sentencias.

.....

END DECLARATIVES.

Nombre-sección SECTION.

Nombre-párrafo.

Sentencias.

.....

24

programación estructurada - cobol estructura de un programa cobol

Párrafo Inicio

Párrafo Fin

Párrafo Proceso A

Párrafo Proceso N

Párrafos Comunes

ProgramaPrograma

PrincipalPrincipal

25

1. objetivo

2. introducción

3. estructura básica de un programa cobol

4. normas generales de definición de programas

5. sentencias básicas en la codificación

6. revisión de calidad en programas

índice

26

programación estructurada - cobol normas generales de definición de programas

Párrafo Principal. Define el Control y los Procesos principales.

Sentencias PERFORM.

La sentencia THRU.

ProgramaPrograma

PrincipalPrincipal

27

programación estructurada - cobol normas generales de definición de programas

28

programación estructurada - cobol normas generales de definición de programas

29

programación estructurada - cobol normas generales de definición de programas

Párrafo Inicio

30

programación estructurada - cobol normas generales de definición de programas

Párrafo

Proceso A

Párrafo

Proceso N

31

programación estructurada - cobol normas generales de definición de programas

Párrafos

Comunes

32

programación estructurada - cobol normas generales de definición de programas

Párrafos

Comunes

33

programación estructurada - cobol normas generales de definición de programas

Párrafos

Comunes

34

programación estructurada - cobol normas generales de definición de programas

Párrafos

Comunes

35

programación estructurada - cobol normas generales de definición de programas

Párrafos

Comunes

36

programación estructurada - cobol normas generales de definición de programas

Párrafo Fin

37

1. objetivo

2. introducción

3. estructura básica de un programa cobol

4. normas generales de definición de programas

5. sentencias básicas en la codificación

6. revisión de calidad en programas

índice

38

programación estructurada - cobol elementos básicos del lenguaje cobol

Ejecución del Programa COBOL

Constantes

Variables

Ejecución del Programa COBOL

39

programación estructurada - cobol elementos básicos del lenguaje cobol

nombres de datos Largo.

Nombre.

Uso del símbolo “guión” ( - ).

Uso de Espacios.

No uso de palabras reservadas

40

programación estructurada - cobol elementos básicos del lenguaje cobol

Recomendaciones para nombres de datos

Evitar Ambigüedades.

Permitir la Auto-documentación.

Definición y Uso de Estructuras.

41

programación estructurada - cobol elementos básicos del lenguaje cobol

Existen diversos tipos de Constantes: Literales. Ej.: CT-IMPUESTO = “0.04” (no permite operaciones)

Numéricas.Ej.: CT-FIJO = 35.0

Constantes figurativas.

• ZERO, ZEROS, ZEROES, SPACE y SPACES, etc.

Literales no numéricas. Ej.: CT-TITULO = “LISTADO NRO”

42

título de gráficos e ilustraciones (arial 12, minúsculas, gris)IL

USTRATIVO

Constantes

programación estructurada - cobol elementos básicos de la programación cobol

43

título de gráficos e ilustraciones (arial 12, minúsculas, gris)IL

USTRATIVO

Constantes

programación estructurada - cobol elementos básicos de la programación cobol

44

título de gráficos e ilustraciones (arial 12, minúsculas, gris)IL

USTRATIVO

Constantes

programación estructurada - cobol elementos básicos de la programación cobol

45

ILUSTRATIV

O

programación estructurada - cobol elementos básicos de la programación cobolCodificación en COBOL bajo OS/390

80 columnas 1 – 6N° de Secuencia

7Comentario. Continuación de Línea

46

programación estructurada - cobol elementos básicos de la programación cobolCodificación en COBOL bajo OS/390

1 – 6N° de Secuencia

ComandoCOLS

7Comentario. Continuación de Línea

47

programación estructurada - cobol elementos básicos de la programación cobolCodificación en COBOL bajo OS/390

80 columnas 8Margen A

12Margen B

48

programación estructurada - cobol elementos básicos de la programación cobolCodificación en COBOL bajo OS/390

80 columnas 8Zona de Codificación COBOL

72Información descriptiva

49

programación estructurada - cobol elementos básicos de la programación cobolCodificación en COBOL bajo OS/390

8 - 72Zona de Codificación COBOL

73-80Información Descriptiva

Margen A

Margen B

50

1. objetivo

2. introducción

3. estructura básica de un programa cobol

4. normas generales de definición de programas

5. sentencias básicas en la codificación

6. revisión de calidad en programas

índice

51

programación estructurada - cobol revisión de calidad en programas

calidad Normas de Cumplimiento Obligatorio.

Recomendaciones Generales de Calidad.

Sentencias Prohibidas.

Utilización de Ficheros.

Tablas Working.

Listados.

Normas para Programación ON-LINE.

Normas BATCH.

CORE.

CMM (Model Capability Madurity)

52

resumen

Estructura de un Programa COBOL

IDENTIFICATION DIVISION

ENVIRONMENT DIVISION

CONFIGURATION SECTION.

INPUT-OUTPUT SECTION.

DATA DIVISION

FILE CONTROL

WORKING STORAGE

PROCEDURE DIVISION

Párrafos en COBOL.

Elementos de un Programa COBOL

Reglas de la Codificación COBOL.

53

Dudas y aclaraciones

Análisis del Trabajo

Diagrama deFlujo del Programa

Codificación del Programa

Prueba del Programa oDepuración

Preparacióno Puesta enProducción

PROCESO DE PROGRAMACIONPROCESO DE PROGRAMACIONPROCESO DE PROGRAMACION

ProgramaPrograma

LlamadorLlamador

ProgramaPrograma

LlamadorLlamador

ProgramaPrograma

LlamadoLlamado

ProgramaPrograma

LlamadoLlamado

11

22

ModulaciónModulación

Programación ModularProgramación Modular

P ro g ram aP ro g ram a

L lam ad o rL lam ad o r

P ro g ram aP ro g ram a

L lam ad o rL lam ad o r

P ro g ram aP ro g ram a

L lam ad oL lam ad o

P ro g ram aP ro g ram a

L lam ad oL lam ad o

11

22

S en cillezS en cillez

F iab ilid adF iab ilid ad

F acilid ad d e

M an ten im ien to

F ac ilid ad d e

M an ten im ien to

O cu p ació n d e

M em o ria

R ed u cid a

O cu p ació n d e

M em o ria

R ed u cid a

T iem p o d e

E jecu c ió n

R ed u cid o

T iem p o d e

E jecu c ió n

R ed u cid o

Desarrollo TOP - DOWN.

REALIDAD

PROCESO

1

PROCESO

1

PROCESO

2

PROCESO

2PROCESOPROCESO

PROCESO

3

PROCESO

3

PROCESO

1.1

PROCESO

1.1

PROCESO

1.2

PROCESO

1.2

PROCESO

2.1

PROCESO

2.1

PROCESO

2.2

PROCESO

2.2

PROCESO

3.1

PROCESO

3.1

PROCESO

3.2

PROCESO

3.2

Secuencia de Acciones Selección de Acciones

Iteración de Acciones

54

Objetivo. El alumno deberá ser capaz de analizar y construir según las “Normas del buen

Programador” los programas en Pseudo código que resuelvan las problemáticas que se les presenten.

Descripción. Deberán entender claramente la problemática planteada.

Serán capaces de modelar el Mundo Real utilizando los principios de la Programación Estructurada.

Serán capaces de construir en Pseudo código el algoritmo que resuelva la problemática planteada

Duración. 6 horas.

Práctica : Elementos de la programación COBOL

55

Práctica : Elementos de la programación COBOL

Nomenclatura Diagramas.

Proceso Fichero

Base de DatosListado

Decisión

Conector. Indica el sentido del Flujo

Inicio / FinConector en una misma página

Conector en una misma página

Lectura / Escritura

56

Práctica : Elementos de la programación COBOL

Ejemplo.

INICIO

FIN

Si

No

57

Situación. Ficheros de Entrada:

La descarga de la tabla BGDTCNT de los registros que estén activos y que pertenezcan al concepto de Seguro.

La descarga de la tabla BGDTEPT de los registros que estén cobrados y que pertenezcan al concepto de Comisión.

Ficheros de Salida.

Fichero SALIDA que contiene la información de las cuentas que fueron cobrados y que existan en BGDTCNT.

Práctica : Elementos de la programación COBOL

58

Situación. Estructura de los Datos de Entrada. BGDTCNT

CNT-ENTIDAD Entidad - Alfanumérico(4) – Primary Key

CNT-CENTRO Centro - Alfanumérico(4) - Primary Key

CNT-CUENTA Cuenta - Alfanumérico(12) - Primary Key

CNT-DIVISA Divisa - Alfanumérico(3)

CNT-IMPORTE-IMP Importe - Numérico(15,2)

CNT-CONCEPTO Tipo (Seguro / otros) - Alfanumérico(3)

CNT-CENTRO-ORI Centro Origen - Alfanumérico(3)

CNT-FECHA-PROCESO Fecha Proceso - Alfanumérico(10)

CNT-FECHA-COBRO Fecha Cobro - Alfanumérico(10)

CNT-ESTADO Estado (Activo / Desactivado) - Alfanumérico(1)

Práctica : Elementos de la programación COBOL

59

Situación.

Estructura de los Datos de Entrada. BGDTEPTEPT-ENTIDAD Entidad - Alfanumérico(4) – Primary Key

EPT-CENTRO Centro - Alfanumérico(4) - Primary Key

EPT-CUENTA Cuenta - Alfanumérico(12) - Primary Key

EPT-DIVISA Divisa - Alfanumérico(3)

EPT-CENTRO-CONTAB Centro Contable - Alfanumérico(3)

EPT-CONCEPTO Tipo (Seguro / Comisión /otros) - Alfanumérico(3)

EPT-CENTRO-ORI Centro Origen - Alfanumérico(3)

EPT-FECHA-PROCESO Fecha Proceso - Alfanumérico(10)

EPT-FECHA-VALOR Fecha Valoración - Alfanumérico(10)

EPT-ESTADO Estado (Cobrado / No Cobrado) - Alfanumérico(1)

Práctica : Elementos de la programación COBOL

60

Situación. Estructura de los Datos de Salida.

SAL-ENTIDAD Entidad - Alfanumérico(4) – Primary Key

SAL-CENTRO Centro - Alfanumérico(4) - Primary Key

SAL-CUENTA Cuenta - Alfanumérico(12) - Primary Key

SAL-CUENTA-COMP Entidad-Centro-Cuenta - Alfanumérico (20)

SAL-CUENTA-DISP Entidad-Centro-Cuenta formateada - Alfanumérico (22)

SAL-CUENTA-COMP : Será la concatenación de los campos.

SAL-CUENTA-DISP : Será la concatenación de los campos incorporando separadores ( - : guión) entre los campos.

Práctica : Elementos de la programación COBOL

61

Situación. 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 información. Ej.: Asignación de CEROS a valores numéricos.

Práctica : Elementos de la programación COBOL

62

Problema 1. Situación 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 práctica.

Práctica : Elementos de la programación COBOL

MUY MUY

FACILFACIL

63

Problema 2. Situación en que es necesario obtener un reporte de salida a partir datos obtenidos a

través 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 práctica.

Práctica : Elementos de la programación COBOL

MUY MUY

FACILFACIL

64

Problema 3.

Situación en que es necesario realizar un Match Simple entre 2 entradas para obtener:

Fichero de Datos válidos.

Fichero de Datos Erróneos 1.

Fichero de Datos Erróneos 2.

Caso A.

Usando como fuente de Entrada y Salida Ficheros de Datos.

Práctica : Elementos de la programación COBOL

ALGO MAS ALGO MAS

COMPLICADCOMPLICAD

OO

65

Problema 3.

Situación en que es necesario realizar un Match Simple entre 2 entradas para obtener:

Fichero de Datos válidos.

Fichero de Datos Erróneos 1.

Fichero de Datos Erróneos 2.

Caso B.

Usando como fuente de Entrada y Salida Tablas de la Base de Datos.

Práctica : Elementos de la programación COBOL

IGUAL DE IGUAL DE

COMPLEJO COMPLEJO

QUE EL QUE EL

ANTERIORANTERIOR

66

Problema 4.

Situación en que se realizan Validaciones y Formateo a las Salidas del programa.

Práctica : Elementos de la programación COBOL

MUY MUY

FACILFACIL

67

Se pide. Diseñar el diagrama de flujo del programa COBOL, identificando estructuras repetitivas,

de selección, pasos individuales, etc.

En este diagrama se deben reflejar todas las actividades identificadas en el práctico anterior.

Se debe construir el Pseudo código 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 Programación Estructurada.

Agrupar las actividades identificadas en los segmentos de Inicio / Proceso / Fin.

Respetar algunos de los estándares COBOL ya identificados.

Práctica : Elementos de la programación COBOL

68

Entregables. Diagrama de Flujo del Programa.

Este debe respetar la nomenclatura descrita para tal caso.

Pseudo código.

Identificando y agrupando claramente aquellas que son especializaciones de otras.

Identificando y agrupando claramente aquellas actividades que forman parte de un mismo párrafo del Programa Principal. (Inicio – Proceso o Final)

Utilizar los estándares de nomenclatura COBOL ya identificados para nombrar Constantes, Variables, etc.

Práctica : Elementos de la programación COBOL

69

Práctica : Elementos de la programación COBOL

Práctica

everis.com

Preguntas?