Hola a todos. Este artículo te guiará para declarar y definir variables en COBOL Common Business-Oriented Language y te explicará la lógica y el sentido de cada palabra clave. La declaración de variables en COBOL puede diferir de otros lenguajes, porque permite establecer condiciones especiales como valores iniciales, condiciones o restricciones sobre cómo se comportan las variables, por lo que es clave entender por qué existen ciertos términos y cómo dan forma a la estructura del programa.
Observa este ejemplo de código; lo explico paso a paso.
Si ves sintaxis que te resulta desconocida, puedes revisar mi artículo anterior sobre fundamentos de COBOL en este enlace.
DATA DIVISION
DATA DIVISION.
*> define las variables que usa el programa para el procesamiento de datos
*> aquí se declara toda la data que usará el programa
DATA DIVISION se utiliza para declarar todos los elementos de datos que requiere el programa. Aquí se especifican variables, constantes y estructuras de archivos que se usarán durante la ejecución. En otras palabras, actúa como un diccionario de datos del programa, y todo dato que se vaya a procesar debe declararse primero aquí.
WORKING-STORAGE SECTION
WORKING-STORAGE SECTION.
*> describe registros de datos nuevos y no asociados a archivos
*> describe datos cuyos valores se asignan en el código fuente y permanecen durante la ejecución
WORKING-STORAGE SECTION forma parte de DATA DIVISION y es donde se declaran variables y elementos de datos que existen durante toda la vida del programa. Se crean al iniciar y permanecen hasta el final. Suelen usarse para valores temporales, contadores, banderas y constantes.
01 userName PIC X(20) VALUE John Doe.
*> declara una variable llamada userName
*> le asigna el valor inicial John Doe usando la palabra clave VALUE
Desglose rápido:
1) 01 es el número de nivel. Indica que userName es una variable de nivel superior. Cada vez que declares una nueva variable de primer nivel, antepón 01.
2) userName es el nombre de la variable, puedes nombrarla como prefieras.
3) PIC es la máscara que le dice a COBOL qué tipo de datos puede almacenar el campo.
4) X n permite letras, números y símbolos. Es flexible para texto alfanumérico.
5) 20 indica la longitud máxima de 20 caracteres.
6) VALUE John Doe asigna un valor inicial al comienzo del programa. COBOL rellena con espacios hasta completar la longitud de 20.
01 userAge PIC 9(3) VALUE 30.
*> declara la variable userAge
*> le asigna el valor 30
Explicación:
1) PIC 9 n define un campo numérico de n dígitos. Cada posición almacena un dígito de 0 a 9.
2) 3 significa que puede almacenar hasta 3 dígitos, de 000 a 999.
3) VALUE 30 inicializa el campo con 30. Al tener longitud 3, COBOL lo guarda como 030. Si fuese 100, se almacenaría como 100.
01 userAddress PIC X(60) VALUE United States.
*> declara la variable userAddress
*> le asigna el valor United States
Igual que con userName:
1) 60 es la longitud máxima del campo, por lo que puede almacenar hasta 60 caracteres.
2) VALUE United States inicializa el campo con ese texto y COBOL rellena con espacios hasta llegar a 60.
DISPLAY de variables
PROCEDURE DIVISION.
DISPLAY abajo verás tu información completa:
DISPLAY userName.
DISPLAY userAge.
DISPLAY userAddress.
*> mostramos el contenido de las variables declaradas y definidas en WORKING-STORAGE SECTION
EXIT PROGRAM.
En PROCEDURE DIVISION utilizamos la instrucción DISPLAY para sacar por pantalla los valores de las variables definidas en WORKING-STORAGE SECTION.
Salida esperada:
abajo verás tu información completa:
John Doe
030
United States
Y eso es todo. La salida anterior refleja los valores definidos en las variables. Así es como se declaran, se definen y se muestran variables y sus valores en COBOL.
Gracias por tu tiempo. Si tienes sugerencias, comentarios o recomendaciones, compártelos en la sección de comentarios. Hasta pronto.