Introducció
COBOL (Common Business-Oriented Language) és un llenguatge de programació dissenyat per a aplicacions de negocis. És conegut per la seva llegibilitat i la seva capacitat per gestionar grans volums de dades. En aquest mòdul, aprendrem com utilitzar COBOL en l'entorn OpenVMS.
Continguts
Instal·lació del Compilador COBOL a OpenVMS
Abans de començar a programar en COBOL, necessitem assegurar-nos que el compilador COBOL està instal·lat al sistema OpenVMS.
Passos per a la Instal·lació
-
Verificar la Presència del Compilador:
$ SHOW LOGICAL SYS$SYSTEM
Busca el fitxer
COBOL.EXE
en el directori del sistema. -
Instal·lació del Compilador (si no està present):
- Contacta amb l'administrador del sistema per obtenir els fitxers d'instal·lació.
- Executa el procediment d'instal·lació proporcionat.
Estructura Bàsica d'un Programa COBOL
Un programa COBOL típic consta de quatre divisions principals:
-
IDENTIFICATION DIVISION: Conté informació sobre el programa, com el nom i l'autor.
-
ENVIRONMENT DIVISION: Defineix l'entorn en què s'executarà el programa, incloent-hi els fitxers d'entrada i sortida.
-
DATA DIVISION: Declara les variables i les estructures de dades utilitzades en el programa.
-
PROCEDURE DIVISION: Conté el codi executable del programa.
Exemple de Programa COBOL
IDENTIFICATION DIVISION. PROGRAM-ID. HelloWorld. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. DISPLAY 'Hello, OpenVMS World!'. STOP RUN.
Compilació i Execució de Programes COBOL
Compilació
Per compilar un programa COBOL a OpenVMS, utilitza la comanda COBOL
seguida del nom del fitxer font:
Això generarà un fitxer objecte (HelloWorld.OBJ
).
Enllaç
Després de compilar, necessitem enllaçar el fitxer objecte per crear un executable:
Execució
Finalment, podem executar el programa resultant:
Gestió de Fitxers amb COBOL
COBOL és especialment potent en la gestió de fitxers. A continuació, es mostra un exemple de com llegir i escriure fitxers en COBOL.
Exemple de Gestió de Fitxers
IDENTIFICATION DIVISION. PROGRAM-ID. FileExample. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT InputFile ASSIGN TO 'input.txt' ORGANIZATION IS LINE SEQUENTIAL. SELECT OutputFile ASSIGN TO 'output.txt' ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD InputFile. 01 InputRecord PIC X(100). FD OutputFile. 01 OutputRecord PIC X(100). WORKING-STORAGE SECTION. 01 WS-EOF PIC X VALUE 'N'. PROCEDURE DIVISION. OPEN INPUT InputFile OPEN OUTPUT OutputFile PERFORM UNTIL WS-EOF = 'Y' READ InputFile INTO InputRecord AT END MOVE 'Y' TO WS-EOF NOT AT END MOVE InputRecord TO OutputRecord WRITE OutputRecord END-READ END-PERFORM CLOSE InputFile CLOSE OutputFile STOP RUN.
Interfície amb Serveis del Sistema
COBOL a OpenVMS pot interactuar amb serveis del sistema per realitzar tasques avançades com la gestió de processos i la comunicació entre processos.
Exemple d'Interfície amb Serveis del Sistema
IDENTIFICATION DIVISION. PROGRAM-ID. SystemServiceExample. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-STATUS PIC S9(9) COMP. PROCEDURE DIVISION. CALL 'LIB$GETJPI' USING BY VALUE JPI$_PID BY REFERENCE WS-STATUS IF WS-STATUS = 0 DISPLAY 'Process ID obtained successfully.' ELSE DISPLAY 'Error obtaining Process ID.' END-IF STOP RUN.
Exercicis Pràctics
Exercici 1: Programa Bàsic
Escriu un programa COBOL que mostri el missatge "Benvingut a OpenVMS amb COBOL!".
Exercici 2: Gestió de Fitxers
Crea un programa COBOL que llegeixi un fitxer d'entrada, modifiqui cada línia afegint un prefix "Processed: " i escrigui el resultat en un fitxer de sortida.
Solucions
Solució Exercici 1
IDENTIFICATION DIVISION. PROGRAM-ID. Welcome. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. DISPLAY 'Benvingut a OpenVMS amb COBOL!'. STOP RUN.
Solució Exercici 2
IDENTIFICATION DIVISION. PROGRAM-ID. ProcessFile. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT InputFile ASSIGN TO 'input.txt' ORGANIZATION IS LINE SEQUENTIAL. SELECT OutputFile ASSIGN TO 'output.txt' ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD InputFile. 01 InputRecord PIC X(100). FD OutputFile. 01 OutputRecord PIC X(100). WORKING-STORAGE SECTION. 01 WS-EOF PIC X VALUE 'N'. PROCEDURE DIVISION. OPEN INPUT InputFile OPEN OUTPUT OutputFile PERFORM UNTIL WS-EOF = 'Y' READ InputFile INTO InputRecord AT END MOVE 'Y' TO WS-EOF NOT AT END MOVE 'Processed: ' TO OutputRecord STRING InputRecord DELIMITED BY SIZE INTO OutputRecord WITH POINTER 11 WRITE OutputRecord END-READ END-PERFORM CLOSE InputFile CLOSE OutputFile STOP RUN.
Conclusió
En aquest mòdul, hem après com utilitzar COBOL a l'entorn OpenVMS, des de la instal·lació del compilador fins a la gestió de fitxers i la interfície amb serveis del sistema. Els exercicis pràctics proporcionats ajuden a consolidar els conceptes apresos. En el següent mòdul, explorarem la interfície amb altres llenguatges de programació a OpenVMS.
Curs de Programació OpenVMS
Mòdul 1: Introducció a OpenVMS
- Què és OpenVMS?
- Història i Evolució d'OpenVMS
- Conceptes Bàsics i Terminologia
- Visió General de l'Arquitectura del Sistema
- Instal·lació i Configuració
Mòdul 2: Comandes Bàsiques d'OpenVMS
- Introducció a DCL (Digital Command Language)
- Comandes de Gestió de Fitxers
- Comandes de Gestió de Processos
- Comandes de Gestió del Sistema
- Ús de l'Ajuda i la Documentació
Mòdul 3: Sistema de Fitxers d'OpenVMS
- Estructura del Sistema de Fitxers
- Tipus i Atributs de Fitxers
- Operacions amb Fitxers
- Gestió de Directoris
- Control d'Accés i Seguretat
Mòdul 4: Scripting amb DCL
- Introducció al Scripting amb DCL
- Variables i Tipus de Dades
- Estructures de Control
- Subrutines i Funcions
- Gestió d'Errors
Mòdul 5: Gestió del Sistema OpenVMS
- Gestió de Comptes d'Usuari
- Gestió de Discs i Volums
- Procediments de Còpia de Seguretat i Restauració
- Monitorització del Sistema i Optimització del Rendiment
- Gestió de Parches i Actualitzacions
Mòdul 6: Xarxes a OpenVMS
- Conceptes Bàsics de Xarxes
- Configuració de TCP/IP
- Configuració de DECnet
- Serveis i Protocols de Xarxa
- Resolució de Problemes de Xarxa
Mòdul 7: Programació Avançada a OpenVMS
- Introducció als Llenguatges de Programació d'OpenVMS
- Ús de C a OpenVMS
- Ús de Fortran a OpenVMS
- Ús de COBOL a OpenVMS
- Interfície amb Serveis del Sistema
Mòdul 8: Clúster d'OpenVMS
- Introducció als Clústers
- Configuració i Gestió de Clústers
- Comunicació en Clúster
- Failover i Equilibri de Càrrega
- Seguretat en Clúster
Mòdul 9: Seguretat a OpenVMS
- Conceptes de Seguretat i Millors Pràctiques
- Autenticació i Autorització d'Usuaris
- Auditoria i Monitorització
- Xifrat de Dades
- Resposta i Recuperació d'Incidents