cancel
Showing results for 
Search instead for 
Did you mean: 

Consulta de status de lote: erro de sistema PI

Former Member
0 Kudos

Pessoal, bom dia.

Em alguns casos ocorre erro de comunicação na consulta do status do lote. Após o GRC enviar o lote pra SEFAZ, ele fica consultando o status do lote até n vezes (conforme atualizado nas configurações do lote no monitor do GRC), certo?.

Quando ocorre esse erro de comunicação (Consulta de status de lote: erro de sistema PI), o GRC para de ficar consultando o status.

Existe alguma forma de parametrizar/automatizar o GRC para que quando ocorrer esse erro, ele fique solicitando a consulta de status até as n vezes em vez de para a solicitação da consulta?

Ou criar um Z que busque os lotes que estajam com este status e coloca-los em processamento?

Accepted Solutions (1)

Accepted Solutions (1)

former_member182114
Active Contributor
0 Kudos

Bom dia Fábio,

Não, a configuração de tentativas serve apenas para quando a Sefaz responde de forma clara com um 105 - Em processamento.

Quanto acontece erros, o processo fica parado mesmo e a forma de restart é manual ou através de Z (Cristiane deu uma colaboração colocando o código para referência, veja: Sample code for automatic resend of batches with communication errors não consegui achar a thread que discutimos isso).

Observação: É muito importante garantir que os problemas que estão fazendo seus lotes pararem são realmente externos e solucionáveis pelo job, do contrário você pode gerar sim problema interno no GRC para todas os processos/Sefazes ao insistir num reprocessamento automático.

Sugestão:

- certifique-se que o motivo para o restart é externo

- faça log de todos os restarts em tabela

- determine um número máximo de restarts automáticos

- analise continuamente do que foi restartado sem sucesso para tentar obter regras que impeçam o restart sem sucesso

Atenciosamente, Fernando Da Rós

Edited by: Fernando Ros on Jul 21, 2010 5:41 PM

Former Member
0 Kudos

Fernando,

Este programa Z está implementado. Utilizei a colaboração da Cristiane, mas no código dela, não é tratado para reenviar os lotes que estão com status 40 e 41 (Consulta de status de lote: erro de sistema PI). Eu acrescentei essa condição.

O programa é executado e reenvia os lotes que estão com problemas (01, 33, 34, 36, 37, 38, 40, 41 e 75).

A sequência dos status é percorrida como: 02 - Enviado ao PI , 03 - Enviado as autoridades até o 05 - Resultado recebido. Detectamos em alguns lotes com o erro 40, o programa reenvia o lote, mas ele fica parado com o status 03 - Enviado as autoridades.

A solução que encontramos nesse caso é ir na tabela /XNFE/BATSTA e modificar o campo PROCESS para 'X'. Ao modificar esse campo o GRC finaliza os próximos passos do lote.

O que eu poderia fazer para identificar o porque do lote ficar parado no status 03 e como resolver?

former_member182114
Active Contributor
0 Kudos

Oi Fábio,

Trate cada caso individualmente, precisando de ajuda crie uma thread com toda informação dos payloads, Sefaz como estava a comunicação, logs...

Nem sempre o fórum é a ferramenta correta pois certos erros vão além do "visível", podem estar em rede, java, memória, falta de recursos, versão do PI, support package, proxy, internet, firewall, banda...

O ideal é você saber desta complexidade toda e acionar cada recurso que tiver a disposição entre seus recursos internos como consultor PI, consultor Basis, time de rede, o fórum, OSS SAP SLL-NFE ou BC-XI ou BC-NET, consultoria externa.

Tratando atentamente cada evento individualmente você irá ao passar do tempo você irá solucionar a causa raiz e seu sistema será eficiente evitando paradas.

Atenciosamente, Fernando Da Rós

P.S.: Vc percebeu que estou tentando te levar até a causa raiz de cada erro né?... Rsss

henrique_pinto
Active Contributor
0 Kudos

Fabio,

cuidado, vc está cometendo um erro.

Lotes parados com erro de consulta (40 e 41) nao podem ser reenviados.

Se vc o fizer, o lote sempre vai ter 204 para todas as notas, e dai vc sempre vai ter q fazer o status query manual, dificultando enormemente o processo e criando possiveis erros.

Para esses erros de consulta, vc tem q reestartar a interface de consulta (BATSR).

Abs,

Henrique.

Former Member
0 Kudos

Henrique,

É possível reestartar a interface de consulta (BATSR) automaticamente?

henrique_pinto
Active Contributor
0 Kudos

Nao, vc vai ter q fazer um desenvolvimento similar, mas startando a outra interface.

Abs,

Henrique.

Former Member
0 Kudos

Henrique / Fernando.

Muito Obrigado!

Answers (0)