2013-06-25 46 views
1

這可能是COBOL專家的一個非常基本的問題。但我直到約會與COBOL無關。我們正在處理一些基於字符位置的文件。這些文件正在從大型機發送給我們,我們有一個佈局文件來說明這樣的事情。COBOL包裝的數據類型:Type = P5


POSITION:長度:TYPE:說明
----------:--------:------:------- ------------------------

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

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

81-81:1:A/N:FLAG

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

我知道類型A/N意味着它是字母數字。 N表示數字,P表示壓縮數據類型。我不明白的是P5的含義。 5旁邊的P的意義是什麼?

+0

你使用什麼編譯器?你顯示的輸出源是什麼? –

回答

1

5旁邊的P有什麼意義?

我不確定。也許是五個16位的單詞。

您的打包字段是10個字節,可容納19個字符(18位數字加上符號)。隱含小數點。

如果符號字節(最右邊的字節)不是十六進制F,則更新您的問題。

如果你可以用五個十六進制字符串更新你的問題,代表五個數字,那就太好了。

現在,我猜這是一個普通的壓縮十進制字段。

1
  • P - 壓縮十進制(即Cobol的樣Comp-3)的18位壓縮十進制將佔用10個字節,其同意的長度給

  • - 位數的小數點後點(猜測)。在COBOL

字段定義可能是

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

在壓縮十進制,符號在最後nyble保持(4位)和各nyble(4個比特)保持一個十進制數。

121 is represented as x'121c' 

-121 is represented as x'121d' 

如果您使用的是Java,可以得到COBOL字帖,有可以讀取使用COBOL字帖的文件包。

1

我敢打賭,這意味着5位小數。