Поделиться через


Функциональные подтверждения 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 в обмене, а также коды ошибок, используемые в этих сегментах. Для получения дополнительной информации просмотрите следующую документацию:

Сегменты подтверждения 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, выполните следующие действия.

  1. На портале Azure откройте учетную запись интеграции, а затем откройте артефакт соглашения X12 между своими торговыми партнерами X12.

  2. Откройте область Получение параметров и убедитесь в том, что параметр Ожидается 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 имеет значение 2.
AK 401.2: определяет порядковый номер элементов данных компонента в составной структуре данных, которая содержит ошибку. Когда AK401 сообщает об ошибке в структуре данных, которая не является составной, AK 401.2 не присваивается значение.
— AK 41.3: дополнительный; это поле представляет собой позицию повторяющегося элемента данных. AK41.3 поддерживает входящие подтверждения 5010, совместимые с 997.

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 Принято, но добавлены примечания по ошибкам Да

Примечание. Нет кодов ошибок, которые приводят к присвоению статуса 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 - Нет

Дальнейшие действия