Cobol en español
  Página de Inicio Recomiéndala Contáctame Usuarios en Linea
12
     Crea Una cuenta  
Video 1
Video 2
Video 3

Si te ha servido la web
o te han gustado los videos, colabora haciendo click en el botón.

MANUALES
TEMATICOS
BASES DE DATOS
COBOL / WINDOWS
COBOL / UNIX
HISTORIA /DOCS
 
BUSCADOR
PROGRAMANDO-Dos
TRUCOS
AÑO 2.000
TEORIA POWCOB-3
PROG. POWCOB-3
TEORIA POWCOB-5
PROG. POWCOB-5
OCX-ESCOBOL
RUTINAS/MANUALES
OCX / JUEGOS
HERRAMIENTAS
COMPILADORES
ENCUESTAS
ENLACES
FOROS
TOP 10

CHAT   Usuarios: 0
Temáticos
TEMARIOCódigos de Error
Ventanas
Palabras Reservadas
Clasificando (Sort)
Tablas
Ficheros (I)
Ficheros (II)
Ficheros (III)

Ficheros (II)

página(s) : 1/3
(1615 palabras totales en este texto)
(30182 Lecturas)   Versión Imprimible



Cuando empezamos a trabajar con ficheros, a veces se nos plantean muchas dudas sobre el hecho de tener que leer de mas de un fichero a la vez.
Son muchas las preguntas que me habéis planteado sobre este tema, así que aquí, en esta segunda parte dedicada a los ficheros voy a intentar que quede resuelta con un ejemplo práctico.

La situación
Vamos a utilizar un fichero de albaranes que a su vez integra una tabla.
Dos ficheros maestros, clientes y productos.
Un fichero de impresora.

¿Que vamos a hacer?
Vamos a leer secuencialmente el fichero de albaranes. Al mismo tiempo vamos a extraer el nombre del cliente y además vamos a actualizar las existencias de los productos.
También vamos a ir generando una línea de impresora por cada albarán con el importe total del mismo.

Lo primero que hacemos es iniciar nuestro programa con las dos divisiones primeras, donde indicamos el nombre del programa y los ficheros con los que vamos a trabajar.

Empezamos con nuestro programa:
    IDENTIFICATION DIVISION.
    PROGRAM-ID. FICHEROS.
    ENVIRONMENT DIVISION.
    CONFIGURATION SECTION.
    SPECIAL-NAMES. DECIMAL-POINT IS COMMA.
    INPUT-OUTPUT SECTION.
    FILE-CONTROL.
    SELECT ALBARANES ASSIGN TO RANDOM "ALBARANES.DAT"
    ORGANIZATION INDEXED ACCESS DYNAMIC
    RECORD KEY ALB-NUMERO
    FILE STATUS STA-ALBA.
    SELECT CLIENTES ASSIGN TO RANDOM "CLIENTES.DAT"
    ORGANIZATION INDEXED ACCESS RANDOM
    RECORD KEY CLI-CODIGO
    FILE STATUS STA-CLIEN.
    SELECT PRODUCTOS ASSIGN TO RANDOM "PRODUCTOS.DAT"
    ORGANIZATION INDEXED ACCESS RANDOM
    RECORD KEY PRO-CODIGO
    FILE STATUS STA-PRODU.
    SELECT IMPRE ASSIGN TO PRINT "PRINTER1".
Como veis al archivo de albaranes le hemos indicado un acceso dinámico porque lo vamos a leer secuencialmente, mientras que a los ficheros maestros un acceso directo, ya que los vamos a acceder por su código.
A continuación describimos los campos de cada uno de los ficheros.

    DATA DIVISION.
    FILE SECTION.
    FD  ALBARANES LABEL RECORD STANDARD.
    01  REGALBA.
      02  ALB-NUMERO PIC 9(6).
      02  ALB-FECHA PIC 9(8).
      02  ALB-CLIENTE PIC 9(4).
      02  ALB-ELEMENTOS OCCURS 10 TIMES.
        03  ALB-PRODUCTO PIC 9(4).
        03  ALB-CANTIDAD PIC 9(6)V99.
        03  ALB-PRECIO PIC 9(6)V99.

    FD  CLIENTES LABEL RECORD STANDARD.
    01  REGCLIEN.
      02  CLI-CODIGO PIC 9(4).
      02  CLI-NOMBRE PIC X(40).
      02  CLI-DOMICILIO PIC X(40).
      02  CLI-POBLACION PIC X(30).
      02  CLI-PROVINCIA PIC X(20).
      02  CLI-NIF PIC X(10).

    FD  PRODUCTOS LABEL RECORD STANDARD.
    01  REGPRODU.
      02  PRO-CODIGO PIC 9(4).
      02  PRO-NOMBRE PIC X(40).
      02  PRO-EXISTENCIAS PIC S9(6)V99.
      02  PRO-PROVEEDOR PIC 9(4).
      02  PRO-UNIMEDIDA PIC X(20).

    FD  IMPRE LABEL RECORD OMITTED.
    01  LINEA PIC X(80).

...........

   Inicio de Página    | Siguiente (2/3)
Sitio desarrollado con PHP-Nuke. Todos los Derechos Reservados.
PHP-Nuke es un Software Libre realizado con licencia GNU/GPL.
Página creada en Junio de 1.998, con el proposito de difundir el lenguaje Cobol en nuestra lengua.
Andres Montes [98/11]