En aquest tema, explorarem alguns projectes reals desenvolupats amb COBOL. Aquests exemples il·lustren com COBOL s'utilitza en la indústria per resoldre problemes complexos i gestionar grans volums de dades. A més, proporcionarem exercicis pràctics per ajudar-te a aplicar els conceptes apresos en situacions reals.

  1. Sistema de Processament de Transaccions Bancàries

Descripció del Projecte

Els sistemes bancaris són un dels àmbits on COBOL és àmpliament utilitzat. Un sistema de processament de transaccions bancàries gestiona operacions com dipòsits, retirades, transferències i consultes de saldo.

Estructura del Programa

Un programa COBOL per a un sistema de processament de transaccions bancàries pot tenir la següent estructura:

  1. Divisió de Identificació: Defineix el nom del programa i altres identificadors.
  2. Divisió d'Ambient: Especifica l'entorn de compilació i execució.
  3. Divisió de Dades: Defineix les dades utilitzades pel programa, incloent-hi arxius i variables.
  4. Divisió de Procediments: Conté la lògica del programa.

Exemple de Codi

IDENTIFICATION DIVISION.
PROGRAM-ID. BankingSystem.

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

DATA DIVISION.
FILE SECTION.
FD TransactionFile.
01 TransactionRecord.
   05 AccountNumber    PIC X(10).
   05 TransactionType  PIC X(1).
   05 Amount           PIC 9(5)V99.

WORKING-STORAGE SECTION.
01 WS-AccountBalance  PIC 9(7)V99 VALUE 0.

PROCEDURE DIVISION.
    OPEN INPUT TransactionFile
    PERFORM UNTIL EOF
        READ TransactionFile INTO TransactionRecord
        AT END
            SET EOF TO TRUE
        NOT AT END
            PERFORM ProcessTransaction
        END-READ
    END-PERFORM
    CLOSE TransactionFile
    STOP RUN.

ProcessTransaction.
    IF TransactionType = 'D'
        ADD Amount TO WS-AccountBalance
    ELSE IF TransactionType = 'W'
        SUBTRACT Amount FROM WS-AccountBalance
    END-IF.

Explicació del Codi

  • IDENTIFICATION DIVISION: Defineix el nom del programa com BankingSystem.
  • ENVIRONMENT DIVISION: Especifica que el fitxer de transaccions (TransactionFile) està assignat a transactions.dat i és seqüencial.
  • DATA DIVISION: Defineix la estructura del fitxer de transaccions i una variable de saldo (WS-AccountBalance).
  • PROCEDURE DIVISION: Llegeix cada registre del fitxer de transaccions i processa les transaccions de dipòsit (D) i retirada (W).

Exercici Pràctic

  1. Modifica el programa per incloure una transacció de transferència (T) que mogui diners d'un compte a un altre.
  2. Afegeix validacions per assegurar que no es permetin retirades que deixin el saldo negatiu.

  1. Sistema de Gestió d'Inventari

Descripció del Projecte

Un sistema de gestió d'inventari ajuda a controlar les existències de productes en un magatzem. Aquest sistema pot gestionar operacions com l'entrada de nous productes, la sortida de productes venuts i la consulta de l'estat de l'inventari.

Estructura del Programa

El programa COBOL per a un sistema de gestió d'inventari pot seguir una estructura similar a la del sistema bancari, amb divisions per a identificació, ambient, dades i procediments.

Exemple de Codi

IDENTIFICATION DIVISION.
PROGRAM-ID. InventorySystem.

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

DATA DIVISION.
FILE SECTION.
FD InventoryFile.
01 InventoryRecord.
   05 ProductID       PIC X(10).
   05 ProductName     PIC X(30).
   05 Quantity        PIC 9(5).

WORKING-STORAGE SECTION.
01 WS-ProductID       PIC X(10).
01 WS-Quantity        PIC 9(5).

PROCEDURE DIVISION.
    OPEN I-O InventoryFile
    PERFORM UNTIL EOF
        READ InventoryFile INTO InventoryRecord
        AT END
            SET EOF TO TRUE
        NOT AT END
            DISPLAY 'Product ID: ' ProductID
            DISPLAY 'Product Name: ' ProductName
            DISPLAY 'Quantity: ' Quantity
        END-READ
    END-PERFORM
    CLOSE InventoryFile
    STOP RUN.

Explicació del Codi

  • IDENTIFICATION DIVISION: Defineix el nom del programa com InventorySystem.
  • ENVIRONMENT DIVISION: Especifica que el fitxer d'inventari (InventoryFile) està assignat a inventory.dat i és seqüencial.
  • DATA DIVISION: Defineix la estructura del fitxer d'inventari i variables de treball.
  • PROCEDURE DIVISION: Llegeix cada registre del fitxer d'inventari i mostra la informació del producte.

Exercici Pràctic

  1. Afegeix funcionalitat per actualitzar la quantitat d'un producte quan es realitza una venda.
  2. Implementa una opció per afegir nous productes a l'inventari.

Conclusió

Els projectes reals en COBOL sovint impliquen la gestió de grans volums de dades i la implementació de lògiques complexes per a la gestió de transaccions i inventaris. A través dels exemples i exercicis pràctics proporcionats, has après com estructurar i desenvolupar programes COBOL per a aplicacions del món real. Aquest coneixement et prepara per abordar projectes més complexos i avançats en el futur.

© Copyright 2024. Tots els drets reservats