An unused data item block is dead code. Such data item blocks should be removed to increase the maintainability of the program.
Noncompliant code example
IDENTIFICATION DIVISION.
PROGRAM-ID. foo.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 PERSON. *> Compliant as sub data item FIRST_NAME is used
02 FIRST_NAME PIC X(21).
02 LAST_NAME PIC X(21).
01 ADDR. *> Noncompliant as no data item in this block is used
02 STREET PIC X(50).
02 TOWN PIC X(50).
PROCEDURE DIVISION.
MOVE "John" TO FIRST_NAME.
Exceptions
FILLER
top level data items and top level data items which have sub data items with a VALUE
clause are not checked by
this rule.
EXTERNAL
data items are not checked by this rule.