Menu

COBOL - Initialize Statement


A INITIALIZE define categorias selecionadas de campos de dados para valores predeterminados. É funcionalmente equivalente a uma ou mais instruções MOVE.

INITIALIZE não executa nenhuma ação nas áreas FILLER e também a cláusula OCCURS DEPENDING ON intocada.

INITIALIZE statement do,

  1. Move espaços para itens alfanuméricos, alfanuméricos e editados.
  2. Move zeros para itens numéricos.

Syntax:

INITIALIZE identifier-1
  [REPLACING {ALPHABETIC/ALPHANUMERIC/NUMERIC/ALPHANUMERIC-EDITED/NUMERIC-EDITED}
  DATA BY {identifier-2/literal}]

INITIALIZE SUBSTITUIÇÃO: Para mover dados com constantes específicas em vez de zeros e espaços.


Vamos ver o exemplo para entender os conceitos com clareza,

01 WS-RECORD.
      05 WS-NUMBER    PIC 9(09).
      05 WS-NAME      PIC X(10).
      05 WS-LOB       PIC X(03).

Exemplo 1:

INITIALIZE WS-RECORD.

Isso move zeros para WS-NUMBER e espaços para WS-NAME e WS-LOB.

Exemplo 2:

INITIALIZE WS-RECORD REPLACING NUMERIC DATA BY 9 ALPHANUMERIC DATA BY 'X'.

Esta instrução acima move 9 TO WS-NUMBER AND X está sendo movido para WS-NAME e WS-LOB.