En esta serie de posts sobre el lenguaje COBOL hemos visto algunas sentencias importantes como ``PERFORM`` y ``GO TO``. En está ocasión continuaremos con lo visto anteriormente.
EXIT [PROGRAM]
La sentencia ``EXIT`` proporciona un punto final común para una serie de procedimientos. También proporciona una forma de salir de una sección, un párrafo o una sentencia ``PERFORM`` en línea.
IDENTIFICATION DIVISION. PROGRAM-ID. EJERCICIODOS. AUTHOR. ALQUIMISTA. INSTALLATION. BLOGGER. DATE-WRITTEN. 15/06/24. DATE-COMPILED. SECURITY. NO ES CONFIDENCIAL. *> ------------------------------------------------------ *> PROGRAMA QUE USA PERFORM *> ------------------------------------------------------ ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. LINUX-UBUNTU. OBJECT-COMPUTER. LINUX-UBUNTU. INPUT-OUTPUT SECTION. FILE-CONTROL. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 01 WS-VAR. 05 WS-I PIC 9(01). 05 WS-J PIC 9(01). PROCEDURE DIVISION. DISPLAY "Antes de PERFORM...VARYING...AFTER". PERFORM 1000-CALCULATION THRU 1000-EXIT VARYING WS-I FROM 1 BY 1 UNTIL WS-I > 2 AFTER WS-J FROM 1 BY 1 UNTIL WS-J > 6. DISPLAY "Despues de PERFORM...VARYING...AFTER" STOP RUN. 1000-CALCULATION. DISPLAY "WS-I: " WS-I " , WS-J: " WS-J. 1000-EXIT. EXIT.
GOBACK
Esta sentencia funciona como la sentencia ``EXIT PROGRAM``.
IDENTIFICATION DIVISION. PROGRAM-ID. PROGRAMA. AUTHOR. ALQUIMISTA. INSTALLATION. BLOGGER. DATE-WRITTEN. 15/06/24. DATE-COMPILED. SECURITY. NO ES CONFIDENCIAL. *> ------------------------------------------------------ *> UN SIMPLE ṔROGRAMA *> ------------------------------------------------------ ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. LINUX UBUNTU. OBJECT-COMPUTER. LINUX UBUNTU. INPUT-OUTPUT SECTION. FILE-CONTROL. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 01 WS-CAMPO-COMPUESTO. 05 WS-CAMPO-01 PIC X(07) VALUE "HERNAND". 05 WS-CAMPO-02 PIC 9(05) VALUE 89098. PROCEDURE DIVISION. 010-RAIZ. DISPLAY "[ HOLA COBOLEROS ]" DISPLAY WS-CAMPO-01 DISPLAY "CONTENIDO DE CAMPO 01: " WS-CAMPO-01 DISPLAY "CONTENIDO DE CAMPO 02: " WS-CAMPO-02. GOBACK.
STOP [RUN]
La sentencia ``STOP`` detiene la ejecución del programa objeto de forma permanente o temporal.
IDENTIFICATION DIVISION. PROGRAM-ID. EJERCICIOUNO. AUTHOR. ALQUIMISTA. INSTALLATION. ALQUIMISTA. DATE-WRITTEN. 15-06-2024. DATE-COMPILED. 15-06-2024, SECURITY. NO ES CONFIDENCIAL. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. LINUX UBUNTU. OBJECT-COMPUTER. LINUX UBUNTU. INPUT-OUTPUT SECTION. FILE-CONTROL. DATA DIVISION. FILE SECTION. WORKING-STORAGE SECTION. 01 WS-COUNT PICTURE 9(01). *> EJEMPLO DEL USO DE PERFORM VARYING PROCEDURE DIVISION. DISPLAY "Antes del conteo...". PERFORM VARYING WS-COUNT FROM 1 BY 1 UNTIL WS-COUNT > 3 DISPLAY "Hola, no.: " WS-COUNT END-PERFORM. DISPLAY "Despues del conteo.". STOP RUN.
CAMPOS EMPACADOS
Nos sirven para ahorrar espacio.
Algunos ejemplos:
WORKING-STORAGE SECTION. 01 WS-DATE. 05 WS-YEAR PIC 9(02). 05 WS-MONTH PIC 9(02). 05 WS-DAY PIC 9(02).
El nombre del campo empacado en este caso es: WS-DATE. Este agrupará los subcampos:
- WS-YEAR.
- WS-MONTH.
- WS-DAY.
Podemos asignar un valor DATE en el campo empacado (DATE es una función propia del lenguaje, la cual provee la fecha actual del sistema):
ACCEPT WS-DATE FROM DATE.
Podemos imprimir cada uno de los valores de los subcampos:
DISPLAY "AÑO: ",WS-YEAR. DISPLAY "MES: ",WS-MONTH. DISPLAY "DÍA: ",WS-DAY.
Continuaremos con esta serie de entregas sobre le lenguaje COBOL.
Enlaces:
https://alquimistadecodigo.blogspot.com/2024/06/cobol-para-principiantes-7.html
Comentarios
Publicar un comentario