Explorando el código, creando soluciones, y compartiendo conocimientos en el fascinante mundo del desarrollo de software.

domingo, 10 de marzo de 2024

COBOL DESDE CERO #30

Aprendiendo COBOL: Archivos Secuenciales Indexados
Aprendiendo COBOL: Archivos Secuenciales Indexados

Optimizando el Acceso a Datos con Archivos Indexados

En esta lección, exploraremos la utilización de archivos secuenciales indexados en COBOL. Aprenderemos cómo implementar y utilizar índices para mejorar el acceso a los registros y optimizar las operaciones de lectura y escritura.

IDENTIFICATION DIVISION.
PROGRAM-ID. ArchivosIndexados.

DATA DIVISION.
FILE SECTION.
    FD ArchivoIndexado.
    01 RegistroIndexado.
        05 NumeroEmpleado    PIC 9(4).
        05 NombreEmpleado    PIC X(30).
        05 SalarioEmpleado   PIC 9(6)V99.

    SD IndiceEmpleado IS INDEXED BY IdxEmpleado.

WORKING-STORAGE SECTION.
    01 NuevoEmpleado      PIC X(30) VALUE 'John Doe'.
    01 NuevoSalario       PIC 9(6)V99 VALUE 50000.75.

PROCEDURE DIVISION.
    OPEN I-O ArchivoIndexado.

    MOVE 0 TO IdxEmpleado.
    PERFORM BuscarEmpleado.

    IF IdxEmpleado NOT = 0
        DISPLAY 'Empleado encontrado:'
        DISPLAY 'Número: ', NumeroEmpleado
        DISPLAY 'Nombre: ', NombreEmpleado
        DISPLAY 'Salario: ', SalarioEmpleado
    ELSE
        DISPLAY 'Empleado no encontrado. Añadiendo nuevo empleado.'

        MOVE NuevoEmpleado TO NombreEmpleado.
        MOVE NuevoSalario TO SalarioEmpleado.

        ADD 1 TO NumeroEmpleado.
        MOVE NumeroEmpleado TO RegistroIndexado.NumeroEmpleado.

        WRITE RegistroIndexado INVALID KEY
            DISPLAY 'Error al añadir nuevo empleado.'
    END-IF.

    CLOSE ArchivoIndexado.

    STOP RUN.

BuscarEmpleado SECTION.
    MOVE NuevoEmpleado TO NombreEmpleado.
    SET IdxEmpleado TO 1.

    READ ArchivoIndexado KEY IS IdxEmpleado
        INVALID KEY
            SET IdxEmpleado TO 0.
    END-READ.

    EXIT.
        

En este programa, utilizamos un archivo secuencial indexado para almacenar información de empleados. La sección BuscarEmpleado demuestra cómo buscar un empleado por nombre utilizando el índice.

Puntos Destacados:

  • Utilizamos la cláusula INDEXED BY para declarar el índice.
  • La cláusula READ con KEY IS se utiliza para buscar registros utilizando el índice.
  • El manejo de errores se realiza mediante la cláusula INVALID KEY.

En futuras lecciones, exploraremos casos más avanzados de manipulación de archivos indexados y estrategias para trabajar eficientemente con grandes conjuntos de datos en COBOL. ¡Sigue aprendiendo y disfrutando del viaje!

© 2024 Programar desde Cero


Navegación entre lecciones

No hay comentarios:

Publicar un comentario

Java Iniciación en Java Hola mundo en Java Sintaxis básica de Java Orientación a objetos en Java Manejo de excepciones en Java Java desde Cero Colecciones en Java Manejo de Archivos en Java Entrada/Salida en Java Hilos y concurrencia en Java Programación Funcional en Java Programación Orientada a Objetos (OOP) en Java Manejo de fechas y tiempos Persistencia de datos en Java Desarrollo Web en Java Manejo de dependencias Gradle Maven JUnit Git Java Desarrollo de servicios web en Java Patrones de Diseño en Java Principios Básicos de Seguridad en Java Principios SOLID en Java Frameworks populares en Java Ciclo de vida de una aplicación Java Desarrollo Ágil Base de Datos en Java Hola mundo en COBOL Estructura básica de COBOL Sintaxis Básica de COBOL Manipulación de archivos en COBOL Búsqueda en Archivos Secuenciales COBOL Ordenación y Combinación de Archivos COBOL Manejo de Errores en COBOL Subprogramas y Modularidad en COBOL Archivos Indexados en COBOL Clasificación y Fusión de Archivos en COBOL Lectura y Escritura de Archivos Secuenciales COBOL IDE Desarrollo de Software Programación Java Plugin Eclipse Desarrollo Integrado Eclipse IDE Java Development Desarrollo de Aplicaciones Programación en Eclipse Desarrollo Ágil Java EE Desarrollo Web Desarrollo Móvil Eclipse Marketplace Eclipse Plugins JavaFX Desarrollo GUI Git Control de Versiones GitHub Git Bash Git Commands Git Workflow Branching Merging Repositorios Commit Git Branch Git Pull Git Push Git Clone Git Merge Conflictos en Git Git Log Git Tag Git Remote Visual Studio Code IDE Desarrollo de Software Extensiones Editor de Código Programación Configuración VSC Snippets Depuración Control de Versiones Integración Git Atajos de Teclado Temas Productividad Extensiones VSC Lenguajes de Programación