Как ссылаться на неоднозначную переменную верхнего уровня?
В этом коде я бы хотел 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