curso_cobol

download curso_cobol

of 18

Transcript of curso_cobol

  • 8/3/2019 curso_cobol

    1/18

  • 8/3/2019 curso_cobol

    2/18

    Que es COBOL.

    El Cobol (common busshines Oriented Languaje) Es un lenguaje de programacin,

    se utiliza como el lenguaje estndar para aplicaciones administrativas , tanto en

    grandes instalaciones (MAINFRAME) , como en pequeos (PCs).

    Para ejecutar una aplicacin en COBOL se requiere:

    1.- Crear una lista de instrucciones (programa), escrita en apego a los

    lineamientos (sintxis) del lenguaje Cobol.

    2.- Compilar el programa, para obtener el ejecutable.

    3.- Ordenar la ejecucin del programa, segn el ambiente de trabajo.

    Tpico 210 Codificacin de un programa COBOL

    Tpico 220 Edicin de un Programa

    Tpico 230

    Procesamiento de Archivos

    Tpico 240 Formateo de Datos

    Tpico 250 - COBOL Aritmetica y Lgica de un Programa

    Tpico 260 Programacin Multimodular y Copys

    Tpico 270 Procesamiento de Tablas

    Tpico 280 Gastos de un Sistema de Procesamiento de Datos

  • 8/3/2019 curso_cobol

    3/18

    OBJETIVOS.

    1.- Identificar las cuatro diferentes secciones y divisiones de COBOL.

    2.- Codificar los comentarios de un programa COBOL.

    3.- Codificar las cuatro divisiones de un programa en COBOL .

  • 8/3/2019 curso_cobol

    4/18

    ENVIRONMENT DIVISION

    Se consideran dos funciones principales en esta divisin.

    1.- Identifica el computador que vamos a usar para compilar y ejecutar el

    programa (usualmente es el mismo) esto se define en la seccin deconfiguracin ( CONFIGURATION SECTION).

    Formato: CONFIGURATION SECTION.

    SOURCE-COMPUTER. IBM-390.

    OBJECT-COMPUTER. IBM-390.

    2.- En la INPUT-OUTPUT SECTION definimos los archivos que se van a usar

    durante el Proceso del programa, tanto de entrada como de salida, a travs de

    las instrucciones y formatos correspondientes.

    FORMATO DE LA DEFINICION DE ARCHIVOS EN LA I/O

    Para un archivo de entrada.

    INPUT-OUTPUT SECTION.

    FILE CONTROL.

    SELECT ARCHENT1 ASSIGN TO ENTRA1.

    SELECT ARCHENT2 ASSIGN TO ENTRA2.

    Para un archivo de salida.

    SELECT ARCHSAL1 ASSIGN TO SALE1.

    SELECT ARCHSAL2 ASSIGN TO SALE2.

    Observemos que los nombres de divisiones de secciones se codifican en la

    columna 8 y las de de instrucciones, en este caso SELECT van a partir de la

    columna 12.

  • 8/3/2019 curso_cobol

    5/18

  • 8/3/2019 curso_cobol

    6/18

    1.1 Working-Storage Section.

    Constantes y literales.

    Son variables que contienen un valor fijo, el cual no cambiar durante el proceso

    del programa. Por ejemplo: ttulos, etiquetas de columnas, etc.

    Variables de trabajo (Scratch Area).

    Son variables que se encuentran involucradas en clculos intermedios o en el

    proceso del programa. Por ejemplo: Una variable en la que en cada cambio de

    registro se vaya guardando el resultado de una operacin.

    PROCEDURE DIVISION.

    En esta divisin definiremos todas y cada una de las instrucciones COBOL, as

    como prrafos, rutinas y otras instrucciones especiales.

    Prrafo Mainline Principal que est formado por tres procesos principales.

    1.- INICIO

    2.- PROCESO

    3.- FIN

    Prrafo Housekeeping Inicio.

    Inicializacin de variables de trabajo (acumuladores, contadores, etc).

    En ste prrafo se realiza la apertura inicial de archivos.

    Prrafo Process Proceso. Ejecucin del procedimiento principal del programa

    Prrafo Wrap-Up Final.

    Cerrado de archivos usados durante la ejecucin.

    Imprime Cifras Control de la informacin procesada.

    Prrafo principal.

  • 8/3/2019 curso_cobol

    7/18

    ******************************************************************

    * PROCEDURE DIVISION *

    ******************************************************************

    PROCEDURE DIVISION.

    1000-MAINLINE.

    PERFORM 2000-HOUSEKEEPING

    PERFORM 3000-PROCESS-TABLE

    PERFORM 8000-WRAP-UP

    STOP RUN.

    ALGUNAS INSTRUCCIONES O VERBOS COBOL PARA APLICARSE EN LA

    PROCEDURE DIVISION.

    OPEN Abrir Archivos principalmente.

    CLOSE Cerrar Archivos.

    READ Leer.

    WRITE Grabar.

    MOVE Mover informacin.

    IF Para toma de decisiones.

    EVALUATE Evala informacin y toma decisiones.

    PERFORM Bifurcar a otros puntos del programa.

    DISPLAY Para desplegar avisos principalmente.

    COMPUTE Para efectuar clculos.

    Estas instrucciones las vemos en este momento, para iniciar la Procedure

    Division, ya que ms adelante las veremos a detalle, tanto su funcionamiento

    como sus formatos.

  • 8/3/2019 curso_cobol

    8/18

    Prrafos en COBOL

    Comentarios.

    - Se codifican a partir de columna 7 y comienzan con *.

    - Mximo hasta la columna 72.

    Cabecera - inicio y finalizacin de un prrafo.

    - Se codifican a partir de la columna 8.

    - Nombrados de acuerdo a un orden lgico, mximo 35 caracteres.

    - El prrafo de finalizacin marca la terminacin del prrafo. El nombre debe

    tener el mismo nombre de inicio con terminacin -EXIT.

    - El prrafo de terminacin no es requerido.

    Prrafos en Cobol: Coleccin de instrucciones que realizan un paso en el

    programa.

    - Se codifican a partir de la columna 12.

    - Una instruccin es un comando de COBOL (verbo) que realiza una funcinespecfica.

    - Los puntos al final de cada instruccin son opcionales a reserva de la ltima

    instruccin de un prrafo que deber tener punto.

  • 8/3/2019 curso_cobol

    9/18

    Ejemplos de codificacin de prrafos.

    Nombre del prrafo en la columna 8 las instrucciones en la 12.

    123456789101112131415161718192021222324252627282930

    100-INICIO.

    READ ARCIVO 1

    ADD 1 TO CONT-LEIDOS.

    200-PROCESO.

    PERFORM 210-MUEVE-1

    PERFORM 220-MUEVE-2.

    300-FINAL.

    CLOSE ARCHIVO1.

    Codificacin de programas

    Comandos de edicin

    Comandos en lnea. Para TSO dentro del programa.

    Se teclean en la parte izquierda de la pantalla sobre la columna de nmeros.

    i - inserta lneas in -inserta el nmero de lneas especificado (n).

    d- borra lneas ddborra el bloque de lneas especificado.

    c - copia la lnea indicada cn - copia el nmero de lneas indicado (n).

    m- mueve la lnea indicada mm- mueve el bloque lneas indicado.

    r - repite la lnea rn - repite la linea el nmero de veces indicado.

    o- sobrescribe la lnea cols - visualizaregla para posicin de columnas.

    Todos estos comandos con excepcin de COLS, pueden ser utilizados con

    bloques de lneas, repitiendo el comando al inicio y al fin del prrafo.

  • 8/3/2019 curso_cobol

    10/18

    Comandos de edicin usados en TSO)

    Comandos primarios.

    Realizan funciones de utilidad y se teclean en la lnea de comando.

    CANCEL - se sale del programa sin salvar los cambios

    SAVE - Salva los cambios realizados al programa

    FIND - Comando de bsqueda

    FINDcarcter[ALL,FIRST,LAST,NEXT,PREV]

    CHANGE - Sustitucin de caracteres o cadenas de caracteres.

    CHANGEpalabra_vieja palabra_nueva[ALL]

    COPY AFTER para copiar prrafos o miembros completos a otro.

    Comandos de edicin

    Comandos generales. (Tambin usado en TSO)

    Teclas de funcin. Configurados de acuerdo con las teclas de

    funcin.

    PF1 - Ayuda de tutorial.

    PF2 - Divisin de pantallas.

    PF3 SALVA INFORMACIO Y EXIT.

    PF4 - Se sale de la actual operacin y regresa al men

    principal.

    PF5 - Repite el ltimo comando FIND (LOCALIZAR).

    PF6 - Ejecuta el comando CHANGE al ejecutar FIND.

    PF7- Desplaza la pantalla hacia arriba.

    PF8 - Desplaza la pantalla hacia abajo.

    PF9 Principalmente para swuitcheo.

    PF10 - Desplaza la pantalla hacia la izquierda.

    PF11 - Desplaza la pantalla hacia la derecha.

  • 8/3/2019 curso_cobol

    11/18

    Compilacin de programas (Conversin a lenguaje objeto)

    Revisin de sintaxis.

    - Revisin de cada una de las sentencias escritas en el cdigo fuentes

    Depuracin de errores

    - Errores de puntuacin.

    - Errores ortogrficos.

    - Errores de campos no definidos en Working Storage.

    - Codificacin de columnas inapropiadas

    Generacin de cdigo objeto.

    - Se encuentra en lenguaje maquina.

    Tipos de archivos

    Archivos Secuenciales.

    Organizacin

    Deben ser accedidos en orden secuencial.

    Para realizacin de bsquedas, son accedidos frecuentemente en un orden

    especfico, en base a un campo especfico.

    Acceso.

    El acceso es secuencial es mas rpido que el acceso directo cuando se requiere

    de un procesamiento de todos los registros contenidos en el archivo, ya que el

    tiempo de procesamiento no involucra un acceso adicional al archivo del ndice.

    Dispositivos de almacenamiento.

    Cualquier dispositivo (cintas, discos, etc.).

  • 8/3/2019 curso_cobol

    12/18

    Archivos de Acceso Directo.

    Deben ser accedidos a travs de un ndice.

    Organizacin.

    - Son accedidos a travs de un dato especial llamado ndice, el cual est

    formado por dos campos: un apuntador (direccin) y el campo llave.

    Acceso.

    Son de rpido acceso cuando se accesan a travs del campo llave.

    No pueden ser accesados desde cinta debido a la naturaleza de estos.

    Su acceso puede ser secuencial indexado

    Dispositivos de acceso.

    - Cualquier dispositivo de acceso, excepto cintas.

    ARCHIVOS VSAM

    Existen cuatro diferentes tipos de archivos VSAM:

    KSDS Key Secuenced Data Set

    RRDS Relative Record Data SetESDS Entry Sequence Dala Set

    LDS Linear Data Set

    KSDS En este tipo de archivos los registros son almacenados en un orden

    secuencial ascendente de acuerdo a un campo llamado llave. La llave debe ser

    nica y estar en la misma posicin en cada registro. En un archivo KSDS se

    pueden adicionar, actualizar, consultar o borrar registros.

    RRDS Contiene registros ordenados por un nmero de registro relativo, y slo

    pueden ser accesados por medio de este nmero.

    ESDS Su forma de uso es muy similar a un archivo secuencial. Los registros son

    insertados slo al final del archivo; Los registros no pueden ser borrados, slo

    pueden marcarse para que ese espacio sea reutilizado; pueden definirse slo

    ndices alternos.

  • 8/3/2019 curso_cobol

    13/18

    LDS Los archivos VSAM lineales son raramente utilizados por programas

    aplicativos. Son ms efectivos en aplicaciones especializadas como DB2 que los

    utiliza para almacenar datos. Sus principales caractersticas son: No se cuenta con

    ndices primarios o alternos; No almacena informacin de control por lo que no

    puede ser accesado como si almacenara registros individuales.

    - Todos los VSAM deben ser catalogados.

    - Slo pueden usarse DASD para almacenar un VSAM. Puede ser multivolumen.

    - El programa IDCAMS es usualmente utilizado para la manipulacin de VSAM.

    ARCHIVOS GDG

    - Un GDG (Generation Data Group) consiste en un conjunto de archivos con un

    mismo nombr que estn cronolgicamente relacionados.- Se utilizan para almacenar diferentes versiones de un slo archivo.

    - Cada archivo en un GDG es conocido como una generacin.

    - Se pueden tener hasta un mximo de 255 generaciones.

    - Debe estar catalogado.

    - Las generaciones de un GDG pueden ser almacenadas en cualquier tipo de

    dispositivos (disco, cinta, cartucho, etc.).

    Environment Division.

    Esta seccin describe el entorno que requiere el programa, as comocaractersticas de los archivos tales como: nombre, localizacin y organizacin.

    Existen dos secciones:

    Configuration Section. Donde se especifican de forma informativa la

    computadora en la que se desarrolla, as como la computadora donde se ejecuta:

    SOURCE-COMPUTER. IBM-390.

    OBJECT-COMPUTER. IBM-390.

  • 8/3/2019 curso_cobol

    14/18

    Input-Output Section. Describe las caractersticas de cada uno de los archivos

    que sern usados por el programa tanto de entrada como de salida. Esto es

    definido en la sub-seccin de File Control:

    En archivos secuenciales:

    SELECTnombre-interno-archivo

    ASSIGN TOnombre-externo (Este nombre va en el jcl como etiqueta)

    ORGANIZATION ISestructura-archivo [SEQUENTIAL]

    ACCESS MODE ISacceso-archivo. [SEQUENTIAL]

    En archivos de acceso directo (indexados):

    SELECTnombre-interno-archivo

    ASSIGN TOnombre-externo (este nombre es el que se pone en el jcl como e)

    ORGANIZATION ISestructura-archivo [SEQUENTIAL, INDEXED]

    ACCESS MODE ISacceso-archivo [RANDOM, SEQUENTIAL]

    RECORD KEY ISllave-acceso.

    Reglas Nombres internos de archivos:

    - El nombre asignado a cada archivo debe ser nico.

    - Pueden contener slo letras, dgitos o guiones.

    - Deben contener al menos un carcter de A - Z.

    - No pueden contener guiones al inicio del nombre.

    - La longitud mxima del nombre es de 30 caracteres.

    - No puede ser una palabra reservada de COBOL.

  • 8/3/2019 curso_cobol

    15/18

    Data Division.

    En esta divisin se define con mayor detalle las caractersticas de los archivos

    utilizados por los programas.

    Esta divisin consta de dos secciones:

    FILE SECTION.Contiene informacin de cada uno de los archivos de entrada y

    salida que requiere el programa de acuerdo con lo siguiente.

    FDnombre-interno-archivo

    LABEL RECORDS ARE tipo-dispositivo [STANDARD, OMITTED]

    BLOCK CONTAINS n RECORDS [n, 0]

    RECORD CONTAINS n CHARACTERS [n]

    DATA RECORD ISname-record.

    01 name-record.

    03 campo-1 pic x(05).

    03 campo-2 pic 9(03).

    FILE SECTION (Cont.)

    LABEL RECORDS ARE [STANDARD,OMITTED].

    - Es usada para indicar si se tratan de discos cintas (STANDARD), o bien,

    si el archivo ser impreso (OMITTED).

    BLOCK CONTAINS n RECORDS

    - Indica el nmero de registros que pueden ser ledos con un espacio entre

    cada registro (no bloqueados), o bien, en grupos con un espacio entre cada

    nmero determinado de registros (bloqueado).

    Esta definicin puede ser omitida, ya que slo puede ser indicada para

    archivos bloqueados.

    Se asigna 0 para que la que sea asignado por la maquina en el momento

    de la ejecucin.

    Para archivos que sern impresos se omite.

  • 8/3/2019 curso_cobol

    16/18

    Registros no bloqueados

    Registros bloqueados nos trae el numero de registros indicados

    RECORD CONTAINS n CHARACTERS

    - Indica el nmero de caracteres por registro.

    DATA RECORD ISname-record.

    - Indica el nombre del registro asociado al archivo.

    La definicin de este registro se encuentra en la Working-Storage Section,

    en la parte de Record Layout.

    WORKING-STORAGE SECTION. En esta seccin se definen todos los datos quesern procesados por el programa. En el momento de ejecucin el sistema

    operativo reservar espacio en memoria para los campos aqu definidos.

    Definicin de datos.

    Los tipos de datos pueden ser:

    Numricos. Para nmeros. Se identifica a travs del carcter9.

    Alfanumricos. Para letras, nmeros y smbolos especiales. Son identificados a

    travs del carcter X.

    Alfabticos. Utilizado para letras. Son identificados a travs del caracterA.

  • 8/3/2019 curso_cobol

    17/18

    Los datos son definidos con la clusula PIC seguida del tipo de dato y la longitud

    de este. Por ejemplo:

    05 WS-NUMERO PIC 9(18).

    05 WS-NOMBRE PIC X(25).

    05 WS-NOMBRE PIC A(25).

    Decimales implcitos o virtuales.

    Este tipo de datos no reservan memoria para el punto decimal, con lo que no

    ocupa espacio.

    El punto decimal virtual es indicado con V en los campos numricos. Por

    Ejemplo:

    5 IMP-CODE PIC 9(03)v99 EL CAMPO ES = 51401 SI SE IMPRIME:514.01

  • 8/3/2019 curso_cobol

    18/18