Partilhar via


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:

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:

  1. 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.

  2. 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 é 1e 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 2a .
AK401.2: identifica a contagem numérica do elemento de dados do componente numa estrutura de dados composta que tem um erro. Quando o AK401 comunica um erro numa estrutura de dados que não é composta, o AK401.2 não é avaliado.
- AK41.3: opcional, este campo é a posição do elemento de dados de repetição. O AK41.3 suporta a entrada 5010 compliant-997.

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 E.

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

Próximos passos