COBOL压缩数据类型:类型=P5



对于COBOL专家来说,这可能是一个非常基本的问题。但到目前为止,我和COBOL没有任何关系。我们正在根据字符位置处理一些文件。这些文件是从大型机发送给我们的,我们有一个布局文件,上面写着这样的内容。


位置:长度:类型:描述
----------:--------------------------------------------:-------------------------------

61-70:10:P5:FIELD-1 9(13)V(05)

71-80:10:P5:Field-2 9(13)V(05)

81-81:1:A/N:FLAG

82-84:3:N:天数9(3)

我知道A/N类型意味着它是字母数字。N表示数字,P表示压缩数据类型。我不明白P5的意思。P后面的5的意义是什么?

p后面的5的意义是什么?

我不确定。也许是五个16位的单词。

您的压缩字段为10个字节,包含19个字符(18位数字加上符号)。小数点是隐含的。

如果符号字节(最右边的字节)不是十六进制F,请更新您的问题。

如果你能用代表五个数字的五个十六进制字符串来更新你的问题,那就太好了。

现在,我猜这是一个普通的压缩十进制字段。

  • p压缩小数(即Cobol Comp-3)一个18位压缩小数将占用10个字节,这与的长度一致

  • 5-小数点后的位数(猜测)。

cobol中的字段定义可能是

   03 FIELD-1  pic s9(13)V(05) comp-3.

在压缩十进制中,符号保存在最后一个nyble(4位)中,每个nyble(四位)保存一个十进制数字。

   121 is represented as x'121c'

  -121 is represented as x'121d'

如果您使用的是java,并且可以获得cobol副本,那么有一些包可以使用cobol复制本读取文件。

我敢打赌这意味着小数点后5位。

最新更新