Cobol 如何引用不明确的顶级变量?

Cobol 如何引用不明确的顶级变量?,cobol,disambiguation,Cobol,Disambiguation,在这段代码中,我想接受并显示01 leveld变量。虽然05级D很容易,但是F的D有没有办法指定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).

在这段代码中,我想
接受
显示
01 level
d
变量。虽然05级
D
很容易,但是F的
D
有没有办法指定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.

在这种情况下,恐怕唯一的方法是更改变量名或将
01
-level
D
设置为从属项,例如

 01  D-rec.
     03  D PIC 9(8).
 ...
     DISPLAY D IN D-rec

不,您可以引入一个新的01级别(比如d-x),并将
01 d
更改为
03 d
,然后执行
d-x的
d
。简而言之,您不能限定01级别。