如何将实际十进制值传递给虚拟十进制值?

时间:2013-01-22 06:26:26

标签: variables cobol mainframe

我有一个PIC 9(14).9(2)变量,它接收来自传入文件的数据。我希望将其传递给PIC 9(14)V9(2)的报表变量。传入数据的格式无法更改。有什么方法可以将一个值传递给另一个值吗?

2 个答案:

答案 0 :(得分:1)

pic 9(14).9(2)基本上是Pic X字段。您可以设置重新定义字段 或使用参考修改

       03 F1                 PIC 9(14).9(2).
       03 filler redefines F1.
          05 F1-Int          pic 9(14).
          05 filler          pic X.
          05 F1-decimal      pic 9(2).

       03 F2                 PIC 9(14)V9(2).
       03 filler redefines F2.
          05 F2-Int          pic 9(14).
          05 F2-decimal      pic 9(2).

       Move F1-int          to f2-int.
       Move F1-decimal      to f2-decimal.

or    
       Move F1(1:14)        to F2(1:14).   
       Move F1(16:2)        to F2(15:2).   // Forgoten the correct format for cobol

答案 1 :(得分:1)

您还可以在这里查看:How to REDEFINE and perform arithmetic on a PIC X clause in COBOL,这可能是一个类似的主题(虽然输入数据的格式从未得到确认)