-4

我正在尝试重新定义 Cobol 工作存储中的变量。请查看以下 id 是否可能:我可以将带有 PIC 条款 9(2).9(3) 的变量重新定义到这个 PIC 条款 -(2).9(3)

4

1 回答 1

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

因此,主字段将存储日期,但是,通过重新定义它,您现在可以只使用年、月或日,具体取决于您在程序中尝试执行的操作。

希望这可以帮助。

于 2017-06-23T17:52:09.500 回答