Master Mainframe Technologies - COBOL, JCL, DB2, VSAM, CICS & More
ABEND Codes SQLCODEs File Status Interview Prep Contact
← Back to Data Division
Data Division | Intermediate | COBOL

REDEFINES Clause

Problem Description

Use REDEFINES to interpret same storage in multiple ways.

Expected Output

Single storage, multiple interpretations

Hints

REDEFINES shares storage between different field definitions.

Solution

IDENTIFICATION DIVISION. PROGRAM-ID. REDEFTEST. DATA DIVISION. WORKING-STORAGE SECTION. * Original definition 01 WS-DATE-NUM PIC 9(8) VALUE 20240115. * REDEFINES as formatted date 01 WS-DATE-FMT REDEFINES WS-DATE-NUM. 05 WS-YEAR PIC 9(4). 05 WS-MONTH PIC 9(2). 05 WS-DAY PIC 9(2). * Another example - numeric as alphanumeric 01 WS-AMOUNT PIC 9(7)V99 VALUE 1234567.89. 01 WS-AMT-X REDEFINES WS-AMOUNT PIC X(9). * Union-like structure 01 WS-RESPONSE PIC X(1) VALUE "Y". 01 WS-RESP-NUM REDEFINES WS-RESPONSE PIC 9(1). PROCEDURE DIVISION. DISPLAY "DATE AS NUMBER: " WS-DATE-NUM. DISPLAY "YEAR: " WS-YEAR. DISPLAY "MONTH: " WS-MONTH. DISPLAY "DAY: " WS-DAY. DISPLAY "AMOUNT NUMERIC: " WS-AMOUNT. DISPLAY "AMOUNT AS CHARS: " WS-AMT-X. * Change and see both views MOVE 2025 TO WS-YEAR. MOVE 12 TO WS-MONTH. MOVE 25 TO WS-DAY. DISPLAY "NEW DATE: " WS-DATE-NUM. STOP RUN.

Explanation:

REDEFINES lets you view same memory as different data types.