重新定义cobol中的条款

时间:2017-06-12 05:23:54

标签: cobol mainframe redefine copybook

我试图在Cobol工作存储中重新定义变量。 请查看以下ID是否可能: 我是否可以通过PIC第9(2).9(3)条对该PIC条款重新定义变量 - (2).9(3)

1 个答案:

答案 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

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

希望这有帮助。