如何引用模棱两可的顶级变量?

时间:2018-07-09 12:51:23

标签: cobol disambiguation

在此代码中,我想ACCEPTDISPLAY的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 个答案:

答案 0 :(得分:6)

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

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