Confirmações funcionais 997 e códigos de erro para mensagens X12 nos Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Standard)

Nos Aplicativos Lógicos do Azure, você pode criar fluxos de trabalho que lidam com mensagens X12 para comunicação EDI (intercâmbio eletrônico de dados) ao usar operações X12. No sistema de mensagens EDI, as confirmações apresentam o status do processamento de um intercâmbio EDI. Ao receber um intercâmbio, a ação de Decodificação X12 pode retornar um ou mais tipos de confirmações para o remetente, com base em quais tipos de confirmação estão habilitados e no nível de validação especificado.

Por exemplo, o destinatário relata o status de validação do Cabeçalho de grupo funcional (GS) e do Trailer de grupo funcional (GE) na mensagem codificada por X12 recebida, enviando uma confirmação funcional 997 (ACK) junto com cada erro que ocorre durante o processamento. A ação de Decodificação de X12 sempre gera um ACK 997 em conformidade com 4010, enquanto tanto a ação de Codificação quanto a ação de Decodificação de X12 podem validar um ACK 997 em conformidade com 5010.

O receptor envia a ACK 997 dentro de um envelope de Cabeçalho de grupo funcional (GS) e de um Trailer de grupo funcional (GE). No entanto, esse envelope de GS e GE não é diferente de qualquer outro conjunto de transações.

Este tópico apresenta uma breve visão geral sobre o ACK 997 para X12, incluindo os segmentos de ACK 997 em um intercâmbio e os códigos de erro usados nesses segmentos. Para obter outras informações relacionadas, consulte a seguinte documentação:

Segmentos de ACK 997

A tabela a seguir descreve os segmentos do ACK 997 em um intercâmbio e usa as seguintes definições:

  • M = Obrigatório
  • O = Opcional
Posição Id do Segmento Nome Designação necessária
(Des. nes.)
Uso máximo Repetição de loop
010 ST Cabeçalho do conjunto de transações para a confirmação M 1 -
020 AK1 Cabeçalho de resposta do grupo funcional M 1 -
030 AK2 Cabeçalho de resposta do conjunto de transações O 1 999999
(ID do loop = AK2)
040 AK3 Observação do segmento de dados O 1 999999
(ID do loop = AK2 ou AK3)
050 AK4 Observação do elemento de dados O 9 9 -
060 AK5 Trailer de resposta do conjunto de transações M 1 -
070 AK9 Trailer de resposta do grupo funcional M 1 -
080 SE Trailer do conjunto de transações para a confirmação M 1 -

As seções a seguir fornecem mais informações sobre cada segmento AK. No loop AK2 para AK5, os segmentos fornecem informações sobre um erro com um conjunto de transações.

AK1

O segmento AK1 obrigatório identifica o grupo funcional a ser confirmado usando os seguintes elementos de dados:

Elemento Descrição
AK101 Obrigatório, identifica a ID do grupo funcional (GS01) para o grupo funcional confirmar.
AK102 Obrigatório, identifica o número do controle do grupo (GS06 e GE02) para o grupo funcional confirmar.
AK103 Opcional, identifica a versão de implementação do EDI enviada no GS08 da transação original. O AK103 dá suporte a uma ACK 997 em conformidade com 5010 de entrada.

AK2

O segmento opcional AK2 contém uma confirmação para um conjunto de transações no grupo funcional recebido. Se existirem vários segmentos AK2, eles serão enviados como uma série de loops. Cada loop AK2 identifica um conjunto de transações usando a ordem recebida. Se um conjunto de transações estiver em erro, um loop AK2 conterá os segmentos AK3, AK4 e AK5. Para obter mais informações, revise a descrição dos segmentos mias adiante neste tópico.

O segmento AK2 identifica o conjunto de transações usando os seguintes elementos de dados:

Elemento Descrição
AK201 Obrigatório, identifica a ID (ST01) do conjunto de transações a ser confirmado.
AK202 Obrigatório, identifica o número de controle (ST02 e SE02) do conjunto de transações a ser confirmado.
AK203 Opcional, identifica a versão de implementação do EDI enviada no ST03 da transação original. O AK203 dá suporte ao 997 em conformidade com 5010 de entrada.

Gerar segmentos AK2

É possível especificar que os segmentos AK2 sejam gerados para todos os conjuntos de transações aceitos e rejeitados, ou apenas para os conjuntos de transações rejeitados. Caso contrário, os Aplicativos Lógicos do Azure gerará loops AK2 somente para os conjuntos de transações rejeitados. Se um contrato não for resolvido para o intercâmbio que está sendo respondido, as configurações de geração do 997 usarão como padrão as configurações do contrato de fallback, e os segmentos AK2 não serão gerados para os conjuntos de transações aceitos.

Para que os Aplicativos Lógicos do Azure gerem segmentos AK2 para os conjuntos de transações aceitos em que AK501 == A, siga as seguintes etapas:

  1. No portal do Azure, abra sua conta de integração e, em seguida, abra o artefato do contrato X12 entre seus parceiros comerciais de X12.

  2. Abra o painel Configurações de recebimento, e certifique-se de que a opção FA esperado esteja selecionada. Você pode selecionar a opção Incluir loop AK2 / IK2.

AK3

O segmento opcional AK3 relata erros em um segmento de dados e identifica o local desse segmento. Um segmento AK3 é criado para cada segmento em um conjunto de transações que tenha um erro ou mais. Se existirem vários segmentos AK3, eles serão enviados como uma série de loops, com um segmento por loop. O segmento AK3 especifica o local de cada segmento com erro e relata o tipo de erro sintático encontrado nesse local usando os seguintes elementos de dados:

Elemento Descrição
AK301 Obrigatório, identifica o segmento com erro com a ID do segmento X12, por exemplo, NM1.
AK302 Obrigatório, identifica a contagem de segmentos do segmento com erro. O segmento ST é 1, e cada segmento incrementa a contagem de segmentos em um.
AK303 Obrigatório. Identifica um loop limitado, que é um loop rodeado por um segmento de Início de Loop (LS) e um segmento de Término de Loop (LE). O AK303 contém os valores dos segmentos LS e LE que ligam o segmento com erro.
AK304 Opcional, especifica o código para o erro no segmento de dados. Embora o AK304 seja opcional, o elemento é necessário quando existe um erro para o segmento identificado. Para códigos de erro do AK304, revise os Códigos de erro do ACK 997 - Observação do segmento de dados.

AK4

O segmento opcional AK4 relata erros em um elemento de dados ou em uma estrutura de dados compostos, e identifica o local do elemento de dados. Um segmento AK4 é enviado quando o elemento de dados AK304 é "8", "Segment has data element errors", e pode repetir até 99 vezes em cada segmento de AK3. O segmento AK4 especifica o local de cada elemento de dado ou estrutura de dados compostos com erro, e relata o tipo de erro sintático encontrado nesse local usando os seguintes elementos de dados:

Elemento Descrição
AK401 Obrigatório, um elemento de dados compostos com os seguintes campos: AK 41.1, AK 41.2 e AK 41.3

-AK 401.1: identifica o elemento de dados ou a estrutura de dados compostos com erro usando sua contagem numérica. Por exemplo, se o segundo elemento de dados no segmento tiver um erro, o AK401 será igual a 2.
AK 401.2: identifica a contagem numérica do elemento de dados do componente em uma estrutura de dados compostos que tenha um erro. Quando o AK401 relata um erro em uma estrutura de dados que não sejam compostos, o AK 401.2 não possui valor.
- AK 41.3: opcional, esse campo é a posição repetida do elemento de dados. O AK41.3 dá suporte a 5010 em conformidade com 997 de entrada.

AK402 Opcional, identifica o número simples do elemento de dados X12 do elemento com erro. Por exemplo, NM101 é o elemento de dados X12 simples número 98.
AK403 Obrigatório, relata o erro do elemento identificado. Para códigos de erro do AK403, revise os Códigos de erro do ACK 997 - Observação do elemento de dados.
AK404 Opcional, contém uma cópia do elemento de dados identificado com erro. O AK404 não será usado se o erro indicar um caractere inválido.

AK5

O segmento AK5 relata se o conjunto de transações identificado no segmento AK2 foi aceito ou rejeitado, e por quê. O segmento AK5 é obrigatório quando o loop opcional AK2 estiver incluído na confirmação. O segmento AK4 especifica o status do conjunto de transações usando um único elemento de dados obrigatório, e fornece códigos de erro usando entre um a cinco elementos de dados opcionais com base na edição da sintaxe do conjunto de transações.

Elemento Descrição
AK501 Obrigatório, especifica se o conjunto de transações identificado é aceito ou rejeitado. Para códigos de erro do AK501, revise os Códigos de erro do ACK 997 - Trailer de resposta da transação.
AK502 - AK506 Opcional, indica a natureza do erro. Para códigos de erro do AK502, revise os Códigos de erro do ACK 997 - Trailer de resposta do conjunto de transações.

AK9

O segmento obrigatório AK9 indica se o grupo funcional identificado no segmento AK1 foi aceito ou rejeitado, e por quê. O segmento AK9 especifica o status do conjunto de transações e a natureza de qualquer erro usando quatro elementos de dados obrigatórios. O segmento especifica os erros observados usando entre um e cinco elementos opcionais.

Elemento Descrição
AK901 Obrigatório, especifica se o grupo funcional identificado no segmento AK1 foi aceito ou rejeitado. Para códigos de erro do AK901, revise os Códigos de erro do ACK 997 - Trailer de resposta do grupo funcional.
AK902 Obrigatório, especifica o número de conjuntos de transações incluídos no trailer do grupo funcional identificado (GE01).
AK903 Obrigatório, especifica o número de conjuntos de transação recebidos.
AK904 Obrigatório, especifica o número de conjuntos de transações aceitos no grupo funcional identificado.
AK905 - AK909 Opcional, indica de um a cinco erros observados no grupo funcional identificado. Para os códigos de erro do AK905 ao AK909, revise os Códigos de erro do ACK 997 - Trailer de resposta do grupo funcional.

Códigos de erro do ACK 997

Esta seção aborda os códigos de erro usados nos segmentos de ACK 997. Cada tabela a seguir lista os códigos de erro com e sem suporte, conforme definido pela especificação X12 para processamento de mensagens X12 nos Aplicativos Lógicos do Azure.

Códigos de erro do AK304 - Observação do segmento de dados

A tabela a seguir lista os códigos de erro usados no elemento de dados AK304 do segmento AK3 (Observação do segmento de dados):

Código do erro Condição Com suporte?
1 ID do segmento não reconhecida Sim
2 Segmento inesperado Sim
3 Segmento obrigatório ausente Sim
4 O loop ocorre em tempos máximos Sim
5 O segmento excede o uso máximo Sim
6 O segmento não está no conjunto de transações definido Sim
7 O segmento não está na sequência adequada Sim
8 O segmento tem erros de elemento de dados Sim
511 Encontrados separadores à direita (código personalizado) Sim

Códigos de erro do AK403 – Observação do elemento de dados

A tabela a seguir lista os códigos de erro usados no elemento de dados AK403 do segmento AK4 (Observação do segmento de dados):

Código do erro Condição Com suporte?
1 Elemento de dados obrigatório ausente Sim
2 Elemento de dados necessário condicional ausente Sim
3 Muitos elementos de dados Sim
4 O elemento de dados é muito curto Sim
5 O elemento de dados é muito longo Sim
6 Caractere inválido no elemento de dados Sim
7 Valor de código inválido Sim
8 Data inválida Sim
9 Horário inválido Sim
10 Condição de exclusão violada Sim

Códigos de erro do AK501 - Trailer de resposta do conjunto de transações

A tabela a seguir lista os códigos de erro usados no elemento de dados AK501 do segmento AK5 (Trailer de resposta do conjunto de transações):

Código do erro Condição Com suporte?
A Aceito Sim
E Aceito, mas foram observados erros Sim

Observação: nenhum código de erro conduz a um status de E.

M Rejeitado, falha no código de autenticação de mensagem (MAC) Não
P Parcialmente aceito, pelo menos um conjunto de transações foi rejeitado Sim
R Rejeitado Sim
W Rejeitado, testes de validade com falha de garantia Não
X Rejeitado, o conteúdo após a descriptografia não pôde ser analisado Não

Códigos de erro de AK502 a AK506 - Trailer de resposta do conjunto de transações

A tabela a seguir lista os códigos de erro usados no elemento de dados AK502 a AK506 do segmento AK5 (Trailer de resposta do conjunto de transações):

Código do erro Condição Com suporte ou
correlacionado com AK501?
1 Conjunto de transações sem suporte Sim, R
2 O trailer do conjunto de transações está ausente Sim, R
3 O número de controle do conjunto de transações no cabeçalho e no trailer não coincidem Sim, R
4 O número de segmentos incluídos não corresponde à contagem real Sim, R
5 Um ou mais segmentos com erro Sim, R
6 Identificador do conjunto de transações ausente ou inválido Sim, R
7 Número de controle do conjunto de transações ausente ou inválido, pode ter ocorrido um número de transação duplicado Sim, R
8 a 27 - Não

Códigos de erro AK901 – Trailer de Resposta do Grupo Funcional

A tabela a seguir lista os códigos de erro usados nos elementos de dados AK901 do segmento AK9 (Trailer de Resposta de Grupo Funcional):

Código do erro Condição Com suporte ou
correlacionado com AK501?
A Aceito Sim
E Aceito, mas foram observados erros Sim
M Rejeitado, falha no código de autenticação de mensagem (MAC) Não
P Parcialmente aceito, pelo menos um conjunto de transações foi rejeitado Sim
R Rejeitado Sim
W Rejeitado, testes de validade com falha de garantia Não
X Rejeitado, o conteúdo após a descriptografia não pôde ser analisado Não

Códigos de erro AK905 a AK909 – Trailer de Resposta do Grupo Funcional

A tabela a seguir lista os códigos de erro usados nos elementos de dados AK905 a AK909 do segmento AK9 (Trailer de Resposta de Grupo Funcional):

Código do erro Condição Com suporte ou
correlacionado com AK501?
1 Não há suporte para o grupo funcional Não
2 Não há suporte para a versão do grupo funcional Não
3 Trailer do grupo funcional ausente Sim
4 O número de controle de grupo no cabeçalho do grupo funcional e no trailer não estão de acordo Sim
5 O número de conjuntos de transações incluídos não é igual à contagem real Sim
6 O número de controle de grupo viola a sintaxe, pode ter ocorrido um número de controle de grupo duplicado Sim
7 a 26 - Não

Próximas etapas