Documente Academic
Documente Profesional
Documente Cultură
Módulo Básico
Módulo Básico
Cobol
1
Technology Solutions
Respeto
Preguntar
• BIBLIOGRAFIA:
COBOL ESTRUCTURADO. Andreas S.,Philippakis, Leonard J.,Kazmier. Editorial McGraw-Hill.
• OBJETIVOS:
Identificar las cuatro divisiones y sus correspondientes secciones de COBOL.
2
Technology Solutions
Identification Division.
Configuration Section.
Environment Division.
Input-Output Section. File Control.
Estructura de un
Programa COBOL File Section.
Linkage Section.
Procedure Division.
3
Technology Solutions
1 2 3 4 ………… 7
7890123456789012345678901234567890123456789012
******************************************************************
* IDENTIFICATION DIVISION *
******************************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. PGM330.
AUTHOR. CORITEL.
DATE-WRITTEN. JULIO, 2008.
DATE-COMPILED. JULIO, 2008.
4
Technology Solutions
5
Technology Solutions
1 2 3 4…………. 7
Describe detalladamente los datos usados, 7890123456789012345678901234567890123456789012
los de entrada y salida, reservando el *************************************************
espacio en memoria. * DATA DIVISION *
*************************************************
Se divide en 2 secciones : DATA DIVISION.
FILE SECTION.
File Section.
FD SEM-RPT-INPUT-FILE
Específica las características de los registros LABEL RECORDS ARE [STANDARD / OMITTED]
manejados por los archivos del programa. BLOCK CONTAINS 0 RECORDS
RECORD CONTAINS 49 CHARACTERS
Working-Storage Section. DATA RECORD IS SEM-RPT-INPUT-REC.
01 SEM-RPT-INPUT-REC PIC X(49).
En esta sección se define el área de
memoria de almacenamiento temporal FD SEM-RPT-OUTPUT-FILE
para el procesamiento de los datos durante LABEL RECORDS ARE STANDARD
la ejecución del programa. BLOCK CONTAINS 0 RECORDS
RECORD CONTAINS 132 CHARACTERS
DATA RECORD IS SEM-RPT-OUTPUT-REC.
01 SEM-RPT-OUTPUT-REC PIC X(132).
6
Technology Solutions
7
Technology Solutions
1 2 3 4…………. 7
Record Layout 7890123456789012345678901234567890123456789012
********************************************************
La definición del registro de datos puede ser realizada a * DATA DIVISION *
través de agrupación de datos, los cuales se encuentran ********************************************************
DATA DIVISION.
definidos por niveles.
WORKING-STORAGE SECTION.
01 WS-WORK-AREA.
Por ejemplo : ********************************************************
* RECORD LAYOUTS *
Si tenemos un archivo con una longitud total de 35 ********************************************************
05 IN-DATOS.
caracteres divididos en 4 campos principales (No empleado, 10 IN-NUM PIC X(5).
Nombre, Fecha de nacimiento y puesto) y deseamos que 10 IN-NOM PIC X(20).
cada registro del archivo se almacene en variables, la 10 IN-FEC-NAC PIC X(8). 35
declaración sería la siguiente : 10 IN-PTO PIC X(2).
8
Technology Solutions
05 RPT-ENCABEZADO. 1
Lines and Headings 10 FILLER PIC X(57) VALUE SPACES.
10 FILLER PIC X(17) VALUE ‘REPORTE DE NOMINA’.
10 FILLER PIC X(58) VALUE SPACES.
Definición de constantes / variables que integran cada una de las 05 RPT-CABECERA. 2
líneas que corresponden a los títulos, cabeceras, líneas de detalle, 10 FILLER PIC X(10) VALUE SPACES.
10 FILLER PIC X(8) VALUE ‘EMPLEADO’.
totales, etc., de un reporte. 10 FILLER PIC X(20) VALUE SPACES.
10 FILLER PIC X(6) VALUE ‘NOMBRE’.
10 FILLER PIC X(20) VALUE SPACES.
Por ejemplo, para crear el siguiente reporte se deberían declarar las 10 FILLER PIC X(8) VALUE ‘PUESTO’.
siguiente variables : 10 FILLER PIC X(7) VALUE SPACES.
10 FILLER PIC X(6) VALUE ‘SUELDO’.
10 FILLER PIC X(37) VALUE SPACES.
05 RPT-GUIONES. 3
REPORTE DE NOMINA 1 10 FILLER PIC X(10) VALUE SPACES.
10 FILLER PIC X(8) VALUE ALL ‘-’.
10 FILLER PIC X(5) VALUE SPACES.
2 EMPLEADO NOMBRE PUESTO SUELDO 10 FILLER PIC X(20) VALUE ALL ‘-’.
--------------- ----------------------------------- ------------- ------------ 3 10 FILLER PIC X(5) VALUE SPACES.
12093 OLGA BARRON AP 10000 10 FILLER PIC X(8) VALUE ALL ‘-’.
87456 SILVIA DIAZ MG 8000 10 FILLER PIC X(5) VALUE SPACES.
10 FILLER PIC X(6) VALUE ALL ‘-’.
10 FILLER PIC X(37) VALUE SPACES.
05 RPT-DETALLE 4
10 FILLER PIC X(10) VALUE SPACES.
4 10 RPT-NUM-EMP PIC X(5).
10 FILLER PIC X(5) VALUE SPACES.
1 - Encabezado 10 RPT-NOM-EMP PIC X(20).
2 - Cabeceras 10 FILLER PIC X(5) VALUE SPACES.
3 - Guiones 10 RPT-PTO PIC X(2).
10 FILLER PIC X(5) VALUE SPACES.
4 - Detalle 10 RPT-SUELDO PIC 9(5).
10 FILLER PIC X(37) VALUE SPACES.
9
Technology Solutions
1 2 3 4…………. 7
• Flags and switches 7890123456789012345678901234567890123456789012
DATA DIVISION.
Elementos de datos condicionales que indican verdadero o *************************************************
falso. * WORKING-STORAGE SECTION *
*************************************************
El nivel reservado para definir las condiciones de un switch es
WORKING-STORAGE SECTION.
88.
Cada cláusula debe ir acompañada con la palabra VALUE. 01 WS-WORK-AREA.
Se pueden tener tantas banderas como se requieran, con *************************************************
* FLAGS AND SWITCHES *
uno o varios niveles diferentes. *************************************************
La condición de un switch es activada mediante la 05 BANDERAS.
instrucción SET.
10 SW-ARCHIVO PIC X.
88 SW-EOF VALUE ‘Y’.
Ejemplo : 88 SW-NOT-EOF VALUE ‘N’.
En una pantalla en la que se manejan las opciones de (altas,
10 SW-OPCIONES PIC X.
bajas, modificaciones, consultas, salir), y además de esto
88 SW-ALTA VALUE ‘1’.
queremos controlar el fin en la lectura de un archivo. 88 SW-BAJA VALUE ‘2’.
88 SW-MODIF VALUE ‘3’.
SET SW-NOT-EOF TO TRUE. 88 SW-CONSULTA VALUE ‘4’.
88 SW-SALIR VALUE ‘5’.
10
Technology Solutions
11
Technology Solutions
IF NOT END-OF-REG-EXP
SET LS-TBL-IDX UP BY 1
END-IF.
3100-LOAD-EXIT. FIN DE
EXIT. DE PÁRRAFO
12
Technology Solutions
Comentarios.
Se codifican a partir de la columna 7 y comienzan con *
Máximo hasta la columna 72
Sentencias
Colección de instrucciones que realizan un paso en el programa.
Se codifican a partir de la columna 12.
Una instrucción es un comando de COBOL (verbo) que realiza una función específica.
Las sentencias terminan con un punto, las instrucciones no.
13
Technology Solutions
Módulo Básico
Módulo Básico
Cobol
14
Technology Solutions
2 - Editando un programa
• Objetivos.
15
Technology Solutions
2 - Editando un programa
• Codificación de programas
– Comandos de edición
• Comandos de línea.
Comandos Descripción
i, in Inserta líneas
16
Technology Solutions
2 - Editando un programa
• Codificación de programas
– Comandos de edición
• Comandos primarios.
Comando Descripción
SAVE Salva el programa
CANCEL Cancela los cambios
FIND ‘cadena’ Busca una carácter o cadena
[ALL, FIRST, LAST, NEXT,PREV] de caracteres especifica
CHANGE ‘antes’ ‘después’ Reemplaza caracteres o
[ALL] cadenas de caracteres
CREATE Crea elementos nuevos
Copia líneas a partir de un
COPY
programa, copy, etc. a otro
17
Technology Solutions
2 - Editando un programa
• Codificación de programas
Tecla Descripción
F1 HELP - Ayuda
F2 SPLIT – Divide la pantalla en dos diferentes sesiones
F3 END – Vuelve al menú anterior
F4 RETURN- Vuelve al menú principal
F5 RFIND – Repite el comando FIND
F6 RCHANGE- Repite el comando CHANGE
F7 UP – Retrocede la pantalla
F8 DOWN – Avanza la pantalla
F9 SWAP – Permite el desplazamiento entre pantallas
F10 LEFT – Desplaza la pantalla a la izquierda
F11 RIGHT – Desplaza la pantalla a la derecha
F12 RETRIEVE – Recupera los últimos comandos ejecutados.
18
Technology Solutions
2 - Editando un programa
• Compilación de programas
– Revisión de sintaxis.
• Depuración de errores
– Errores de puntuación
19
Technology Solutions
Módulo Básico
Módulo Básico
Cobol
20
Technology Solutions
3 - Procesando Archivos
• Objetivos.
21
Technology Solutions
3 - Procesando Archivos
• Tipos de archivos
– Archivos Secuenciales.
• Organización
• Acceso.
• Dispositivos de almacenamiento.
22
Technology Solutions
3 - Procesando Archivos
• Tipos de archivos
• Organización.
– Son accedidos a través de un archivo especial llamado índice, el cual está formado
por dos campos: un apuntador(dirección) y el campo llave.
• Acceso.
• Dispositivos de acceso.
23
Technology Solutions
3 - Procesando Archivos
• Tipos de archivos
24
Technology Solutions
3 - Procesando Archivos
• Diagrama de Proceso para procesamiento de archivos y generación de listados
- Incialización de switches
(SET sw-xxx TO TRUE)
2000-Inicio
( Housekeeping )
- Incialización de variables de trabajo y
lineas de detalle (INITIALIZE).
STOP RUN. 25
Technology Solutions
3 - Procesando Archivos
• Sentencia: PERFORM
– Esta sentencia es acompañada de la cláusula THRU, la cual permite identificar la última línea
a ejecutar del párrafo.
PERFORM nombre-parrafo
THRU nombre-parrafo-EXIT
26
Technology Solutions
3 - Procesando Archivos
• Sentencia: PERFORM (Cont.)
***********************************************************
* 1000-MAINLINE *
***********************************************************
1000-MAINLINE.
Pasa
el control
PERFORM 2000-HOUSEKEEPING
THRU 2000-HOUSEKEEPING-EXIT.
PERFORM 3000-PROCESS
THRU 3000-PROCESS-EXIT.
PERFORM 8000-WRAP-UP
THRU 8000-WRAP-UP-EXIT.
STOP RUN.
***********************************************************
* 2000-HOUSEKEEPING *
***********************************************************
2000-HOUSEKEEPING.
PERFORM 2100-INICIALIZA-VAR
THRU 2100-INICIALIZA-VAR-EXIT.
3 - Procesando Archivos
• Sentencia: PERFORM (Cont.)
***********************************************************
* 2000-HOUSEKEEPING *
***********************************************************
2000-HOUSEKEEPING.
THRU 2100-INICIALIZA-VAR-EXIT
2000-HOUSEKEEPING-EXIT.
EXIT.
***********************************************************
* 2100-INICIALIZA-VAR *
***********************************************************
2100-INICIALIZA-VAR.
INITIALIZE VARIABLE-A
VARIABLE-B
VARIABLE-X
3 - Procesando Archivos
• Sentencia: PERFORM
– La cláusula UNTIL es utilizada por la sentencia PERFORM para indicar que el párrafo debe ser
ejecutado hasta cumplir una determinada condición.
PERFORM nombre-parrafo
THRU nombre-parrafo-EXIT
UNTIL condicion.
– Por ejemplo:
PERFORM 2100-INIT-TABLE
THRU 2100-INIT-TABLE-EXIT
UNTIL WS-CONTADOR EQUAL TO CTE-CINCO.
29
Technology Solutions
3 - Procesando Archivos
• Sentencia: OPEN
– La sentencia OPEN permite abrir los archivos que requiere un programa además de :
• Indicar al sistema cuáles son los archivos que serán accedidos por el programa
• Identificar cuáles archivos serán usados para entrada de datos y cuáles serán archivos de
salida de datos.
30
Technology Solutions
3 - Procesando Archivos
• Sentencia: OPEN
– En caso de tener varios archivos de lectura o escritura se codificaría así:
LECTURA ESCRITURA
OPEN INPUT File-name1 OPEN OUTPUT File-name1
File-name2 F ile-name2
File-name3 File-name3
. .
. .
File-namen. File-namen.
LECTURA-ESCRITURA
OPEN INPUT File-name1
File-name2
OUTPUT File-name3
File-name4
EXTEND File-name5
.
.
File-namen.
31
Technology Solutions
3 - Procesando Archivos
• Sentencia: INITIALIZE
– Su sintaxis:
INITIALIZE nombre-campo
INITIALIZE WS-CODIGO
WS-NOMBRE.
32
Technology Solutions
3 - Procesando Archivos
• Sentencia: MOVE
Su sintaxis:
MOVE campo-1 TO campo-2
– Por ejemplo:
33
Technology Solutions
3 - Procesando Archivos
• Sentencia: MOVE (Cont.)
– El truncamiento de los datos depende de la longitud del campo al que son informados:
• Los campos alfanuméricos son alineados hacia la izquierda. Los datos son copiados al
área destino de izquierda a derecha, rellenando con espacios o truncando a la derecha.
– Ejemplo1.
Alfanuméricos Numéricos
34
Technology Solutions
3 - Procesando Archivos
• Sentencia: MOVE (Cont.)
– Ejemplo 2.
• Cuando el campo receptor es más grande
Alfanuméricos
Numéricos
35
Technology Solutions
3 - Procesando Archivos
• Sentencia: MOVE (Cont.)
– Ejemplo 3.
• Cuando el campo que envía es un numérico con decimales implícitos y el que recibe es
un numérico con dos decimales.
Numéricos
36
Technology Solutions
3 - Procesando Archivos
• Sentencia: READ
– Su sintaxis:
AT END
– La sentencia READ lee el registro del archivo especificado cuyo nombre es el mismo que el
asignado en la sección de FD.
– Los datos del registro son transferidos a través de la sentencia INTO en la definición del registro
que ha sido definido en la WS para el archivo.
– Para controlar el fin de archivo en base a una condición es utilizada la cláusula AT END.
37
Technology Solutions
3 - Procesando Archivos
• Sentencia: READ (Cont.)
– Ejemplo :
READ INPUT-FILE INTO INP-DATOS
AT END
SET END-OF-FILE TO TRUE.
38
Technology Solutions
3 - Procesando Archivos
• Sentencia: WRITE (Cont.)
– Sintaxis:
WRITE OUTPUT-REC
– Su sintaxis:
39
Technology Solutions
3 - Procesando Archivos
• Sentencia: WRITE (Cont.)
– Su sintaxis:
40
Technology Solutions
3 - Procesando Archivos
• Sentencia: WRITE (Cont.)
• MOVE REC-INPUT TO RPT-LINE
•
• WRITE OUTPUT-REC FROM RPT-LINE
• AFTER ADVANCING CTE-TWO LINES.
41
Technology Solutions
3 - Procesando Archivos
• Sentencia: CLOSE
– Esta sentencia permite cerrar los archivos de entrada y salida usados durante el proceso del
programa.
– Su sintaxis:
CLOSE file-name1
file-name2
file-namen.
– Ejemplo:
CLOSE INPUT-FILE
OUTPUT-FILE.
42
Technology Solutions
Módulo Básico
Módulo Básico
Cobol
43
Technology Solutions
4 - Formateando Datos
• Objetivos.
Usar herramientas especiales de edición para hacer la información del reporte más fácil de
leer y entender.
Explicar el proceso del flujo de un programa que lee un registro a partir de un archivo,
formatea los datos y genera un reporte.
44
Technology Solutions
4 - Formateando Datos
• Tipos de líneas en un reporte
Títulos/Headings
Línea de mensajes
45
Technology Solutions
4 - Formateando Datos
• Tipos de información en un reporte.
– Constante.
• El valor del dato no cambia durante el tiempo de ejecución. Por ejemplo, títulos,
subtítulos, etc.
• La declaración de literales está dada a través de las cláusulas FILLER y VALUE en la
Working-Storage Section , mientras que las literales son variables a las que se les asigna
un valor fijo.
Por ejemplo:
05 REPORT-LINES.
10 RPT-HEADING1.
10 FILLER PIC X VALUE SPACES.
10 RPT-CODIGO PIC 9(6) VALUE 052920.
15 FILLER PIC X(38) VALUE SPACES.
15 FILLER PIC X(17) VALUE ‘REPORTE DE PRUEBA’.
15 FILLER PIC X(70) VALUE SPACES.
46
Technology Solutions
4 - Formateando Datos
• Tipos de información en un reporte.
– Asigna ceros a todas las posiciones de un campos numérico: ZERO, ZEROS, ZEROES.
• La cláusula VALUE ALL permite indicar que el valor asignado ocupará todas las posiciones
del campo.
05 REPORT-LINES.
10 RPT-HEADING1.
47
Technology Solutions
4 - Formateando Datos
• Tipos de información en un reporte.
– Variable.
• Cambia su información durante la ejecución del programa, por ejemplo, las líneas de
detalle, los totales, etc.
48
Technology Solutions
4 - Formateando Datos
• Edición de campos.
Tipo de
Campo fuente Presentación Campo editado Presentación
edición
Edición de
PIC 999V99 08457 PIC 999.99 084.57
Decimales
Eliminación
de ceros a
PIC 99999.99 00544.75 PIC ZZZZ9.99 544.75
la
izquierda
000056788 567.88
473500991 4,735,009.00
Comas PIC 9(7)V99 PIC Z,ZZZ,ZZ9.99
000455679 4,556.79
055754907 557,549.07
000056788 $ 567.88
473500991 $4,735,009.00
Signo $ fijo PIC 9(7)V99 PIC $Z,ZZZ,ZZ9.99
000455679 $ 4,556.79
055754907 $ 557,549.07
49
Technology Solutions
4 - Formateando Datos
• Edición de campos.
Tipo de
Campo fuente Presentación Campo editado Presentación
edición
000056788 $567.88
Signo $ 473500991 $4,735,009.00
PIC 9(7)V99 PIC $$,$$$,$$9.99
flotante 000455679 $4,556.79
055754907 $557,549.07
Adición de
PIC 9(4) 0054 PIC Z,ZZ9,000 54,000
ceros
Inserción de 010191 01 01 91
PIC 9(6) PIC 99B99B99
blancos 060192 06 01 92
+3456 +3,456
PIC S9(4) +0005 PIC +Z,ZZ9 + 5
Adición de -0032 - 32
Signo “+” +3456 3,456+
PIC S9(4) +0005 PIC Z,ZZ9+ 5+
-0032 32-
50
Technology Solutions
4 - Formateando Datos
• Edición de campos.
Tipo de
Campo fuente Presentación Campo editado Presentación
edición
Adición de +3456 +3,456
Signo “+” PIC S9(4) +0005 PIC ++,++9 +5
(Cont.) -0032 -32
+3456 3,456
PIC S9(4) +0005 PIC -Z,ZZ9 5
-0032 - 32
+3456 3,456
PIC S9(4) +0005 PIC --,--9 5
-0032 -32
51
Technology Solutions
4 - Formateando Datos
• Edición de campos.
Tipo de
Campo fuente Presentación Campo editado Presentación
edición
+164589 $1,645.89CR
PIC S9(4)V99 PIC $Z,ZZ9.99CR
-164589 $1,645.89
Adición de +164589 $1,645.89
símbolos PIC S9(4)V99 PIC $Z,ZZ9.99DB
-164589 $1,645.89DB
contables:
CR - Positivo +164589 $1,645.89 CR
PIC S9(4)V99 PIC $Z,ZZ9.99BCR
DB – Negativo -164589 $1,645.89
+164589 $1,645.89
PIC S9(4)V99 PIC $Z,ZZ9.99BDB
-164589 $1,645.89 DB
52
Technology Solutions
4 - Formateando Datos
• Edición de campos.
53
Technology Solutions
4 - Formateando Datos
• Edición de campos.
• Asteriscos.
– Pueden ser codificados a la derecha del punto decimal. Los asteriscos aparecerán
aún cuando el valor sea cero.
– Pueden llegar a truncar un dígito del campo, ya que siempre imprimirá al menos un
asterisco.
54
Technology Solutions
4 - Formateando Datos
• Cláusula: REDEFINES
– Esta cláusula es usada para conservar el espacio de memoria, usando mas de una definición
de registro para representar el mismo espacio de memoria.
– Los campos pueden ser redefinidos por campos a su mismo nivel y no pueden ser utilizados en
niveles 88.
– No se les puede asignar cláusulas VALUE.
– Su sintaxis:
campo-2 REDEFINES campo-1
42 caracteres
42 caracteres
55
Technology Solutions
4 - Formateando Datos
• Cláusula: REDEFINES
************************************************************
* RECORD LAYOUTS *
************************************************************
10 EMP-REC.
15 EMP-NOMBRE PIC X(12).
15 EMP-TITULO PIC X.
15 EMP-INDUSTRIA PIC X(29).
10 PTR-REC REDEFINES EMP-REC.
15 PTR-NOMBRE PIC X(12).
15 PTR-TITULO PIC X.
15 PTR-CVE-CLIENTE PIC X(8).
15 PTR-CLIENTE PIC X(1O).
15 PTR-ESTATUS PIC X(6).
15 PTR-GASTOS PIC 9(3)V99.
56
Technology Solutions
4 - Formateando Datos
• Creación del formato de un reporte.
• Edición o formateo de los campos. Lo cual involucra mover cada campo del registro de
entrada a su correspondiente campo en la línea de detalle del reporte.
• Impresión del reporte. Involucra la escritura de las cabeceras y líneas de detalle del
reporte.
57
Technology Solutions
Módulo Básico
Módulo Básico
Cobol
58
Technology Solutions
– Describir el uso de los verbos aritméticos: ADD, SUBTRACT, MULTIPLY, DIVIDE, COMPUTE.
59
Technology Solutions
• Display.
PIC 99 25 2 bytes
PIC 99V 25v 2 bytes
PIC 9(3)V99 321v35 5 bytes
60
Technology Solutions
• Signados.
61
Technology Solutions
• Compactados.
1 3 5 7
2 4 6 D
• El mover valores entre campos numéricos, implica que si uno de los campos es signado, el
otro también lo sea, ya que de lo contrario se truncaría el signo, o bien se asumiría ‘+’.
63
Technology Solutions
Correcto
Definición en Working Storage Tratamiento en Procedure Division
/incorrecto
10 WS-DATE.
05 WS-AA PIC 99.
05 WS-MM PIC 99. MOVE WS-DATE TO WS-DATE-COMP INCORRECTO
05 WS-DD PIC 99.
64
Technology Solutions
Definición en
Working-Storage Section. Tratamiento en Procedure Division Correcto /incorrecto
10 WS-DATE.
15 WS-AA PIC 99.
15 WS-MM PIC 99.
15 WS-DD PIC 99. MOVE WS-DATE TO WS-DATE-TEMP
CORRECTO
MOVE WS-DATE-TEMP TO WS-DATE-COMP
10 WS-DATE-TEMP PIC 9(6).
10 WS-DATE.
15 WS-AA PIC 99.
15 WS-MM PIC 99.
15 WS-DD PIC 99.
MOVE WS-DATE-RED TO WS-DATE-COMP CORRECTO
10 WS-DATE-RED REDEFINES WS-DATE
PIC 9(6).
65
Technology Solutions
A BY B C
MULTIPLY
2 3 10
Resultado 2 6 20
66
Technology Solutions
DIVIDE A BY B GIVING C 5
2 10
10 2 5
DIVIDE A INTO B
2 10
2 5
67
Technology Solutions
5 23 4 3
68
Technology Solutions
69
Technology Solutions
70
Technology Solutions
– Esta sentencia permite realizar operaciones aritméticas sin necesidad de recurrir a los verbos
aritméticos.
+ Suma
- Resta
* Multiplicación
/ División
** Exponenciación
71
Technology Solutions
() Paréntesis
** Exponenciación
+, - Suma, Resta
– Ejemplos.
• COMPUTE A = A + B + C
• COMPUTE A = ( B * ( C - D ) )
72
Technology Solutions
Expresiones Aritméticas.
IF ( A + B ) > ( C - D + 5 )
acción
END-IF.
73
Technology Solutions
74
Technology Solutions
– Estructuras Alternativas.
IF condición-1
acción-1
IF condición-1 IF condición-1 [AND, OR]
condición-2
IF condición-2
acción
acción-1
acción-2
ELSE
ELSE
ELSE
acción-alternativa
acción-alternativa
acción-3
END-IF.
END-IF.
END-IF
END-IF.
75
Technology Solutions
Afirmativas Negativas
76
Technology Solutions
• Condiciones de clase. Son aquellas usadas para datos que requieren ser validados antes
de ser procesados. Se encuentran clasificadas en tres tipos:
• IF field IS NUMERIC
• IF field IS ALPHANUMERIC
– Alfabéticas. Para caracteres alfabéticos, espacios en blanco. Sólo puede ser usado si
el campo fue declarado como alfabético.
• IF field IS ALPHABETIC
77
Technology Solutions
– Estructuras Iterativas.
Iterativas Simples
PERFORM nombre-párrafo
THRU nombre-párrafo-exit
UNTIL condición .
Iterativas Compuestas
PERFORM nombre-párrafo
THRU nombre-párrafo-exit
UNTIL condición-1 [AND,OR]
condición-2 .
78
Technology Solutions
– Estructuras Iterativas.
PROCESO-CLIENTES
PERFORM LECTURA-CLIENTE
THRU LECTURA-CLIENTE-EXIT
UNTIL END-OF-FILE.
LECTURA-CLIENTE
PERFORM DETALLE-CLIENTE
THRU DETALLE-CLIENTE-EXIT
UNTIL WS-COUNTER > CTE-30.
DETALLE-CLIENTE
PERFORM PROCESA-ORDENES
THRU PROCESA-ORDENES-EXIT
79
Technology Solutions
– En el caso de requerir evaluar al mismo tiempo más de tres condiciones distintas, es posible
utilizar la sentencia EVALUATE.
Sintaxis.
80
Technology Solutions
Módulo Básico
Módulo Básico
Cobol
81
Technology Solutions
82
Technology Solutions
– Características:
• No realizan todo su proceso dentro del mismo programa, ya que hacen uso de uno o más
programas para realizar ciertas funciones.
Son aquellos que requieren de invocar a Estos módulos requieren de otro programa
otro programa que realiza una función para realizar una función específica y no
específica. pueden ser ejecutados por si mismos.
Rutina ‘SEM017’
Programa ‘PGM370’
Procedure Division Using [parámetros]
…
Call ‘SEM017’ Using [parámetros] …
Goback
83
Technology Solutions
84
Technology Solutions
85
Technology Solutions
86
Technology Solutions
– Un copybook es un pedazo de código, que sólo puede ser usado cuando es incluido como
parte de un programa, pudiendo contener variables o funciones.
– Su sintaxis:
COPY nombre-copybook.
– Sus ventajas:
• Fácil mantenimiento ya que sólo existe una sola copia del código
87
Technology Solutions
PROGRAMA COPY
88