【问题标题】:Redefines clause in cobol重新定义 cobol 中的子句
【发布时间】:2017-06-12 05:23:54
【问题描述】:

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

【问题讨论】:

标签: cobol mainframe redefine copybook


【解决方案1】:

在 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

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

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-14
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    相关资源
    最近更新 更多