997 confirmações funcionais e códigos de erro para mensagens X12 no Azure Logic Apps
Aplica-se a: Azure Logic Apps (Consumo + Standard)
No Azure Logic Apps, pode criar fluxos de trabalho que processam mensagens X12 para comunicação EDI (Electronic Data Interchange) quando utiliza operações X12 . Nas mensagens EDI, os reconhecimentos fornecem o estado do processamento de um intercâmbio EDI. Ao receber um intercâmbio, a ação Descodificar X12 pode devolver um ou mais tipos de reconhecimentos ao remetente, com base nos tipos de reconhecimento que estão ativados e no nível de validação especificado.
Por exemplo, o recetor comunica o estado da validação do Cabeçalho de Grupo Funcional (GS) e do Trailer de Grupo Funcional (GE) na mensagem codificada X12 recebida ao enviar uma confirmação funcional 997 (ACK) juntamente com cada erro que ocorre durante o processamento. A ação Descodificar X12 gera sempre uma ACK 997 compatível com 4010, enquanto a ação Codificação X12 e a ação Descodificar X12 podem validar um 997 ACK compatível com 5010.
O recetor envia o 997 ACK dentro de um envelope GS (Functional Group Header) 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 descrição geral sobre o X12 997 ACK, incluindo os segmentos 997 ACK num intercâmbio e os códigos de erro utilizados nesses segmentos. Para obter outras informações relacionadas, reveja a seguinte documentação:
- X12 TA1 technical acknowledgments and error codes (Reconhecimentos técnicos e códigos de erro X12 TA1)
- Mensagens do Exchange X12 para integração empresarial B2B
- Mensagens EDIFACT do Exchange para integração empresarial B2B
- O que é o Azure Logic Apps
- Soluções de integração empresarial B2B com o Azure Logic Apps e o Enterprise Integration Pack
997 Segmentos ACK
A tabela seguinte descreve os segmentos 997 ACK num intercâmbio e utiliza as seguintes definições:
- M = Obrigatório
- O = Opcional
Posição | ID do Segmento | Name | Designação necessária (Req. Des.) |
Utilização máxima | Repetição do ciclo |
---|---|---|---|---|---|
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 Ciclo = AK2) |
040 | AK3 | Nota do Segmento de Dados | O | 1 | 999999 (ID do Ciclo = AK2 ou AK3) |
050 | AK4 | Nota do Elemento de Dados | O | 9 9 | - |
060 | AK5 | Trailer de Resposta do Conjunto de Transações | M | 1 | - |
070 | AK9 | Trailer de Resposta de Grupo Funcional | M | 1 | - |
080 | SE | Trailer do Conjunto de Transações, para a confirmação | M | 1 | - |
As secções seguintes fornecem mais informações sobre cada segmento AK. No ciclo 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 com os seguintes elementos de dados:
Elemento | Descrição |
---|---|
AK101 | Obrigatório, identifica o ID de grupo funcional (GS01) que o grupo funcional reconhece. |
AK102 | Obrigatório, identifica o número de controlo de grupo (GS06 e GE02) para o grupo funcional reconhecer. |
AK103 | Opcional, identifica a versão de implementação do EDI enviada no GS08 a partir da transação original. O AK103 suporta uma ACK 997 compatível com 5010 de entrada. |
AK2
O segmento AK2 opcional contém uma confirmação de um conjunto de transações no grupo funcional recebido. Se existirem vários segmentos AK2, estes são enviados como uma série de ciclos. Cada ciclo AK2 identifica um conjunto de transações com a encomenda recebida. Se um conjunto de transações estiver em erro, um ciclo AK2 contém os segmentos AK3, AK4 e AK5. Para obter mais informações, reveja as descrições do segmento mais adiante neste tópico.
O segmento AK2 identifica o conjunto de transações com os seguintes elementos de dados:
Elemento | Descrição |
---|---|
AK201 | Obrigatório, identifica o ID do conjunto de transações (ST01) do conjunto de transações a reconhecer. |
AK202 | Obrigatório, identifica o número de controlo do conjunto de transações (ST02 e SE02) do conjunto de transações a reconhecer. |
AK203 | Opcional, identifica a versão de implementação do EDI enviada no ST03 da transação original. O AK203 suporta o 997 compatível com 5010 de entrada. |
Gerar segmentos do AK2
Pode especificar que os segmentos do AK2 são gerados para todos os conjuntos de transações aceites e rejeitados ou apenas para conjuntos de transações rejeitados. Caso contrário, o Azure Logic Apps gera ciclos do AK2 apenas para conjuntos de transações rejeitados. Se um contrato não resolver o intercâmbio a que está a ser respondido, as definições de geração 997 são predefinidas para as definições do contrato de contingência e os segmentos do AK2 não são gerados para conjuntos de transações aceites.
Para que o Azure Logic Apps gere segmentos AK2 para conjuntos de transações aceites em que AK501 == A, siga estes passos:
No portal do Azure, abra a sua conta de integração e, em seguida, abra o artefacto do contrato X12 entre os seus parceiros comerciais X12.
Abra o painel Definições de Receção e certifique-se de que FA Esperado aparece selecionado. Em seguida, pode selecionar Incluir Ciclo AK2/IK2.
AK3
O segmento AK3 opcional comunica erros num segmento de dados e identifica a localização do segmento de dados. É criado um segmento AK3 para cada segmento num conjunto de transações que tem um ou mais erros. Se existirem múltiplos segmentos do AK3, estes são enviados como uma série de ciclos com um segmento por ciclo. O segmento AK3 especifica a localização de cada segmento em erro e comunica o tipo de erro sintático encontrado nessa localização com os seguintes elementos de dados:
Elemento | Descrição |
---|---|
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 por um. |
AK303 | Obrigatório, identifica um ciclo vinculado, que é um ciclo rodeado por um segmento Loop Start (LS) e um segmento Loop End (LE). O AK303 contém os valores dos segmentos LS e LE que vinculam o segmento ao 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, veja 997 Códigos de erro ACK – Nota do Segmento de Dados. |
AK4
O segmento AK4 opcional comunica erros num elemento de dados ou numa estrutura de dados composta e identifica a localização 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 AK3. O segmento AK4 especifica a localização de cada elemento de dados ou estrutura de dados composta em erro e comunica o tipo de erro sintático encontrado nessa localização com os seguintes elementos de dados:
Elemento | Descrição |
---|---|
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 por engano com a respetiva contagem numérica. Por exemplo, se o segundo elemento de dados no segmento tiver um erro, a AK401 é igual |
AK402 | Opcional, identifica o número de elemento de dados X12 simples do elemento em erro. Por exemplo, NM101 é o elemento de dados X12 simples número 98. |
AK403 | Obrigatório, comunica o erro do elemento identificado. Para códigos de erro AK403, veja 997 Códigos de erro ACK – Nota do Elemento de Dados. |
AK404 | Opcional, contém uma cópia do elemento de dados identificado em erro. O AK404 não é utilizado se o erro indicar um caráter inválido. |
AK5
O segmento AK5 comunica se o conjunto de transações identificado no segmento AK2 é aceite ou rejeitado e porquê. O segmento AK5 é obrigatório quando o ciclo opcional do AK2 é incluído na confirmação. O segmento AK4 especifica o estado do conjunto de transações com um único elemento de dados obrigatório e fornece códigos de erro que utilizam 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 é aceite ou rejeitado. Para os códigos de erro do AK501, veja Códigos de erro ACK 997 – Trailer de Resposta a Transações. |
AK502 - AK506 | Opcional, indique a natureza do erro. Para códigos de erro AK502, veja Códigos de erro ACK 997 – Trailer de Resposta do Conjunto de Transações. |
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 estado do conjunto de transações e a natureza de qualquer erro ao utilizar quatro elementos de dados obrigatórios. O segmento especifica quaisquer erros anotados ao utilizar entre um a cinco elementos opcionais.
Elemento | Descrição |
---|---|
AK901 | Obrigatório, especifica se o grupo funcional identificado no AK1 é aceite ou rejeitado. Para os códigos de erro do AK901, veja Códigos de erro ACK 997 – Trailer de Resposta a Grupo Funcional. |
AK902 | Obrigatório, especifica o número de conjuntos de transações incluídos no trailer de 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 aceites no grupo funcional identificado. |
AK905 - AK909 | Opcional, indica de um a cinco erros anotados no grupo funcional identificado. Para códigos de erro AK905 a AK909, veja Códigos de erro ACK 997 – Trailer de Resposta do Grupo Funcional. |
997 Códigos de erro ACK
Esta secção abrange os códigos de erro utilizados em segmentos ACK 997. Cada tabela lista os códigos de erro suportados e não suportados, conforme definido pela especificação X12, para processamento de mensagens X12 no Azure Logic Apps.
Códigos de erro do AK304 – Nota do Segmento de Dados
A tabela seguinte lista os códigos de erro utilizados no elemento de dados AK304 do segmento AK3 (Nota do Segmento de Dados):
Código de erro | Condição | Suportada? |
---|---|---|
1 | ID de segmento não reconhecido | Yes |
2 | Segmento inesperado | Yes |
3 | Segmento obrigatório em falta | Yes |
4 | O ciclo ocorre ao longo dos tempos máximos | Yes |
5 | O segmento excede a utilização máxima | Yes |
6 | Segmento não no conjunto de transações definido | Yes |
7 | Segmento não em sequência adequada | Yes |
8 | O segmento tem erros de elementos de dados | Yes |
511 | Separadores à direita encontrados (código personalizado) | Yes |
Códigos de erro do AK403 – Nota do Elemento de Dados
A tabela seguinte lista os códigos de erro utilizados no elemento de dados AK403 do segmento AK4 (Nota do Elemento de Dados):
Código de erro | Condição | Suportada? |
---|---|---|
1 | Elemento de dados obrigatório em falta | Yes |
2 | Elemento de dados obrigatório condicional em falta | Yes |
3 | Demasiados elementos de dados | Yes |
4 | O elemento de dados é demasiado curto | Yes |
5 | O elemento de dados é demasiado longo | Yes |
6 | Caráter inválido no elemento de dados | Yes |
7 | Valor de código inválido | Yes |
8 | Data inválida | Yes |
9 | Hora inválida | Yes |
10 | Condição de exclusão violada | Yes |
Códigos de erro do AK501 – Trailer de Resposta do Conjunto de Transações
A tabela seguinte lista os códigos de erro utilizados no elemento de dados AK501 do segmento AK5 (Transaction Set Response Trailer):
Código de erro | Condição | Suportada? |
---|---|---|
A | Aceite | Yes |
E | Aceite, mas foram anotados erros | Yes
Nota: nenhum código de erro leva a um estado de |
M | Rejeitado, o código de autenticação de mensagens (MAC) falhou | No |
P | Parcialmente aceite, pelo menos um conjunto de transações foi rejeitado | Yes |
R | Rejeitado | Yes |
W | Rejeitado, testes de validade com falha de garantia | No |
X | Rejeitado, não foi possível analisar o conteúdo após a desencriptação | No |
Códigos de erro AK502 para AK506 – Trailer de Resposta do Conjunto de Transações
A tabela seguinte lista os códigos de erro utilizados nos elementos de dados AK502 para AK506 do segmento AK5 (Transaction Set Response Trailer):
Código de erro | Condição | Suportado ou correlacionado com a AK501? |
---|---|---|
1 | Conjunto de transações não suportado | Sim, R |
2 | Trailer do conjunto de transações em falta | Sim, R |
3 | O número de controlo do conjunto de transações no cabeçalho e no trailer não corresponde | Sim, R |
4 | O número de segmentos incluídos não corresponde à contagem real | Sim, R |
5 | Erro de um ou mais segmentos | Sim, R |
6 | Identificador do conjunto de transações em falta ou inválido | Sim, R |
7 | Número de controlo do conjunto de transações em falta ou inválido, pode ter ocorrido um número de transação duplicado | Sim, R |
8 a 27 | - | No |
Códigos de erro do AK901 – Trailer de Resposta do Grupo Funcional
A tabela seguinte lista os códigos de erro utilizados nos elementos de dados AK901 do segmento AK9 (Functional Group Response Trailer):
Código de erro | Condição | Suportado ou correlacionado com a AK501? |
---|---|---|
A | Aceite | Yes |
E | Aceite, mas foram anotados erros | Yes |
M | Rejeitado, o código de autenticação de mensagens (MAC) falhou | No |
P | Parcialmente aceite, pelo menos um conjunto de transações foi rejeitado | Yes |
R | Rejeitado | Yes |
W | Rejeitado, testes de validade com falha de garantia | No |
X | Rejeitado, não foi possível analisar o conteúdo após a desencriptação | No |
Códigos de erro da AK905 para a AK909 – Trailer de Resposta a Grupos Funcional
A tabela seguinte lista os códigos de erro utilizados nos elementos de dados AK905 para AK909 do segmento AK9 (Funcional Group Response Trailer):
Código de erro | Condição | Suportado ou correlacionado com a AK501? |
---|---|---|
1 | Grupo funcional não suportado | No |
2 | Versão funcional do grupo não suportada | No |
3 | Trailer de grupo funcional em falta | Yes |
4 | O número de controlo do grupo no cabeçalho do grupo funcional e no trailer não concordam | Yes |
5 | O número de conjuntos de transações incluídos não corresponde à contagem real | Yes |
6 | O número de controlo do grupo viola a sintaxe, pode ter ocorrido um número de controlo de grupo duplicado | Yes |
7 a 26 | - | Não |