如果它是重复记录,我正在编写一个更改字段颜色的程序。为此,我使用嵌套执行来比较每个项目。当它找到重复项时,我想将 DFHRED 移动到该特定字段,例如 CRS1AC。我的问题是我不知道如何引用我试图更改颜色的字段,一旦我发现它是重复的,我该怎么做?以下是 MAP 文件中的字段,如果存在重复项,我将尝试将颜色移动到这些字段...
01 CRS1AC PIC X.
01 CRS1BC PIC X.
01 CRS2AC PIC X.
01 CRS2BC PIC X.
01 CRS3AC PIC X.
01 CRS3BC PIC X.
01 CRS4AC PIC X.
01 CRS4BC PIC X.
01 CRS5AC PIC X.
01 CRS5BC PIC X.
这是我的桌子设置...
01 TABLES.
05 TBL-CRS-ENTRIES PIC S9(3) COMP-3 VALUE 5.
05 TBL-CRS-VALUES PIC X(4) OCCURS 10 TIMES.
05 CRS-TBL REDEFINES TBL-CRS-VALUES
PIC X(8) OCCURS 5 TIMES.
05 SUB-1 PIC S9(3) COMP-3 VALUE 1.
05 SUB-2 PIC S9(3) COMP-3 VALUE 1.
& 这里是检查重复的代码
PERFORM VARYING SUB-1 FROM 1 BY 1 UNTIL SUB-1 > TBL-CRS-ENTRIES
PERFORM VARYING SUB-2 FROM 1 BY 1 UNTIL SUB-2 > SUB-1 - 1
IF CRS-TBL(SUB-1) = CRS-TBL(SUB-2)
*if there is a match it should change the colour to red.
* for example a match at CRS1AC & CRS1BC match CRS3AC & CRS3BC
*this is my attempt at trying make the variable name.
MOVE DFHRED TO CRS(SUB-1)AC
MOVE DFHRED TO CRS(SUB-1)BC
MOVE DFHRED TO CRS(SUB-2)AC
MOVE DFHRED TO CRS(SUB-2)BC
PERFORM 999-DUPLICATE-RECORD
END-IF
END-PERFORM
END-PERFORM.
GOBACK.
所以,如果 'PSYC 1000' = 'PSYC 1000' 并且这些字段的名称是.. 'CRS1AC+CRS1BC = CRS3AC+CRS3BC' <--- 这些是我要更改颜色的字段。
我对此进行了大量研究,但仍然找不到解决方案。希望这是有道理的,我知道它无处不在,为了进一步澄清,请询问&如果需要完整的程序代码,我可以提供。