Documente Academic
Documente Profesional
Documente Cultură
COBOL
Mdulo Bsico
COBOL
ggz
Tpico 310 - Codificando un programa COBOL Tpico 320 - Editando un programa Tpico 330 - Procesando Archivos Tpico 340 - Formateando Datos Tpico 350 - Aritmtica y Lgica de un Programa COB Tpico 360 Programacin multimodular y Copybooks Tpico 370 - Procesamiento de Tablas Tpico 380 - Procesamiento Sistema Galaxy Expense
Mdulo Especfico
DB2 - SQL JCL CICS
1
Puntualidad
Respeto
Preguntar
Bibliografa
COBOL ESTRUCTURADO. Andreas S.,Philippakis, Leonard J.,Kazmier. Tercera edicin. Editorial McGraw-Hill.
Environment Division
Data Division
Procedure Division
Describe el entorno en el que correr el programa y Los archivos asociados al programa. Se divide en 2 secciones : Configuration Section. Aqu se especifica el ambiente en el que se desarrolla el programa y en el que se ejecutar. SOURCE-COMPUTER. Dnde se desarrolla OBJECT-COMPUTER. Dnde se ejecuta Input-Output Section. Indica cmo acceder el programa a los archivos, la organizacin de estos, la llave de acceso si son indexados.
1 2 3 4.. 7 7890123456789012345678901234567890123456789012 ************************************************** * ENVIRONMENT DIVISION * ************************************************** ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-PC. OBJECT-COMPUTER. IBM-PC. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT SEM-RPT-INPUT-FILE ASSIGN TO E1DQ0001 ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL. SELECT SEM-RPT-OUTPUT-FILE ASSIGN TO S1DQ0001 ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL.
Data Division
Procedure Division
Describe detalladamente los datos usados, los de entrada y salida, reservando el espacio en memoria. Se divide en 2 secciones : File Section.
1 2 3 4. 7 7890123456789012345678901234567890123456789012 ************************************************* * DATA DIVISION * ************************************************* DATA DIVISION. FILE SECTION. FD SEM-RPT-INPUT-FILE LABEL RECORDS ARE [STANDARD / OMITTED] BLOCK CONTAINS 0 RECORDS RECORD CONTAINS 49 CHARACTERS DATA RECORD IS SEM-RPT-INPUT-REC. SEM-RPT-INPUT-REC PIC X(49). SEM-RPT-OUTPUT-FILE LABEL RECORDS ARE STANDARD BLOCK CONTAINS 0 RECORDS RECORD CONTAINS 132 CHARACTERS DATA RECORD IS SEM-RPT-OUTPUT-REC. SEM-RPT-OUTPUT-REC PIC X(132).
Especfica las caractersticas de los registros manejados por los archivos del programa. Working-Storage Section.
01
En esta seccin se define el rea de memoria de almacenamiento temporal para el procesamiento de los datos durante la ejecucin del programa.
FD
01
Data Division
Procedure Division
Describe detalladamente los datos usados de entrada y salida, reservando el espacio en memoria. Se divide en 2 secciones : File Section. Especfica las caractersticas de los registros manejados por los archivos del programa. Working-Storage Section. En esta seccin se define el rea de memoria de almacenamiento temporal para el procesamiento de los datos durante la ejecucin del programa y puede clasificarse en las siguientes partes :
Record Layout Lines and Headings Flags Counters/Acumulators Constants Scratch area
1 2 3 4. 7 7890123456789012345678901234567890123456789012 ************************************************ * DATA DIVISION * ************************************************ WORKING-STORAGE SECTION. 01 WS-WORK-AREA. ************************************************ * RECORD LAYOUTS * ************************************************ 05 IN-SEMINAR-REC. 10 IN-SEM-CODE PIC X(4). 10 IN-SEM-DEC PIC X(25). 10 IN-SEM-BEG. 15 AO PIC X(2). 15 FILLER PIC X VALUE /. 49 15 MES PIC X(2). 15 FILLER PIC X VALUE /. 15 DIA PIC X(2). 10 IN-STND-FEE PIC 9(4)V99. 10 IN-REG-FEES PIC 9(4)V99.
Environment Division
Data Division
Procedure Division
1 2 3 4. 7 7890123456789012345678901234567890123456789012 ******************************************************** * DATA DIVISION * ******************************************************** DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-WORK-AREA. ******************************************************** * RECORD LAYOUTS * ******************************************************** 05 IN-DATOS. 10 IN-NUM PIC X(5). 10 IN-NOM PIC X(20). 35 10 IN-FEC-NAC PIC X(8). 10 IN-PTO PIC X(2). 05 IN-DATOS-EMP. 10 IN-NUM-EMP 10 IN-NOMBRE-EMP. 15 IN-NOM-EMP 15 IN-PA-EMP 10 IN-FEC-NAC-EMP. 15 IN-AO-EMP 15 IN-MES-EMP 15 IN-DIA-EMP 10 IN-PTO-EMP
PIC X(5). PIC X(10). PIC X(10). 35 PIC PIC PIC PIC X(4). X(2). X(2). X(2).
20
10
Environment Division
Data Division
05 RPT-ENCABEZADO. 10 FILLER 10 FILLER 10 FILLER 05 RPT-CABECERA. 10 FILLER 10 FILLER 10 FILLER 10 FILLER 10 FILLER 10 FILLER 10 FILLER 10 FILLER 10 FILLER 05 RPT-GUIONES. 10 FILLER 10 FILLER 10 FILLER 10 FILLER 10 FILLER 10 FILLER 10 FILLER 10 FILLER 10 FILLER 05 RPT-DETALLE 10 FILLER 10 RPT-NUM-EMP 10 FILLER 10 RPT-NOM-EMP 10 FILLER 10 RPT-PTO 10 FILLER 10 RPT-SUELDO 10 FILLER
Procedure Division
1
PIC X(57) VALUE SPACES. PIC X(17) VALUE REPORTE DE NOMINA. PIC X(58) VALUE SPACES.
2
PIC X(10) VALUE SPACES. PIC X(8) VALUE EMPLEADO. PIC X(20) VALUE SPACES. PIC X(6) VALUE NOMBRE. PIC X(20) VALUE SPACES. PIC X(8) VALUE PUESTO. PIC X(7) VALUE SPACES. PIC X(6) VALUE SUELDO. PIC X(37) VALUE SPACES.
3
PIC X(10) VALUE SPACES. PIC X(8) VALUE ALL -. PIC X(5) VALUE SPACES. PIC X(20) VALUE ALL -. PIC X(5) VALUE SPACES. PIC X(8) VALUE ALL -. PIC X(5) VALUE SPACES. PIC X(6) VALUE ALL -. PIC X(37) VALUE SPACES.
REPORTE DE NOMINA 2 EMPLEADO --------------12093 87456 NOMBRE ----------------------------------OLGA BARRON SILVIA DIAZ PUESTO ------------AP MG SUELDO -----------10000 8000
4
PIC X(10) VALUE SPACES. PIC X(5). PIC X(5) VALUE SPACES. PIC X(20). PIC X(5) VALUE SPACES. PIC X(2). PIC X(5) VALUE SPACES. PIC 9(5). PIC X(37) VALUE SPACES.
11
Data Division
Procedure Division
1 2 3 4. 7 7890123456789012345678901234567890123456789012 DATA DIVISION. ************************************************* * WORKING-STORAGE SECTION * ************************************************* WORKING-STORAGE SECTION. 01 WS-WORK-AREA. ************************************************* * FLAGS AND SWITCHES * ************************************************* 05 BANDERAS. 10 SW-ARCHIVO PIC X. 88 SW-EOF 88 SW-NOT-EOF SW-OPCIONES PIC X. 88 SW-ALTA 88 SW-BAJA 88 SW-MODIF 88 SW-CONSULTA 88 SW-SALIR
VALUE Y. VALUE N.
10
1. 2. 3. 4. 5.
12
Procedure Division
En esta se realiza el proceso lgico del programa y por lo general se divide en tres partes dentro de un prrafo principal : Inicio Generalmente se le asigna el nmero de prrafo 2000. Inicializacin de variables de trabajo (acumuladores, contadores, etc). En ste prrafo se realiza la apertura inicial de archivos Proceso Generalmente se le asigna el nmero de prrafo 3000. Ejecucin del procedimiento principal del programa. Final Generalmente se le asigna el nmero de prrafo 8000. Cerrado de archivos usados durante la ejecucin.
1 2 3 4. 7 7890123456789012345678901234567890123456789012 ************************************************* * PROCEDURE DIVISION * ************************************************* PROCEDURE DIVISION. 1000-MAINLINE. PERFORM 2000-HOUSEKEEPING THRU 2000-HOUSEKEEPING-EXIT. PERFORM 3000-PROCESS THRU 3000-PROCESS-EXIT UNTIL END-OF-FILE. PERFORM 8000-WRAP-UP THRU 8000-WRAP-UP-EXIT. STOP RUN.
13
INSTRUCCIONES
14
15
Sentencias 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 funcin especfica. Las sentencias terminan con un punto, las instrucciones no.
16
Tpico 310 Codificando un Programa Cobol Tpico 320 Editando un Programa Tpico 330 Procesando Archivos Tpico 340 Formateando Datos Tpico 350 Aritmtica y Lgica de un Programa Cobol Tpico 360 Programacin Multimodular y Copybooks Tpico 370 Procesamiento de Tablas Tpico 380 Procesamiento Sistema Galaxy Expense
17
18
Comandos de lnea.
Se teclean en la parte izquierda de la pantalla sobre la columna de nmeros, realizando funciones de edicin. Comandos Descripcin Inserta lneas Borra lneas Copia Lneas Mueve lneas Repite lneas Sobrescribe lneas Despliega gua de columnas
19
Comandos primarios.
Se teclean en la lnea de comando, ayudando a la ejecucin de algunas funciones de utilidad. Comando SAVE CANCEL Descripcin Salva el programa Cancela los cambios
FIND cadena Busca una carcter o cadena [ALL, FIRST, LAST, NEXT,PREV] de caracteres especifica CHANGE antes despus [ALL] CREATE COPY Reemplaza caracteres o cadenas de caracteres Crea elementos nuevos Copia lneas a partir de un programa, copy, etc. a otro
20
Descripcin
A Programas sin acceso a DB2 C Programas CICS S Programas con acceso DB2
22
Revisin de sintaxis. Revisin de cada una de las sentencias escritas en el cdigo fuente Depuracin de errores Errores de puntuacin Errores ortogrficos (sintaxis) Errores de campos/variables no definidos en Working-Storage Section
Generacin de cdigo objeto. Se encuentra en lenguaje mquina y se nombra de acuerdo al nombre dado en el Program-ID.
23
Tpico 310 Codificando un Programa Cobol Tpico 320 Editando un Programa Tpico 330 Procesando Archivos Tpico 340 Formateando Datos Tpico 350 Aritmtica y Lgica de un Programa Cobol Tpico 360 Programacin Multimodular y Copybooks Tpico 370 Procesamiento de Tablas Tpico 380 Procesamiento Sistema Galaxy Expense
24
Generacin de la seccin de File Description y sentencias SELECT/ASSIGN para los archivos usados en el programa.
en la Working-Storage
25
26
27
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
28
2000-Inicio ( Housekeeping )
29
Su funcin es pasar el control a un prrafo especfico. Despus de ejecutar las instrucciones de aquel prrafo, el control es devuelto al prrafo que realiz la llamada.
Esta sentencia es acompaada de la clusula THRU, la cual permite identificar la ltima lnea a ejecutar del prrafo. Para indicar el final del prrafo se utiliza la clusula -EXIT.
30
Pasa el control
PERFORM 2100-INICIALIZA-VAR THRU 2100-INICIALIZA-VAR-EXIT. READ INPUT-FILE INTO WS-INPUT-FILE AT END SET END-OF-FILE TO TRUE. 2000-HOUSEKEEPING-EXIT. EXIT.
Devuelve el control
31
PERFORM 2100-INICIALIZA-VAR THRU 2100-INICIALIZA-VAR-EXIT READ INPUT-FILE INTO WS-INPUT-FILE AT END SET END-OF-FILE TO TRUE.
Pasa el control
2000-HOUSEKEEPING-EXIT. EXIT. *********************************************************** * 2100-INICIALIZA-VAR * *********************************************************** 2100-INICIALIZA-VAR. INITIALIZE VARIABLE-A VARIABLE-B VARIABLE-X
Devuelve el control
32
Por ejemplo:
PERFORM 2100-INIT-TABLE THRU 2100-INIT-TABLE-EXIT UNTIL WS-CONTADOR EQUAL TO CTE-CINCO.
33
Indicar al sistema cules son los archivos que sern accedidos por el programa Identificar cules archivos sern usados para entrada de datos y cules sern archivos de salida de datos.
Generalmente es codificada al inicio del programa. Su sintaxis es: Archivos de lectura Archivos de escritura Adicin de registros OPEN INPUT
nombre-archivo
34
LECTURA-ESCRITURA OPEN INPUT File-name1 File-name2 OUTPUT File-name3 File-name4 EXTEND File-name5 . . File-namen.
35
36
Por ejemplo: Campos elementales MOVE campo-1 TO campo-2 campo-3 campo-4. Campos a nivel grupo MOVE grupo-1 TO grupo-2.
37
Alfanumricos
WS-NOMBRE RPT-NOMBRE PIC X(5). PIC X(3).
3 2 1
38
Alfanumricos
WS-NOMBRE RPT-NOMBRE PIC X(5). PIC X(8). C A R L A C A R L A
Numricos
WS-CODIGO RPT-CODIGO PIC 9(5). PIC 9(8). 5 0 4 3 2 1 0 0 5 4 3 2 1
39
Numricos
WS-IMPLICITO WS-DECIMAL PIC 9(2)V99. PIC 9(2).99. 2 2 3 3 4 5 . 4 5
40
La sentencia READ lee el registro del archivo especificado cuyo nombre es el mismo que el asignado en la seccin de FD. Los datos del registro son transferidos a travs de la sentencia INTO en la definicin del registro que ha sido definido en la WS para el archivo. Para controlar el fin de archivo en base a una condicin es utilizada la clusula AT END.
41
INTO INP-DATOS
42
A travs de esta sentencia se puede escribir el contenido de un registro a un dispositivo de salida (archivo, cinta, etc.). Su sintaxis: WRITE OUTPUT-REC FROM REC-DATA
43
La clusula AFTER ADVANCING es usada con el WRITE para el control de lneas de espaciamiento antes de imprimir la siguiente lnea del reporte o comenzar a imprimir en una nueva pgina.
44
DATA DIVISION. FILE SECTION. ************************************** * OUTPUT FILE * ************************************** FD OUTPUT-FILE LABEL RECORDS ARE OMITTED RECORDS CONTAINS 132 CHARACTERS DATA RECORD IS OUTPUT-REC. X(132). 01 OUTPUT-REC
WORKING-STORAGE SECTION. 01 WS-WORK-AREA. ************************************** * REPORT LINES AND HEADINGS * ************************************** 05 RPT-LINE PIC X(132).
45
Esta sentencia permite cerrar los archivos de entrada y salida usados durante el proceso del programa.
Ejemplo: CLOSE
INPUT-FILE OUTPUT-FILE.
46
Tpico 310 Codificando un Programa Cobol Tpico 320 Editando un Programa Tpico 330 Procesando Archivos Tpico 340 Formateando Datos Tpico 350 Aritmtica y Lgica de un Programa Cobol Tpico 360 Programacin Multimodular y Copybooks Tpico 370 Procesamiento de Tablas Tpico 380 Procesamiento Sistema Galaxy Expense
47
Usar herramientas especiales de edicin para hacer la informacin del reporte ms fcil 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.
48
Subttulos/ Subheadings
PUESTO
COMPAA BANCO
HOSPITAL
IMSS JC PENNY
Lneas de Detalle
Lneas de Totales
*** FIN DE REPORTE ***
$2,477.59
Lnea de mensajes
49
Por ejemplo:
05
REPORT-LINES. 10 10 10 RPT-HEADING1. FILLER RPT-CODIGO 15 15 15 FILLER FILLER FILLER PIC X PIC 9(6) PIC X(38) PIC X(17) PIC X(70) VALUE VALUE VALUE VALUE VALUE SPACES. 052920. SPACES. REPORTE DE PRUEBA. SPACES.
50
La clusula VALUE ALL permite indicar que el valor asignado ocupar todas las posiciones del campo.
05
REPORT-LINES. 10 10 10 10 RPT-HEADING1. FILLER FILLER FILLER PIC X PIC X(15) PIC 9(6) VALUE SPACES. -.
ZEROES.
51
52
Presentacin 08457 00544.75 000056788 473500991 000455679 055754907 000056788 473500991 000455679 055754907
Presentacin 084.57 544.75 567.88 4,735,009.00 4,556.79 557,549.07 $ 567.88 $4,735,009.00 $ 4,556.79 $ 557,549.07
Comas
PIC 9(7)V99
PIC Z,ZZZ,ZZ9.99
Signo $ fijo
PIC 9(7)V99
PIC $Z,ZZZ,ZZ9.99
53
PIC 9(7)V99
PIC $$,$$$,$$9.99
PIC +Z,ZZ9
PIC Z,ZZ9+
54
Campo fuente
Presentacin +3456 +0005 -0032 +3456 +0005 -0032 +3456 +0005 -0032 +3456 +0005 -0032
Campo editado
PIC S9(4)
PIC ++,++9
PIC S9(4)
PIC -Z,ZZ9
Adicin de Signo -
PIC S9(4)
PIC Z,ZZ9-
PIC S9(4)
PIC --,--9
55
Presentacin +164589 -164589 +164589 -164589 +164589 -164589 +164589 -164589 0000000 0005380 0374750 1485500 1234567
Campo editado PIC $Z,ZZ9.99CR PIC $Z,ZZ9.99DB PIC $Z,ZZ9.99BCR PIC $Z,ZZ9.99BDB PIC $**,***.**
Presentacin $1,645.89CR $1,645.89 $1,645.89 $1,645.89DB $1,645.89 CR $1,645.89 $1,645.89 $1,645.89 DB $********* $****53.80 $*3,747.50 $*4,855.00 $*2,345.67
Asteriscos
PIC S9(5)V99
ERROR ERROR
56
57
58
EMP-REC PTR-REC
NOMBRE
TITULO
INDUSTRIA
NOMBRE
TITULO
CVE_CLIENTE
CLIENTE
ESTATUS
GASTOS
42 caracteres
59
60
Procesos principales para la creacin de un reporte. Lectura del archivo de entrada. En donde se lee el registro de entrada y su informacin es almacenada en los campos que definen dicho registro. Edicin o formateo de los campos. Lo cual involucra mover cada campo del registro de entrada a su correspondiente campo en la lnea de detalle del reporte. Impresin del reporte. Involucra la escritura de las cabeceras y lneas de detalle del reporte.
61
Tpico 310 Codificando un Programa Cobol Tpico 320 Editando un Programa Tpico 330 Procesando Archivos Tpico 340 Formateando Datos Tpico 350 Aritmtica y Lgica de un Programa Cobol Tpico 360 Programacin Multimodular y Copybooks Tpico 370 Procesamiento de Tablas Tpico 380 Procesamiento Sistema Galaxy Expense
62
Describir qu es un campo compactado, cundo y cmo usarlo. Codificar correctamente campos numricos (display, signados y compactados). Describir el uso de los verbos aritmticos: ADD, SUBTRACT, MULTIPLY, DIVIDE, COMPUTE. Definir y distinguir entre estructuras alternativas e iterativas. Codificar estructuras iterativas. Explicar la lgica de los IF anidados.
63
Formato de campo
Ejemplo
Memoria Ocupada
25 25v 321v35
64
65
PIC S9(3) MOVE CAMPO-ORIGEN -025 PIC S9(3) MOVE CAMPO-ORIGEN -025 PIC 9(3) MOVE CAMPO-ORIGEN 025
TO
PIC +999 CAMPO-RECEPTOR -025 PIC 999 CAMPO-RECEPTOR 025 PIC +999 CAMPO-RECEPTOR +025
CORRECTO
TO
INCORRECTO
TO
INCORRECTO
67
Correcto /incorrecto
MOVE WS-DATE
TO
WS-DATE-COMP
INCORRECTO
68
CORRECTO
10 WS-DATE. 15 WS-AA PIC 99. 15 WS-MM PIC 99. 15 WS-DD PIC 99. 10 WS-DATE-RED REDEFINES WS-DATE PIC 9(6). 10 WS-DATE-COMP PIC 9(6) COMP-3.
MOVE WS-DATE-RED
TO
WS-DATE-COMP
CORRECTO
69
71
23
72
ADD campo-1
TO campo-z
SUBTRACT campo-1 FROM campo-z GIVING campo-resta MULTIPLY campo-1 DIVIDE dividendo DIVIDE divisor BY factor-1 BY divisor GIVING campo-mult GIVING cociente
73
74
75
+, - Suma, Resta Las sentencias son evaluadas de izquierda a derecha dependiendo del operando. Ejemplos. COMPUTE A = A + B + C COMPUTE A = ( B * ( C - D ) )
76
COMPUTE
COMPUTE A = (B * (C - D))
VERBOS ARITMTICOS
SUBTRACT D FROM C GIVING E
MULTIPLY B * E GIVING A COMPUTE WS-IVA = WS-COMPRA * CTE-15 / CTE-100 MULTIPLY WS-COMPRA BY CTE-15 GIVING WS-IVA-AUX DIVIDE WS-IVA-AUX BY CTE-100 GIVING WS-IVA COMPUTE WS-INCREMENTO = WS-INCREMENTO + 1 COMPUTE WS-SALDO = WS-SALDO WS-RETIRO COMPUTE WS-INCREMENTO-1 = WS-INCREMENTO-1 + 1 COMPUTE WS-INCREMENTO-2 = WS-INCREMENTO-2 + 1 COMPUTE WS-INCREMENTO-3 = WS-INCREMENTO-3 + 1 ADD 1 TO WS-INCREMENTO
77
IF
( A
B )
> ( C
5 )
accin END-IF.
78
Alternativas
Compuestas
Anidadas
80
Afirmativas
GREATER THAN LESS THAN EQUAL TO GREATER THAN OR EQUAL TO LESS THAN OR EQUAL TO
Negativas
NOT GREATER THAN NOT LESS THAN NOT EQUAL TO NOT GREATER THAN OR EQUAL TO NOT LESS THAN OR EQUAL TO
81
Alfanumricas. Para caracteres alfanumricos tales como letras, nmeros y smbolos especiales, excepto algunos caracteres de control especiales. IF field IS ALPHANUMERIC
Alfabticas. Para caracteres alfabticos, espacios en blanco. Slo puede ser usado si el campo fue declarado como alfabtico. IF field IS ALPHABETIC
82
Iterativas Simples
PERFORM nombre-prrafo THRU nombre-prrafo-exit UNTIL condicin .
Iterativas Compuestas
PERFORM nombre-prrafo THRU nombre-prrafo-exit UNTIL condicin-1 [AND,OR] condicin-2 .
83
84
Sintaxis. EVALUATE [identificador-1 / TRUE] WHEN condicin-1 accin-1 WHEN condicin-2 accin-2 WHEN condicin-n accin-n WHEN OTHER accin-y END-EVALUATE.
85
Tpico 310 Codificando un Programa Cobol Tpico 320 Editando un Programa Tpico 330 Procesando Archivos Tpico 340 Formateando Datos Tpico 350 Aritmtica y Lgica de un Programa Cobol Tpico 360 Programacin Multimodular y Copybooks Tpico 370 Procesamiento de Tablas Tpico 380 Procesamiento Sistema Galaxy Expense
86
87
88
89
90
91
92
PROGRAMA
COPY
93
Tpico 310 Codificando un Programa Cobol Tpico 320 Editando un Programa Tpico 330 Procesando Archivos Tpico 340 Formateando Datos Tpico 350 Aritmtica y Lgica de un Programa Cobol Tpico 360 Programacin Multimodular y Copybooks Tpico 370 Procesamiento de Tablas Tpico 380 Procesamiento Sistema Galaxy Expense
94
Codificar la lgica para realizar una bsqueda serial y una bsqueda binaria en una tabla.
95
Entrada. Consiste en uno mas renglones. Todas las entradas tienen el mismo nombre y son accedidas por su posicin relativa en la tabla. Indice. El cual mantiene la posicin relativa de la entrada que est siendo accedida.
ndice (1) (2) (3) Cuenta 4567 5847 8977 Cliente Jones, B. Kline, M. Zim, J. Fecha de Apertura 070389 070689 070989 Entrada
Campo
96
98
Los ndices son campos numricos, no pueden ser display ni compactados. Slo pueden ser usados con sentencias SET PERFORM.
99
Cuando las tablas externas son usadas frecuentemente por el programa son cargadas en la Working-Storage Section.
100
OCCURS 250 TIMES INDEXED BY CUENTAS-INDEX. PIC 9(04). PIC X(15). PIC 9(06)
101
2000-Housekeeping - Mover datos del archivo de entrada al campo de la tabla(ndice) - Incrementar el ndice en 1 - Leer el siguiente registro del archivo
102
El uso de tablas externas permite que ms de un programa pueda usarlas, reduciendo el tiempo de desarrollo y el esfuerzo de mantenimiento, adems de asegurar la integridad de la informacin que se maneja.
103
SEARCH
entrada-tabla
104
105
ASCENDING KEY IS NUMERO INDEXED BY CUENTAS-INDEX. 15 NUMERO 15 NUM-CLIENTE 15 FECHA-APERTURA PIC 9(04). PIC X(15). PIC 9(06).
106
107
- Mover campo1-tabla(ndice) a rpt-campo1 - Mover campo2-tabla(ndice) a rpt-campo2 - Mover campon-tabla(ndice) a rpt-campon - Escribir registro. - Incrementar ndice en 1. - Inicializar campos rpt.
108
TRIMESTRE REGION 1 2 3
05
1 2 3 4
PROCEDURE DIVISION. .... .... PERFORM 1100-IMPRIMIR-TABLA THRU 1100-IMPRIMIR-TABLA-EXIT VARYING TRIMESTRE FROM 1 BY 1 UNTIL TRIMESTRE GREATER THAN CTE-FOUR ... ... 1100-IMPRIMIR-TABLA. PERFORM 1120-MOVER-DATOS THRU 1120-MOVER-DATOS VARYING REGION FROM 1 BY 1 UNTIL REGION GREATER THAN CTE-FOUR MOVE IMPORTE(TRIMESTRE,REGION) TO SALIDA.
109
110
Tpico 310 Codificando un Programa Cobol Tpico 320 Editando un Programa Tpico 330 Procesando Archivos Tpico 340 Formateando Datos Tpico 350 Aritmtica y Lgica de un Programa Cobol Tpico 360 Programacin Multimodular y Copybooks Tpico 370 Procesamiento de Tablas Tpico 380 Procesamiento Sistema Galaxy Expense
111
112
113
El total de caracteres n debe ser igual a la suma de la longitud de los campos definidos en el nombre lgico del registro.
114
115
La apertura de OUTPUT en modo de acceso SECUENCIAL se realiza: WRITE nombre-archivo-interno FROM detalle-datos Evita la adicin de registros duplicados INVALID KEY
accin.
116
117
Al adicionar el registro, se realiza una bsqueda automtica sobre el ndice, para localizar la posicin donde se deba aadir el nuevo registro, comprobando adicionalmente que la clave no se encuentre duplicada.
118
El borrado en apertura I-O se realiza: MOVE valor-campo-llave TO llave-acceso. DELETE nombre-archivo-interno INVALID KEY accin.
119
120
121
122
123
Caso Prctico
Se requiere de un reporte de las tarjetas de crdito
124