curso_cobol
-
Upload
pablo-davila -
Category
Documents
-
view
217 -
download
0
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