Использование ссылки на поле в UDP в IIB - PullRequest
0 голосов
/ 24 апреля 2020

Я устанавливаю ссылку на поле как значение для UDP. см. Изображение . Я хотел ссылаться на значение по этому пути во время выполнения. Попытка извлечения значения с использованием «{}», но, похоже, «{}» не может разрешить путь, указанный в точках. Второй раз пытался получить значение с помощью функции Eval. Застрял и здесь, поскольку Eval выдает исключение, если мой ввод содержит нечетное количество символов см. Сообщение об ошибке SET chrValue = EVAL (LocalTxnID); Пожалуйста, решите, как читать ввод, который является ссылкой в ​​UDP во время выполнения. Почему вышеуказанные методы не работают

1 Ответ

0 голосов
/ 24 апреля 2020

Похоже, что эти значения UDP для кода регистрации. Я вижу «Глобальный идентификатор транзакции», «Идентификатор родительской транзакции» и «Идентификатор локальной транзакции». Но в МИБ есть встроенные средства для публикации сообщений с этими полями (https://www.ibm.com/support/knowledgecenter/en/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ac37860_.html). Есть ли причина, по которой вы не используете эти функции?

Попытка извлечения значения с использованием '{}', но похоже, что {{} 'не может разрешить путь, указанный в точках.

Правильно. Синтаксис {} применяется к одному выражению NameExpression. Вы не можете использовать его для навигации по нескольким сегментам пути.

Eval вызывает исключение, если мой ввод содержит нечетное количество символов

Исключение сообщает о недопустимом литерале BLOB. Это кажется очень странной ошибкой для EVAL. Убедитесь, что вы указали правильную ошибку, а также укажите точную строку, полученную EVAL (при необходимости выполните трассировку пользователя с помощью mqsichangetrace, mqsireadlog, mqsiformatlog).

...