Мы отправляем данные через MQ из системы z / OS / CICS в AS400.
Исходная кодировка сообщения - CCSID 500 с форматом MQSTR. Клиентское приложение получает сообщение с опцией CONVERT и 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). Это может указывать на ошибку в этой конфигурации.
Похожие вопросы
Новые вопросы
data-structures
Структура данных - это способ организации данных таким образом, который позволяет эффективно запрашивать и / или обновлять конкретные свойства этих данных.