COBOL Тип упакованных данных: Type = P5

Это может быть очень простой вопрос для экспертов COBOL. Но я до свидания не имел ничего общего с Коболом. Мы обрабатываем некоторые файлы в зависимости от позиции персонажа. Файлы отправляются нам с мэйнфреймов, и у нас есть файл макета, в котором говорится что-то вроде этого.


ПОЛОЖЕНИЕ: ДЛИНА: ТИП: ОПИСАНИЕ
---------- -------- ------: ----------------------- --------

61-70: 10: P5: ПОЛЕ-1 9(13) В (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. Какое значение 5, который идет рядом с P?

3 ответа

Держу пари, что это означает 5 знаков после запятой.

Какое значение 5, который идет рядом с P?

Я не уверен. Пять 16-битных слов, может быть.

Заполненные поля имеют размер 10 байт и содержат 19 символов (18 цифр плюс знак). Десятичная точка подразумевается.

Если байт знака (самый правый байт) отличается от шестнадцатеричного F, обновите свой вопрос.

Если бы вы могли обновить свой вопрос пятью шестнадцатеричными строками, представляющими пять чисел, это было бы здорово.

Прямо сейчас, я предполагаю, что это обычное упакованное десятичное поле.

  • P - упакованный десятичный знак (т. Е. Cobol Comp-3), упакованный из 18 цифр десятичный знак будет занимать 10 байтов, что согласуется с длинами, полученными

  • 5 - количество цифр после десятичной точки (при угадывании).

Определение поля в коболе, вероятно,

   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.

Другие вопросы по тегам