我试图在Cobol工作存储中重新定义变量。 请查看以下ID是否可能: 我是否可以通过PIC第9(2).9(3)条对该PIC条款重新定义变量 - (2).9(3)
答案 0 :(得分:0)
重新定义COBOL中的字段就是重新定义。这意味着,您只是将存储在相应字段中的字节分解为更小的段/字节。
例如,假设您正在使用可以应用于许多常见事物(如信用卡)的到期日期。 COBOL中的初始工作存储字段/变量将是:
05 EXPIRATION-DATE PIC X(8).
现在,让我们将这8个字节重新定义为更小的字节。这样,例如,我可以只抽出年份,只抽出月份,或者只抽出失效日期。
所以它变成了:
05 EXPIRATION-DATE PIC X(8). ---> 20170623 (data stored in field)
05 EXPIRATION-DATE-NEW REDEFINES EXPIRATION-DATE.
10 EXPIRATION-YEAR PIC 9(4). ---> 2017
10 EXPIRATION-MONTH PIC 9(2). ---> 06
10 EXPIRATION-DAY PIC 9(2). ---> 23
因此,主要字段将存储日期,但是,通过重新定义日期,您现在可以使用年,月或日,具体取决于您在程序中尝试执行的操作。
希望这有帮助。