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:
- Confirmações técnicas e códigos de erro do X12 TA1
- Troca de mensagens X12 para integração corporativa B2B
- Troca de mensagens EDIFACT para integração corporativa B2B
- O que são Aplicativos Lógicos do Azure
- Soluções de integração empresarial corporativa B2B com Aplicativos Lógicos do Azure e o Enterprise Integration Pack
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:
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.
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 |
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 |
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 |