Как ссылаться на неоднозначную переменную верхнего уровня?

В этом коде я бы хотел ACCEPT а также DISPLAY уровень 01 D переменная. Хотя уровень 05 D это просто, D OF F, есть ли способ указать уровень 01 D?

Очевидным решением является "просто изменить имя переменной", но надеемся, что есть лучший способ!

IDENTIFICATION DIVISION.
    PROGRAM-ID. DISAMBIGUATION-ISSUE.
DATA DIVISION.
    WORKING-STORAGE SECTION.
    01 D VALUE PIC 9(8). 
    01 F.
        05 Y PIC 9(4).
        05 M PIC 9(2).
        05 D PIC 9(2).
PROCEDURE DIVISION.
*> Errors here, D is ambiguous
    ACCEPT D.
    DISPLAY "Date: " D.
STOP RUN.

1 ответ

Решение

Боюсь, что единственный способ в этом случае - изменить имя переменной или сделать 01-уровень D в подчиненный предмет, например

 01  D-rec.
     03  D PIC 9(8).
 ...
     DISPLAY D IN D-rec
Другие вопросы по тегам