Sunteți pe pagina 1din 25

programacin cobol

acceso a ficheros

Lima, fecha 10/08/2010

confidencialidad
Aviso: Este documento es material confidencial y propiedad de everis. Se prohbe el uso, reproduccin o la divulgacin del contenido de este material sin permiso previo y por escrito de la empresa propietaria.
Derechos de Autor 2010, everis. All rights reserved

ndice
1. Verbos de Entrada y Salida

2. Control de FILE STATUS


3. Transferencia de Datos

ndice
1. Verbos de Entrada y Salida

2. Control de FILE STATUS


3. Transferencia de Datos

acceso a ficheros
verbos de entrada y salida
Intrucciones imperactivas

Verbos aritmticos Verbos de transferencia de control.

COBOL

Verbos de Entrada y Salida.


OPEN READ WRITE CLOSE

Verbo de transferencia de datos.

acceso a ficheros
verbos de entrada y salida
Verbo open
Formato:

OPEN modo nombre de archivo [nombre de archivo2] .


Modo: INPUT I-O OUTPUT EXTEND El archivo se abrir solo para lectura El archivo se abrir para lectura y escritura El archivo se abrir solo para escritura, crea un fichero nuevo cada vez (borra el anterior). El archivo se abrir solo para escritura, aade los registros al archivo ya existente.

acceso a ficheros
verbos de entrada y salida
Verbo open
Ejemplo: ... PROCEDURE DIVISION. INICIO. OPEN INPUT ARTICULOS. OPEN I-O CLIENTES OPEN EXTEND IMPRE. CREAR-ARCHIVO. OPEN OUTPUT TRABAJO.

OPEN INPUT ARTICULOS I-O CLIENTES EXTEND IMPRE.

acceso a ficheros
verbos de entrada y salida
Verbo read
Lee registros de un archivo, ste debe estar abierto. Por cada READ se llena la FD con los valores del registro ledo. Formato. Para leer archivos secuencialmente: READ nombre de archivo (NEXT/PREVIOUS RECORD) (INTO descripcin) (AT END / NO AT END sentencia) END-READ

acceso a ficheros
verbos de entrada y salida
Verbo read
Formato. Para leer archivos secuencialmente: READ nombre de archivo (NEXT/PREVIOUS RECORD) (INTO descripcin) (AT END / NO AT END sentencia) END-READ Se debe revisar el contenido del file status despus de cada READ para determinar si fue exitosa o no. 00 implica que el proceso de lectura ha ido correctamente.

10 implica que el fichero se ha acabado.


Para cualquier otro llamaremos a un prrafo de error y se dejar de ejecutar el programa

acceso a ficheros
verbos de entrada y salida
Verbo read
ENVIRONMENT DIVISION. Nombre del Archivo INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT LISTADO ASSIGN TO LISTADOJ FILE STATUS IS FS-LISTADOS. DATA DIVISION. FILE SECTION. FD LISTADO Nombre del Registro LABEL RECORD STANDARD RECORD CONTAINS 128 CHARACTERS .. 01 REG-LISTADO PIC X(128). WORKING-STORAGE SECTION. 01 WS-LISTADO. 05 WS-GENERAL PIC X(28). 05 WS-DETALLE PIC X(100). PROCEDURE DIVISION. INICIO. READ LISTADO INTO WS-LISTADO AT END DISPLAY FIN <- Trae MOVE implcito

un
10

acceso a ficheros
verbos de entrada y salida
Verbo write
Escribe registros en un archivo. Por cada WRITE se escribe el contenido del registro del fichero en el archivo respectivo. Formato 1: WRITE nombre de registro (FROM descripcin) (AFTER nmero de lneas)(PAGE) END-WRITE

11

acceso a ficheros
verbos de entrada y salida
Verbo write
ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT LISTADO ASSIGN TO FILE STATUS IS FS-LISTADOS.
Nombre del Archivo

LISTADOJ

DATA DIVISION. FILE SECTION. FD LISTADO LABEL RECORD STANDARD


RECORD CONTAINS 128 CHARACTERS . 01 REG-LISTADO PIC X(128). WORKING-STORAGE SECTION. 01 WS-LISTADO PIC X(128). PROCEDURE DIVISION. INICIO. WRITE REG-LISTADO FROM WS-LISTADO MOVE WS-LISTADO TO REG-LISTADO WRITE REG-LISTADO

Nombre del Registro

<- Trae

un MOVE implcito

12

acceso a ficheros
verbos de entrada y salida
Verbo write
Ejemplos: WRITE ws-listado AFTER 2 LINES. Deja dos lneas en blanco y luego escribe el contenido de ws-listado, en lugar del 2 puede ir una variable entera. WRITE ws-listado AFTER PAGE.

Salta a la pgina siguiente e imprime el contenido de ws-listado.

13

acceso a ficheros
verbos de entrada y salida
Verbo close
Formato: CLOSE nombre de archivo [nombre de archivo2]

Ejemplo :

CLOSE ARTICULOS CLIENTES IMPRE.

14

ndice
1. Verbos de Entrada y Salida

2. Control de FILE STATUS


3. Transferencia de Datos

15

acceso a ficheros
control de file status
Control del FILE STATUS
Ante Cualquier operacin sobre ficheros (OPEN, READ, WRITE, CLOSE), es necesario verificar que sta se ha llevado a cabo correctamente. Esto se hace revisando el contenido del FILE STATUS inmediatamente despus de realizada la operacin. El FILE STATUS se define en el FILE CONTROL. El cdigo 00 indica operacin concluida correctamente.

16

acceso a ficheros
control de file status
Expresiones Condicionales Clusula AT END
El uso de la clusula AT END hace posible determinar qu instrucciones se van a efectuar a continuacin del final del archivo, ya que todos los registros del archivo de

entrada han sido ledos.

EOF End of File

17

ndice
1. Verbos de Entrada y Salida

2. Control de FILE STATUS


3. Transferencia de Datos

18

acceso a ficheros
verbos de transferencia de datos
Intrucciones imperactivas

Verbos aritmticos Verbos de transferencia de control. Verbos de Entrada y Salida.

COBOL

Verbo de transferencia de datos.


MOVE INITIALIZE

19

acceso a ficheros
transferencia de datos
Verbo move
Usado para mover un valor de una posicin de memoria a otra. El campo receptor no debe ser menor que el emisor. (truncado de informacin)

Formato1: MOVE variable, valor TO variable, variable, variable, .... Formato2:


MOVE CORR Identificador1 TO Identificador2

20

acceso a ficheros
transferencia de datos
Verbo move
... WORKING-STORAGE SECTION. 77 NUMERO1 PIC 9(6). 77 NUMERO2 PIC 9(8)V99. 77 NUMERO3 PIC ZZZ.ZZZ,ZZ. 77 TEXTO1 PIC X(15) VALUE "LENGUAJE COBOL". 77 TEXTO2 PIC X(10). 77 TEXTO3 PIC X(20) JUST RIGHT. ... PROCEDURE DIVISION. INICIO. MOVE 1536 TO NUMERO1. MOVE NUMERO1 TO NUMERO2 NUMERO3. MOVE TEXTO1 TO TEXTO2 TEXTO3. ...

Despus de aplicar estas sentencias, ste sera el resultado:


NUMERO1=001536
NUMERO2=0000153600 (La coma decimal es virtual) NUMERO3= 1.536,00 TEXTO1=LENGUAJE COBOL TEXTO2=LENGUAJE C TEXTO3= LENGUAJE COBOL

21

acceso a ficheros
transferencia de datos
Verbo move y move corresponding
Formato:

MOVE {CORRESPONDING CORR } identif-1 TO identif-2.

22

acceso a ficheros
transferencia de datos
Verbo initialize
Formato:
INITIALIZE Identificador1 Identificador2

TIPO IDENTIFICADOR
Numrico Ceros

VALOR QUE TOMAR

Alfanumrico o Alfabtico

Espacios

Es lo mismo que si se moviera directamente SPACES o ZEROS a los identificadores con la diferencia que no se necesita conocer el tipo de dato.

23

acceso a ficheros
practica 01
Objetivo.
Conocer la estructura bsica de un programa COBOL Conocer las declaraciones que es necesario realizar en un programa COBOL que va a utilizar un fichero secuencial. Introduccin a la declaracin de variables: grupos de nivel, clusula PIC, inicializacin de variables.

Descripcin.
La prctica consiste en lo siguiente:
A partir del esqueleto de un programa COBOL se debern incluir todas las declaraciones necesarias para acceder a un fichero secuencial.
Se realizar la compilacin del programa generado, aunque todava no tenga lgica asociada para su ejecucin. Correccin de errores de compilacin.

24

Preguntas?

everis.com

S-ar putea să vă placă și