on 07-21-2010 4:00 PM
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?
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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?
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
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.
User | Count |
---|---|
15 | |
3 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.