Ver Mensaje Individual
  #2
Antiguo 27 de abril de 2022, 11:27
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 02.10.2026 11:51
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

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

Código COBOL:
  1. 01 DATOS_ECONOMICOS.
  2.      03  SALDO                 PIC S9(9)V999.
  3.      03  DEBE                    PIC S9(9)V999.
  4.      03  HABER                 PIC S9(9)V999.
  5.      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

Código COBOL:
  1. MOVE ZEROS  TO SALDO DEBE HABER.
  2. 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

Código COBOL:
  1. INITIALIZE DATOS_ECONOMICOS.

Un salu2.-
Josber is offline   Responder Con Cita