997 reconhecimentos funcionais e códigos de erro para mensagens X12 em Aplicativos Lógicos do Azure
Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)
Nos Aplicativos Lógicos do Azure, você pode criar fluxos de trabalho que manipulam mensagens X12 para comunicação EDI (Intercâmbio Eletrônico de Dados) quando você usa operações X12 . Nas mensagens EDI, as confirmações fornecem o status do processamento de um intercâmbio EDI. Ao receber um intercâmbio, a ação Decodificação X12 pode retornar um ou mais tipos de confirmações ao remetente, com base nos tipos de confirmação habilitados e no nível especificado de validação.
Por exemplo, o recetor relata o status da validação do Functional Group Header (GS) e do Functional Group Trailer (GE) na mensagem recebida codificada em X12 enviando uma confirmação funcional 997 (ACK) juntamente com cada erro que acontece durante o processamento. A ação X12 Decode sempre gera um 997 ACK compatível com 4010, enquanto a ação X12 Encode e a ação X12 Decode podem validar um 997 ACK compatível com 5010.
O recetor envia o 997 ACK dentro de um envelope Functional Group Header (GS) e Functional Group Trailer (GE). No entanto, este envelope GS e GE não é diferente de qualquer outro conjunto de transações.
Este tópico fornece uma breve visão geral sobre o X12 997 ACK, incluindo os segmentos 997 ACK em um intercâmbio e os códigos de erro usados nesses segmentos. Para obter outras informações relacionadas, consulte a seguinte documentação:
- Agradecimentos técnicos e códigos de erro X12 TA1
- Mensagens X12 do Exchange para integração empresarial B2B
- Troque mensagens EDIFACT para integração empresarial B2B
- O que são os Aplicativos Lógicos do Azure
- Soluções de integração empresarial B2B com Aplicações Lógicas do Azure e Pacote de Integração Empresarial
997 segmentos ACK
A tabela a seguir descreve os segmentos ACK 997 em um intercâmbio e usa as seguintes definições:
- M = Obrigatório
- O = Opcional
Position | ID do Segmento | Nome | Designação requerida (Req. Des.) |
Utilização máxima | Repetição de loop |
---|---|---|---|---|---|
010 | ST | Cabeçalho do conjunto de transações, para o reconhecimento | Seg | 1 | - |
020 | AK1 | Cabeçalho de resposta do grupo funcional | Seg | 1 | - |
030 | AK2 | Cabeçalho de resposta do conjunto de transações | O | 1 | 999999 (ID de loop = AK2) |
040 | AK3 | Nota sobre o segmento de dados | O | 1 | 999999 (ID de 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 | Seg | 1 | - |
070 | AK9 | Trailer de resposta do grupo funcional | Seg | 1 | - |
080 | SE | Transaction set Trailer, para agradecimento | Seg | 1 | - |
As seções a seguir fornecem mais informações sobre cada segmento de AK. No loop AK2 a 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 reconhecer utilizando os seguintes elementos de dados:
Elemento | Description |
---|---|
AK101 | Obrigatório, identifica o ID do grupo funcional (GS01) para o grupo funcional reconhecer. |
AK102 | Obrigatório, identifica o número de controle do grupo (GS06 e GE02) para o grupo funcional reconhecer. |
AK103 | Opcional, identifica a versão de implementação EDI enviada no GS08 a partir da transação original. O AK103 suporta um ACK 997 compatível com 5010 de entrada. |
AK2
O segmento AK2 opcional contém uma confirmação para um conjunto de transações no grupo funcional recebido. Se existirem vários segmentos AK2, eles sã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 errado, um loop AK2 contém segmentos AK3, AK4 e AK5. Para obter mais informações, revise as descrições de segmento mais adiante neste tópico.
O segmento AK2 identifica o conjunto de transações usando os seguintes elementos de dados:
Elemento | Description |
---|---|
AK201 | Obrigatório, identifica o ID do conjunto de transações (ST01) do conjunto de transações a ser reconhecido. |
AK202 | Obrigatório, identifica o número de controle do conjunto de transações (ST02 e SE02) do conjunto de transações a ser reconhecido. |
AK203 | Opcional, identifica a versão de implementação EDI enviada no ST03 da transação original. O AK203 suporta 997 compatível com 5010 de entrada. |
Gerar segmentos AK2
Você pode especificar que os segmentos AK2 sejam gerados para todos os conjuntos de transações aceitos e rejeitados ou apenas para conjuntos de transações rejeitados. Caso contrário, os Aplicativos Lógicos do Azure geram loops AK2 somente para 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 997 padrão para as configurações do contrato de fallback e os segmentos AK2 não serão gerados para conjuntos de transações aceitos.
Para que os Aplicativos Lógicos do Azure gerem segmentos AK2 para conjuntos de transações aceitos onde AK501 == A, siga estas etapas:
No portal do Azure, abra sua conta de integração e abra o artefato de contrato X12 entre seus parceiros comerciais X12.
Abra o painel Configurações derecebimento, verifique se FA Esperado aparece selecionado. Em seguida, você pode selecionar Incluir AK2 / IK2 Loop.
AK3
O segmento AK3 opcional relata erros em um segmento de dados e identifica a localização do segmento de dados. Um segmento AK3 é criado para cada segmento em um conjunto de transações que tem um ou mais erros. Se existirem vários segmentos AK3, eles são enviados como uma série de loops com um segmento por loop. O segmento AK3 especifica a localização de cada segmento em erro e relata o tipo de erro sintático encontrado nesse local usando os seguintes elementos de dados:
Elemento | Description |
---|---|
AK301 | Obrigatório, identifica o segmento em erro com o ID do segmento X12, por exemplo, NM1. |
AK302 | Obrigatório, identifica a contagem de segmentos do segmento em 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 cercado por um segmento Loop Start (LS) e um segmento Loop End (LE). AK303 contém os valores dos segmentos LS e LE que ligaram o segmento por engano. |
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 AK304, revise os códigos de erro 997 ACK - Data Segment Note. |
AK4
O segmento AK4 opcional relata erros em um elemento de dados ou estrutura de dados composta 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 dentro de cada segmento AK3. O segmento AK4 especifica a localização de cada elemento de dados ou estrutura de dados composta em erro e relata o tipo de erro sintático encontrado nesse local usando os seguintes elementos de dados:
Elemento | Description |
---|---|
AK401 | Obrigatório, um elemento de dados composto com os seguintes campos: AK41.1, AK41.2 e AK41.3 - AK401.1: Identifica o elemento de dados ou a estrutura de dados composta em erro usando sua contagem numérica. Por exemplo, se o segundo elemento de dados no segmento tiver um erro, AK401 será |
AK402 | Opcional, identifica o número do elemento de dados X12 simples do elemento em erro. Por exemplo, NM101 é o simples elemento de dados X12 número 98. |
AK403 | Obrigatório, relata o erro do elemento identificado. Para códigos de erro AK403, revise os códigos de erro 997 ACK - Data Element Note. |
AK404 | Opcional, contém uma cópia do elemento de dados identificado por erro. AK404 não é usado se o erro indicar um caractere inválido. |
AK5
O segmento AK5 informa se o conjunto de transações identificado no segmento AK2 é aceito ou rejeitado e por quê. O segmento AK5 é obrigatório quando o loop AK2 opcional é incluído no reconhecimento. 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 de sintaxe do conjunto de transações.
Elemento | Description |
---|---|
AK501 | Obrigatório, especifica se o conjunto de transações identificado é aceito ou rejeitado. Para obter os códigos de erro AK501, revise os códigos de erro 997 ACK - Transaction Response Trailer. |
AK502 - AK506 | Opcional, indique a natureza do erro. Para códigos de erro AK502, revise os códigos de erro 997 ACK - Transaction set Response Trailer. |
AK9
O segmento AK9 obrigatório indica se o grupo funcional identificado no segmento AK1 é aceite ou rejeitado e porquê. 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 quaisquer erros observados usando entre um a cinco elementos opcionais.
Elemento | Description |
---|---|
AK901 | Obrigatório, especifica se o grupo funcional identificado na AK1 é aceite ou rejeitado. Para obter os códigos de erro AK901, revise os códigos de erro 997 ACK - Functional Group Response Trailer. |
AK902 | Obrigatório, especifica o número de conjuntos de transações incluídos no reboque do grupo funcional identificado (GE01). |
AK903 | Obrigatório, especifica o número de conjuntos de transações 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 obter os códigos de erro AK905 a AK909, revise os códigos de erro ACK 997 - Trailer de resposta de grupo funcional. |
997 Códigos de erro ACK
Esta seção aborda os códigos de erro usados em 997 segmentos ACK. Cada tabela lista os códigos de erro com e sem suporte, conforme definido pela especificação X12, para processamento de mensagens X12 em Aplicativos Lógicos do Azure.
Códigos de erro AK304 - Nota de segmento de dados
A tabela a seguir lista os códigos de erro usados no elemento de dados AK304 do segmento AK3 (Nota do segmento de dados):
Código de erro | Condição | Suportado? |
---|---|---|
1 | ID de segmento não reconhecido | Sim |
2 | Segmento inesperado | Sim |
3 | Segmento obrigatório em falta | Sim |
4 | O loop ocorre em tempos máximos | Sim |
5 | Segmento excede o uso máximo | Sim |
6 | Segmento não definido no conjunto de transações | Sim |
7 | Segmento não na sequência adequada | Sim |
8 | Segmento tem erros de elemento de dados | Sim |
511 | Separadores à direita encontrados (código personalizado) | Sim |
Códigos de erro AK403 - Nota do elemento de dados
A tabela a seguir lista os códigos de erro usados no elemento de dados AK403 do segmento AK4 (Data Element Note):
Código de erro | Condição | Suportado? |
---|---|---|
1 | Elemento de dados obrigatórios em falta | Sim |
2 | Elemento de dados condicional necessário ausente | Sim |
3 | Demasiados 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 | Tempo inválido | Sim |
10 | Condição de exclusão violada | Sim |
Códigos de erro 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 (Transaction set Response Trailer):
Código de erro | Condição | Suportado? |
---|---|---|
A | Aceite | Sim |
E | Aceite, mas foram detetados erros | Sim
Nota: Nenhum código de erro leva a um status de |
Seg | 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 |
Qua | Rejeitado, garantia falhou nos testes de validade | Não |
X | Rejeitado, o conteúdo após a desencriptação não pôde ser analisado | Não |
Códigos de erro AK502 para AK506 - Transaction set Response Trailer
A tabela a seguir lista os códigos de erro usados nos elementos de dados AK502 a AK506 do segmento AK5 (Transaction set Response Trailer):
Código de erro | Condição | Suportado ou correlacionado com AK501? |
---|---|---|
1 | Conjunto de transações não suportado | Sim, R |
2 | Trailer do conjunto de transações ausente | Sim, R |
3 | O número de controle do conjunto de transações no cabeçalho e no reboque não corresponde | Sim, R |
4 | O número de segmentos incluídos não corresponde à contagem real | Sim, R |
5 | Um ou mais segmentos em erro | Sim, R |
6 | Identificador de conjunto de transações ausente ou inválido | Sim, R |
7 | Número de controle do conjunto de transações ausente ou inválido, um número de transação duplicado pode ter ocorrido | Sim, R |
8 a 27 | - | Não |
Códigos de erro AK901 - Trailer de resposta de 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 de erro | Condição | Suportado ou correlacionado com AK501? |
---|---|---|
A | Aceite | Sim |
E | Aceito, mas erros foram notados | Sim |
Seg | 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 |
Qua | Rejeitado, garantia falhou nos testes de validade | Não |
X | Rejeitado, o conteúdo após a desencriptação não pôde ser analisado | Não |
Códigos de erro AK905 para 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 (Functional Group Response Trailer):
Código de erro | Condição | Suportado ou correlacionado com AK501? |
---|---|---|
1 | Grupo funcional não suportado | Não |
2 | Versão do grupo funcional não suportada | Não |
3 | Reboque de grupo funcional ausente | Sim |
4 | Número de controle de grupo no cabeçalho e reboque do grupo funcional não concordam | Sim |
5 | O número de conjuntos de transações incluídos não corresponde à contagem real | Sim |
6 | Número de controle de grupo viola a sintaxe, um número de controle de grupo duplicado pode ter ocorrido | Sim |
7 a 26 anos | - | Não |