Функциональные подтверждения 997 и коды ошибок для сообщений X12 в Azure Logic Apps.
Область применения: Azure Logic Apps (Потребление + Стандартный)
В Azure Logic Apps можно создавать рабочие процессы, обрабатывающие сообщения Х12 для связи с электронным обменом данными (EDI) при использовании операций Х12. В сообщениях EDI подтверждения отображают состояние обработки обмена данными EDI. При получении обмена действие декодирования Х12 может возвращать один или несколько типов подтверждений отправителю, в зависимости от того, какие типы подтверждений включены, и какой уровень проверки указан.
Например, получатель сообщает о состоянии проверки заголовка функциональной группы (GS) и замыкателя функциональной группы (GE) в полученном сообщении с кодировкой X12, отправляя функциональное подтверждение 997 (ACK) вместе с каждой ошибкой, которая происходит во время обработки. Действие декодирования X12 всегда создает подтверждение 997, совместимое с 4010, а действие кодирования X12 и действие декодирования X12 проверяют подтверждение 997, совместимое с 5010.
Получатель отправляет сообщение подтверждения 997 в заголовок функциональной группы (GS) и в конверт замыкателя функциональной группы (GE). Однако этот конверт GS и GE не отличается от других наборов транзакций.
В этом разделе содержится краткий обзор подтверждения Х12 997, включая сегменты подтверждения 997 в обмене, а также коды ошибок, используемые в этих сегментах. Для получения дополнительной информации просмотрите следующую документацию:
- Технические подтверждения и коды ошибок X12 TA1
- Обмен сообщениями X12 для интеграции с корпоративными решениями B2B
- Обмен сообщениями EDIFACT для интеграции с корпоративными решениями B2B
- Что такое Azure Logic Apps
- Решения для корпоративной интеграции B2B с Azure Logic Apps и пакетом интеграции Enterprise
Сегменты подтверждения 997
В следующей таблице приводится описание сегментов подтверждения 997 в обмене и используются следующие определения:
- М = обязательно
- О = необязательно
Положение | Идентификатор сегмента | Имя | Обязательное обозначение (Обяз. обозн.) |
Максимальное использование | Повтор цикла |
---|---|---|---|---|---|
010 | ST | Заголовок набора транзакций для подтверждения | M | 1 | - |
020 | AK1 | Заголовок ответа функциональной группы | M | 1 | - |
030 | AK2 | Заголовок ответа набора транзакций | O | 1 | 999999 (ИД цикла = AK2) |
040 | AK3 | Примечание к сегменту данных | O | 1 | 999999 (ИД цикла = AK2 или AK3) |
050 | AK4 | Примечание к элементу данных. | O | 9 9 | - |
060 | AK5 | Замыкатель ответа набора транзакций | M | 1 | - |
070 | AK9 | Замыкатель ответа функциональной группы | M | 1 | - |
080 | SE | Замыкатель набора транзакций для подтверждения | M | 1 | - |
В следующих подразделах содержатся дополнительные сведения о каждом сегменте AK. В цикле AK2-AK5 сегменты предоставляют сведения об ошибке вместе с набором транзакций.
AK1
Обязательный сегмент AK1 определяет функциональную группу для подтверждения с помощью следующих элементов данных:
Элемент | Описание |
---|---|
AK101 | Обязательный; определяет идентификатор функциональной группы (GS01), которую необходимо подтвердить. |
AK102 | Обязательный; определяет контрольный номер (GS06 и GE02) для функциональной группы, которую нужно подтвердить. |
AK103 | Дополнительный; определяет версию реализации EDI, отправленную в GS08 из исходной транзакции. AK103 поддерживает входящее подтверждение 997, совместимое с 5010. |
AK2
Дополнительный сегмент AK2 содержит подтверждение для набора транзакций в полученной функциональной группе. Если существует несколько сегментов AK2, они отправляются в виде последовательности циклов. Каждый цикл AK2 определяет набор транзакций, используя полученный заказ. Если набор транзакций содержит ошибку, цикл AK2 содержит сегменты AK3, AK4 и AK5. Дополнительные сведения см. в описаниях сегментов далее в этом разделе.
Сегмент AK2 определяет набор транзакций с помощью следующих элементов данных:
Элемент | Описание |
---|---|
AK201 | Обязательный; определяет идентификатор (ST01) набора транзакций, который необходимо подтвердить. |
AK202 | Обязательный; определяет контрольный номер (ST02 и SE02) набора транзакций, который необходимо подтвердить. |
AK203 | Дополнительный; определяет версию реализации EDI, отправленную в ST03 из исходной транзакции. AK203 поддерживает входящие подтверждения 997, совместимые с 5010. |
Создание сегментов AK2
Можно настроить создание сегментов AK2 для всех принятых и отклоненных наборов транзакций или только для отклоненных наборов транзакций. В противном случае Azure Logic Apps создает циклы AK2 только для отклоненных наборов транзакций. Если соглашение не предусматривает обмен с ответом, то при создании 997 по умолчанию используются параметры резервного соглашения, а сегменты AK2 не создаются для принятых наборов транзакций.
Чтобы Azure Logic Apps создавала сегменты AK2 для принятых наборов транзакций, где AK501 == A, выполните следующие действия.
На портале Azure откройте учетную запись интеграции, а затем откройте артефакт соглашения X12 между своими торговыми партнерами X12.
Откройте область Получение параметров и убедитесь в том, что параметр Ожидается FA отмечен как выбранный. Затем можно выбрать Включить цикл AK2 / IK2.
AK3
Дополнительный сегмент AK3 сообщает об ошибках в сегменте данных и определяет расположение сегмента данных. Сегмент AK3 создается для каждого сегмента в наборе транзакций, который содержит одну или несколько ошибок. Если существует несколько сегментов AK3, они отправляются в виде последовательностей циклов с одним сегментом в каждом цикле. Сегмент AK3 указывает расположение каждого сегмента с ошибкой и сообщает тип синтаксической ошибки, обнаруженной в этом расположении, с помощью следующих элементов данных:
Элемент | Описание |
---|---|
AK301 | Обязательный; идентифицирует сегмент с ошибкой с идентификатором сегмента X12, например NM1. |
AK302 | Обязательный; определяет порядковый номер сегмента с ошибкой. Сегмент ST имеет значение 1 , и каждый сегмент увеличивает порядковый номер сегмента на единицу. |
AK303 | Обязательный, определяет ограниченный цикл, который представляет собой цикл, окруженный сегментом начала цикла (LS) и сегментом конца цикла (LE). AK303 содержит значения сегментов LS и LE, которые ограничивают сегмент с ошибкой. |
AK304 | Дополнительный; указывает код ошибки в сегменте данных. Хотя AK304 является дополнительным, элемент является обязательным, если идентифицированный сегмент содержит ошибку. Для кодов ошибок AK304 просмотрите коды ошибок подтверждения 997 — примечание к сегменту данных. |
AK4
Дополнительный сегмент AK4 сообщает об ошибках в элементе данных или составной структуре данных и определяет расположение элемента данных. Сегмент AK4 отправляется, если элемент данных AK304 имеет значение "8", "Segment has data element errors"
и может повторяться до 99 раз в пределах каждого сегмента AK3. Сегмент AK4 указывает расположение каждого элемента данных или составной структуры данных с ошибкой и сообщает тип синтаксической ошибки, обнаруженной в этом расположении, с помощью следующих элементов данных:
Элемент | Описание |
---|---|
AK401 | Обязательный; составной элемент данных со следующими полями: AK 41.1, AK 41.2 и AK 41.3 — AK 401.1: определяет элемент данных или структуру составных данных с ошибкой, используя порядковый номер. Например, если второй элемент данных в сегменте содержит ошибку, AK401 имеет значение |
AK402 | Дополнительный; определяет простой номер элемента данных X12 с ошибкой. Например, NM101 — это простой элемент данных X12 с номером 98. |
AK403 | Обязательный; сообщает об ошибке идентифицированного элемента. Коды ошибок AK403 приведены в разделе Коды ошибок подтверждения 997 — примечание к сегменту данных. |
AK404 | Дополнительный; содержит копию идентифицированного элемента данных с ошибкой. AK404 не используется, если сообщение об ошибке указывает на недопустимый символ. |
AK5
Сегмент АK5 сообщает, принят или отклонен определенный в сегменте AK2 набор транзакций и почему. Сегмент AK5 является обязательным, если дополнительный цикл AK2 включен в подтверждение. Сегмент AK4 указывает состояние набора транзакций с помощью одного обязательного элемента данных и предоставляет коды ошибок, используя от одного до пяти дополнительных элементов данных путем редактирования синтаксиса набора транзакций.
Элемент | Описание |
---|---|
AK501 | Обязательный; указывает, принят или отклонен идентифицированный набор транзакций. Коды ошибок AK501 приведены в разделе Коды ошибок ACK 997 — замыкатель ответа транзакций. |
AK502 - AK506 | Дополнительные; указывают характер ошибки. Коды ошибок AK502 приведены в разделе Коды ошибок ACK 997 — замыкатель ответа набора транзакций. |
AK9
Обязательный сегмент АK9 сообщает, принята или отклонена определенная в сегменте AK1 функциональная группа и почему. Сегмент AK9 указывает статус набора транзакций и характер любой ошибки с помощью четырех обязательных элементов данных. Сегмент указывает все ошибки с примечаниями, используя от одного до пяти дополнительных элементов.
Элемент | Описание |
---|---|
AK901 | Обязательный; указывает принята или отклонена функциональная группа в сегменте AK1. Коды ошибок AK901 см. в разделе Коды ошибок ACK 997 — замыкатель ответа функциональной группы. |
AK902 | Обязательный; указывает количество наборов транзакций, включенный в замыкатель идентифицированной функциональной группы (GE01). |
AK903 | Обязательный; указывает число полученных наборов транзакций. |
AK904 | Обязательный; указывает число наборов транзакций, принятых в указанной функциональной группе. |
AK905 - AK909 | Дополнительно; указывает от одной до пяти ошибок с примечаниями в идентифицированной функциональной группе. Коды ошибок AK905-AK909 см. в разделе Коды ошибок ACK 997 — замыкатель ответа функциональной группы. |
Коды ошибок подтверждения 997
В этом разделе рассматриваются коды ошибок, используемые в сегментах подтверждения 997. В каждой таблице перечислены поддерживаемые и неподдерживаемые коды ошибок, определенные спецификацией X12 для обработки сообщений X12 в Azure Logic Apps.
Коды ошибок AK304 — примечание к сегменту данных
В следующей таблице перечислены коды ошибок, используемые в элементе данных AK304 сегмента AK3 (примечание к сегменту данных).
Код ошибки | Условие | Поддержка |
---|---|---|
1 | Нераспознанный идентификатор сегмента | Да |
2 | Непредвиденный сегмент | Да |
3 | Отсутствует обязательный сегмент | Да |
4 | Количество выполняемых циклов превышает максимально допустимое | Да |
5 | Количество использований сегмента превышает максимально допустимое | Да |
6 | Сегмент находится не в определенном наборе транзакций | Да |
7 | Сегмент находится в неверной последовательности | Да |
8 | Сегмент содержит ошибки элементов данных | Да |
511 | Обнаружены конечные разделители (пользовательский код) | Да |
Коды ошибок AK403 — примечание к элементу данных
В следующей таблице перечислены коды ошибок, используемые в элементе данных AK403 сегмента AK4 (примечание к сегменту данных).
Код ошибки | Условие | Поддержка |
---|---|---|
1 | Отсутствует обязательный элемент данных | Да |
2 | Отсутствует условный обязательный элемент данных | Да |
3 | Слишком много элементов данных | Да |
4 | Слишком короткий элемент данных | Да |
5 | Слишком длинный элемент данных | Да |
6 | Недопустимый символ в элементе данных | Да |
7 | Недопустимое значение кода | Да |
8 | Недопустимая дата | Да |
9 | Недопустимое время | Да |
10 | Нарушено условие исключения | Да |
Коды ошибок AK501 — замыкатель ответа для набора транзакций
В следующей таблице перечислены коды ошибок, используемые в элементе данных AK501 сегмента AK5 (замыкатель набора транзакций).
Код ошибки | Условие | Поддержка |
---|---|---|
А | Принято | Да |
E | Принято, но добавлены примечания по ошибкам | Да
Примечание. Нет кодов ошибок, которые приводят к присвоению статуса |
M | Отклонено, недопустимый код проверки подлинности сообщения (MAC) | Нет |
P | Частично принято, по крайней мере один набор транзакций отклонен | Да |
R | Отклонено | Да |
W | Отклонено, проверка на допустимость не пройдена | Нет |
X | Отклонено, не удалось проанализировать содержимое после расшифровки | Нет |
Коды ошибок AK502-АК506 — замыкатель ответа для набора транзакций
В следующей таблице перечислены коды ошибок, используемые в элементе данных AK502-АК506 сегмента AK5 (замыкатель набора транзакций).
Код ошибки | Условие | Поддерживается или соотносится с AK501? |
---|---|---|
1 | Набор транзакций не поддерживается | Да, R |
2 | Отсутствует замыкатель набора транзакций | Да, R |
3 | Контрольный номер набора транзакций в заголовке и замыкателе не совпадает | Да, R |
4 | Число включенный сегментов не совпадает с фактическим числом | Да, R |
5 | Один или несколько сегментов содержат ошибки | Да, R |
6 | Отсутствующий или недопустимый идентификатор набора транзакций | Да, R |
7 | Контрольный номер набора транзакций отсутствует или не является допустимым; возможно, обнаружен дублирующийся номер транзакции | Да, R |
8-27 | - | Нет |
Коды ошибок AK901 — трейлер ответов функциональной группы
В следующей таблице перечислены коды ошибок, используемые в элементах данных AK901 сегмента AK9 (замыкатель ответа функциональной группы).
Код ошибки | Условие | Поддерживается или соотносится с AK501? |
---|---|---|
А | Принято | Да |
E | Принято, но добавлены примечания по ошибкам | Да |
M | Отклонено, недопустимый код проверки подлинности сообщения (MAC) | Нет |
P | Частично принято, по крайней мере один набор транзакций отклонен | Да |
R | Отклонено | Да |
W | Отклонено, проверка на допустимость не пройдена | Нет |
X | Отклонено, не удалось проанализировать содержимое после расшифровки | Нет |
Коды ошибок AK905-AK909 — замыкатель ответа функциональной группы
В следующей таблице перечислены коды ошибок, используемые в элементах данных AK905-АК909 сегмента AK9 (замыкатель ответа функциональной группы).
Код ошибки | Условие | Поддерживается или соотносится с AK501? |
---|---|---|
1 | Функциональная группа не поддерживается | Нет |
2 | Версия функциональной группы не поддерживается | Нет |
3 | Отсутствует трейлер функциональной группы | Да |
4 | Контрольный номер группы в заголовке функциональной группы не согласован с контрольным номером в замыкателе функциональной группы | Да |
5 | Количество включенных наборов транзакций не совпадает с фактическим числом | Да |
6 | Контрольный номер группы нарушает синтаксис; возможно, обнаружен дублирующийся контрольный номер группы. | Да |
7-26 | - | Нет |