Вопрос

мы отправляем данные через MQ из системы z / OS / CICS в AS400.

Исходная кодировка сообщения - CCSID 500 в формате MQSTR.Клиентское приложение получает сообщение с опцией ПРЕОБРАЗОВАНИЯ и CCSID 819.

Данные почти преобразованы правильно, за исключением символа конца строки.Есть какие-нибудь идеи?Z / OS отправляет 0D (CR) в качестве символа конца строки.Если у них было 0D + 0A (CR + LF), CCSID автоматически менялся с 500 на 437, и конец строки все еще был неправильным на стороне клиента.

Это было полезно?

Решение 2

У нас возникла проблема с неправильной настройкой CCSID диспетчера очередей и использованием неправильной таблицы преобразования.

Другие советы

Вы уже пробовали только "0A" (LF)?Вы пробовали без явного ПРЕОБРАЗОВАНИЯ?У нас никогда не возникало никаких проблем с этой частью преобразования, и наша машина работает с Windows, AIX, Linux и так далее.Почти все время мы полагаемся на автоматические конверсии.

Кроме того, вы можете захотеть проверить ПОЛЬЗОВАТЕЛЯ вашего задания, который выбирает сообщение MQ из очереди.Большую часть времени ПОЛЬЗОВАТЕЛЬ использует системные атрибуты (как определено в соответствующем SYSVAL'е).Возможно, этот пользовательский профиль был настроен очень специфично и отличается от SYSVAL, который останавливает iSeries при выполнении правильного автоматического преобразования.

В качестве простого теста отправьте свои данные по FTP в iSeries.Это также приведет к автоматическому преобразованию с использованием системных таблиц (WRKTBL).Это может привести к ошибке в этой конфигурации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top