отображение из xml в поле cobol - PullRequest
0 голосов
/ 01 февраля 2012

Мне нужно передать LOW-VALUES (я не очень уверен, какой бы это был тип) по умолчанию для поля тетради для бэкэнда. Я использую преобразование wtx, которое преобразует xml в cobol

15 :abc       PIC X(15).

От команды мэйнфреймов я получил это как образец для поля.

X'000000000000000000000000000000'

Однако, когда я использую это правило, оно терпит неудачу, потому что количество символов превышает 15. Как я могу передать НИЗКИЕ ЗНАЧЕНИЯ?

моя карта правил для вышеуказанного поля кобола

="X'000000000000000000000000000000'"

ошибка сообщения

Map:    Output: abc Field:123 Group:outputcbl
    Size of input item is greater than size of output item.

Ответы [ 2 ]

2 голосов
/ 01 февраля 2012

LOW-VALUE в COBOL - это образная константа.Значение этой константы - это символ, имеющий наименьшую порядковую позицию в используемой последовательности упорядочения.

Предполагается, что используется набор символов EBCDIC (как указано в одном из ваших комментариев к другому ответу), и последовательность упорядочения имеетне было переопределено (вероятно, хорошее предположение), НИЗКОЕ ЗНАЧЕНИЕ соответствует двоичным нулям.

A PIC X(15) элемент данных в COBOL занимает 15 байтов.Используйте преобразование, которое переводит это поле в 15 байтов двоичных нулей.Приложение COBOL увидит это LOW-VALUE.

Примечание. Значение, которое вам дала ваша «команда мэйнфреймов», представляет собой шестнадцатеричное строковое представление для 15 байтов двоичных нулей.

0 голосов
/ 01 февраля 2012

Низкие значения - это просто все шестнадцатеричные нули, поэтому, если вы измените размер своей карты правил, чтобы она содержала 15 шестнадцатеричных цифр, все ноль, у вас все будет в порядке.

...