En este estudio de caso, desarrollaremos un sistema de gestión de inventarios utilizando COBOL. Este sistema permitirá a los usuarios realizar operaciones básicas como agregar, actualizar, eliminar y consultar productos en el inventario. A lo largo de este estudio de caso, aplicaremos los conceptos aprendidos en los módulos anteriores.

Objetivos del Estudio de Caso

  1. Comprender la estructura de un sistema de gestión de inventarios.
  2. Aplicar técnicas de manejo de archivos para almacenar y recuperar datos.
  3. Implementar operaciones CRUD (Crear, Leer, Actualizar, Eliminar) en COBOL.
  4. Utilizar estructuras de control y subprogramas para modularizar el código.

Requisitos del Sistema

El sistema de gestión de inventarios debe cumplir con los siguientes requisitos:

  • Agregar Producto: Permitir al usuario agregar un nuevo producto al inventario.
  • Actualizar Producto: Permitir al usuario actualizar la información de un producto existente.
  • Eliminar Producto: Permitir al usuario eliminar un producto del inventario.
  • Consultar Producto: Permitir al usuario consultar la información de un producto específico.
  • Listar Productos: Mostrar una lista de todos los productos en el inventario.

Estructura del Archivo de Inventario

El archivo de inventario será un archivo secuencial que almacenará la información de los productos. Cada registro del archivo contendrá los siguientes campos:

  • Código del Producto: Un identificador único para cada producto.
  • Nombre del Producto: El nombre del producto.
  • Cantidad: La cantidad disponible en el inventario.
  • Precio: El precio del producto.

Definición del Archivo en COBOL

FILE-CONTROL.
    SELECT INVENTORY-FILE ASSIGN TO 'inventory.dat'
    ORGANIZATION IS LINE SEQUENTIAL.

DATA DIVISION.
FILE SECTION.
FD  INVENTORY-FILE.
01  INVENTORY-RECORD.
    05  PRODUCT-CODE      PIC X(10).
    05  PRODUCT-NAME      PIC X(30).
    05  QUANTITY          PIC 9(5).
    05  PRICE             PIC 9(5)V99.

Programa Principal

El programa principal gestionará el flujo del sistema, permitiendo al usuario seleccionar la operación que desea realizar.

Estructura del Programa Principal

IDENTIFICATION DIVISION.
PROGRAM-ID. InventoryManagement.

ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
    SELECT INVENTORY-FILE ASSIGN TO 'inventory.dat'
    ORGANIZATION IS LINE SEQUENTIAL.

DATA DIVISION.
FILE SECTION.
FD  INVENTORY-FILE.
01  INVENTORY-RECORD.
    05  PRODUCT-CODE      PIC X(10).
    05  PRODUCT-NAME      PIC X(30).
    05  QUANTITY          PIC 9(5).
    05  PRICE             PIC 9(5)V99.

WORKING-STORAGE SECTION.
01  WS-USER-CHOICE       PIC 9.
01  WS-END-OF-FILE       PIC X VALUE 'N'.

PROCEDURE DIVISION.
MAIN-PROCEDURE.
    PERFORM UNTIL WS-USER-CHOICE = 5
        DISPLAY '1. Agregar Producto'
        DISPLAY '2. Actualizar Producto'
        DISPLAY '3. Eliminar Producto'
        DISPLAY '4. Consultar Producto'
        DISPLAY '5. Salir'
        ACCEPT WS-USER-CHOICE
        EVALUATE WS-USER-CHOICE
            WHEN 1
                PERFORM ADD-PRODUCT
            WHEN 2
                PERFORM UPDATE-PRODUCT
            WHEN 3
                PERFORM DELETE-PRODUCT
            WHEN 4
                PERFORM QUERY-PRODUCT
            WHEN 5
                DISPLAY 'Saliendo del sistema...'
            WHEN OTHER
                DISPLAY 'Opción no válida, por favor intente de nuevo.'
        END-EVALUATE
    END-PERFORM
    STOP RUN.

ADD-PRODUCT.
    DISPLAY 'Ingrese el código del producto:'
    ACCEPT PRODUCT-CODE
    DISPLAY 'Ingrese el nombre del producto:'
    ACCEPT PRODUCT-NAME
    DISPLAY 'Ingrese la cantidad:'
    ACCEPT QUANTITY
    DISPLAY 'Ingrese el precio:'
    ACCEPT PRICE
    OPEN OUTPUT INVENTORY-FILE
    WRITE INVENTORY-RECORD
    CLOSE INVENTORY-FILE
    DISPLAY 'Producto agregado exitosamente.'
    .

UPDATE-PRODUCT.
    DISPLAY 'Función de actualización de producto no implementada aún.'
    .

DELETE-PRODUCT.
    DISPLAY 'Función de eliminación de producto no implementada aún.'
    .

QUERY-PRODUCT.
    DISPLAY 'Función de consulta de producto no implementada aún.'
    .

Ejercicios Prácticos

Ejercicio 1: Implementar la Función de Actualización de Producto

Objetivo: Completar la función UPDATE-PRODUCT para permitir la actualización de la información de un producto existente.

Pistas:

  • Leer el archivo de inventario.
  • Buscar el producto por su código.
  • Actualizar los campos necesarios.
  • Reescribir el registro en el archivo.

Ejercicio 2: Implementar la Función de Eliminación de Producto

Objetivo: Completar la función DELETE-PRODUCT para permitir la eliminación de un producto del inventario.

Pistas:

  • Leer el archivo de inventario.
  • Buscar el producto por su código.
  • Eliminar el registro del archivo.

Ejercicio 3: Implementar la Función de Consulta de Producto

Objetivo: Completar la función QUERY-PRODUCT para permitir la consulta de la información de un producto específico.

Pistas:

  • Leer el archivo de inventario.
  • Buscar el producto por su código.
  • Mostrar la información del producto.

Conclusión

En este estudio de caso, hemos diseñado un sistema básico de gestión de inventarios utilizando COBOL. Hemos definido la estructura del archivo de inventario y hemos implementado el programa principal con la funcionalidad para agregar productos. Los ejercicios prácticos proporcionados te ayudarán a completar las funciones de actualización, eliminación y consulta de productos, reforzando así los conceptos aprendidos en los módulos anteriores.

© Copyright 2024. Todos los derechos reservados