我正在尝试重新定义 Cobol 工作存储中的 a 变量。请查看以下 id 是否可能:我是否可以将PIC条款9(2(.9(3(重新定义到此PIC条款-(2(.9(3(的变量
在 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
因此,主字段将存储日期,但是,通过重新定义它,您现在可以只使用年,月或日,具体取决于您尝试在程序中执行的操作。
希望这有帮助。