MatematicaMente
27 de abril de 2022, 09:48
Buenos días/tardes/noches.
Recién comienzo en el mundo de COBOL y tengo dudas acerca de la instrucción INITIALIZE.
¿Cuándo y con qué objetivo se usa?, ¿qué tipo de datos tiene sentido inicializar?
Gracias de antemano, un saludo.
L.
Josber
27 de abril de 2022, 11:27
El verbo o instrucción INITIALIZE, "vacía" una o varias variables sin tener que "mirar" si son numéricas o alfanuméricas, es una instrucción que se añadió a la versión de 1985 de COBOL, y supuso el quitar muuuuucho trabajo a los programadores, su equivalente es MOVE ZEROS o MOVE SPACES TO ....
Imagina que tienes una variable que declarada de la siguiente manera
01 DATOS_ECONOMICOS.
03 SALDO PIC S9(9)V999.
03 DEBE PIC S9(9)V999.
03 HABER PIC S9(9)V999.
03 TIPO PIC X.
y necesitas inicializarlos, (borrar su contenido), no puedes hacer un MOVE ZEROS TO DATOS_ECONOMICOS, porque a SALDO, DEBE y HABER, lo haces bien, pero TIPO, tendría desde ese momento, el valor "0", por lo que no es correcto, tendrías que hacerlo de la siguiente manera
MOVE ZEROS TO SALDO DEBE HABER.
MOVE SPACES TO TIPO.
Sin embargo, con INITIALIZE, no tienes problemas, el compilador es el que se encarga de ver qué tipo de variable es y cómo debe de inicializarla, la forma sería
INITIALIZE DATOS_ECONOMICOS.
Un salu2.-
MatematicaMente
27 de abril de 2022, 12:29
Muchas gracias por tu respuesta, explicación muy clara!
vBulletin v3.8.7, Derechos ©2000-2026, Jelsoft Enterprises Ltd.