Приложения Azure Logic ЭДИФАКТ ДЕКОД Разрешить знак подчеркивания (_) в - PullRequest
0 голосов
/ 29 марта 2019

Я использую приложения Azure Logic и учетные записи интеграции для получения сообщений EDIFACT.

Входящее сообщение EDIFACT содержит символ подчеркивания, и проверка EDIFACT DECODE не выполняется с сообщением:

Ошибка при синтаксическом анализе.Транзакция Edifact с идентификатором '1', содержащаяся в группе обмена (без группы) с идентификатором '1', с идентификатором отправителя 'XXX', идентификатором получателя 'XXXXX', приостанавливается со следующими ошибками:

Ошибка: 1(Ошибка уровня поля)

Идентификатор сегмента: BGM

Позиция в TS: 2

Идентификатор элемента данных: XXXX

Положение в сегменте: 3

Позиция в поле: 1

Значение данных: 1_2017-09-2206: 24: 42

21: найден недопустимый символ

Я хочу разрешитьзнак подчеркивания, который следует рассматривать как действительный, примите во внимание любые указатели при решении проблемы.

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

1,5 проблемы. :)

Но первое, что вам нужно сделать, это сообщить руководству, что ваш торговый партнер отправляет недействительный EDIFACT . Если торговый партнер не может решить их проблему, вам придется потратить дополнительное время на решение этой проблемы.

Это не проблема для вас, вашего приложения или BizTalk Server.

EDIFACT поддерживает очень ограниченное количество наборов символов, и "_" не входит ни в один из них.

Либо они решат свою проблему, либо вам придется создать пользовательскую функцию, которая удаляет / изменяет недопустимые символы.

Наконец, проблема .5 в том, что они даже не отправляют полезное значение. Этот формат не является стандартным форматом даты, поэтому для его использования все равно потребуются манипуляции.

0 голосов
/ 30 марта 2019

Все это основано на стандартном наборе символов, см. Здесь , я не помню ни одного, поддерживающего подчеркивание, поэтому в конечном итоге транзакция неверна в соответствии со стандартом EDIFACT, как говорится в сообщении об ошибке.

...