Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
💻 COBOL

COBOL INITIALIZE Statement

Beginner 🕑 10 min read 👁 0 views

COBOL INITIALIZE Statement

The INITIALIZE statement sets data items to predetermined values based on their data types.

Syntax

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

Default Initialization Values

Data Type Initial Value
Alphabetic SPACES
Alphanumeric SPACES
Numeric ZEROS
Numeric-edited ZEROS

Example Program

       IDENTIFICATION DIVISION.
       PROGRAM-ID. INIT-DEMO.

       DATA DIVISION.
       WORKING-STORAGE SECTION.
       01 WS-RECORD.
          05 WS-NAME      PIC X(20) VALUE 'OLD NAME'.
          05 WS-AMOUNT    PIC 9(7)V99 VALUE 1234.56.
          05 WS-CODE      PIC X(5) VALUE 'ABCDE'.

       PROCEDURE DIVISION.
           DISPLAY 'Before INITIALIZE:'
           DISPLAY 'Name: ' WS-NAME
           DISPLAY 'Amount: ' WS-AMOUNT
           DISPLAY 'Code: ' WS-CODE

           INITIALIZE WS-RECORD

           DISPLAY 'After INITIALIZE:'
           DISPLAY 'Name: ' WS-NAME
           DISPLAY 'Amount: ' WS-AMOUNT
           DISPLAY 'Code: ' WS-CODE

           STOP RUN.

Expected Output

Before INITIALIZE:
Name: OLD NAME
Amount: 0001234.56
Code: ABCDE
After INITIALIZE:
Name:
Amount: 0000000.00
Code:

Key Points

  • INITIALIZE recursively processes group items
  • FILLER items are not initialized
  • Use REPLACING to override default values