Curso de COBOL desde cero

Introducción a las variables y constantes de COBOL

Capítulo 7: Variables, constantes DISPLAY y tipos de datos

Constantes DISPLAY de COBOL

Estas constantes sirven para mostrar como te dije en un capítulo anterior, datos en pantalla.
Con estos DISPLAY podemos mostrar cualquier dato, ya sean strings, integers, variables, constantes, etc.

Tipos de datos en COBOL

El tipo de dato string

Veamos un pequeño ejemplo con los strings o cadenas de caracteres (texto)

IDENTIFICATION DIVISION.
PROGRAM-ID. CAPITULO-7.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
PROCEDURE DIVISION.
MAIN-PROCEDURE.
	DISPLAY "Este texto se va a mostrar en la consola."
	STOP RUN.
END PROGRAM CAPITULO-7.

Debes fijarte solo en la constante DISPLAY, la cual muestra un texto. Para que COBOL sepa que es un texto, se lo tienes que indicar con unas comillas, ya sean simples ('') o dobles ("").
Ten en cuenta, que las tabulaciones en el DISPLAY y en el STOP RUN no afectan en nada a la ejecución del programa como si ocurre en Python por ejemplo, unicamente son para presentación y ordenación del código.

Resultado en la consola:

Este texto se va a mostrar en la consola.

El tipo de integer

Para escribir un número entero (integer) lo haremos escribiendo el número entre comillas. Si lo escribes entrecomillado COBOL lo va a interpretar como un string y no podrás hacer cálculos aritméticos con dicho número. Aunque si sabes programar, esto ya lo tienes más que asumido

En el siguiente ejemplo tienes un número que es un string en el primer DISPLAY y el segundo que es un integer:

IDENTIFICATION DIVISION.
PROGRAM-ID. CAPITULO-7.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
PROCEDURE DIVISION.
MAIN-PROCEDURE.
	DISPLAY "70"
	DISPLAY 70
	STOP RUN.
END PROGRAM CAPITULO-7.

Las variables en COBOL

Ya hemos visto alguna variables, pero esta vez vamos a profundizar en sus partes.

01 SALUDO PICTURE XXXX VALUE "Hola".

La primera parte es el número de nivel de la variable que explicaré más adelante.
La segunda parte es el nombre de la variable, el cual puede ser el que quieras siempre que te ciñas a las normas de palabras vistas anteriormente.
La tercera parte es el PICTURE que representa la declaración del tipo de dato y la longitud de la variable.
Las 4 X (XXXX) representan que el tipo de dato es string y tiene una longitud máxima de 4 caracteres, uno por cada X.
La parte del VALUE es para indicar que queremos iniciar la variable dándole un valor que se corresponda con el PICTURE.

El PICTURE tiene diversas abreviaturas:

01 SALUDO PICTURE XXXX VALUE "Hola".
01 SALUDO PIC XXXX VALUE "Hola".

Las tres formas de PICTURE son correctas, utiliza la que más te guste.

La longitud de la variable también se puede abreviar, es tan válida una opción como la otra:

01 SALUDO PICTURE X(4) VALUE "Hola".

Para indicar en el tipo de dato numérico en la variable, debes poner el número 9 en lugar de X. Además, lo puedes abreviar de la misma forma:

01 NUMERO PICTURE 999999 VALUE 100500.
01 NUMERO PICTURE 9(6) VALUE 100500.

Como imprimir el valor de una variable en COBOL

Es muy sencillo, solo debes tener la variable creada y con un DISPLAY la llamas:

IDENTIFICATION DIVISION.
PROGRAM-ID. CAPITULO-7.
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
01 SALUDO PIC X(4) VALUE "Hola".
PROCEDURE DIVISION.
MAIN-PROCEDURE.
	DISPLAY SALUDO.
	STOP RUN.
END PROGRAM CAPITULO-7.

Resultado en la consola:

Hola

Comentarios

Si te quedan dudas sobre el temario, sobre COBOL, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.