on 11-09-2009 10:34 AM
Bom dia.
Tenho uma nota que foi autorizada, porem nao atualizou o status no ERP. Tambem nao gerou log na J1BNFE
Consultei a /XNFE/BACKSTATUS e a nota existe na tabela com status autorizada, campo ERROR=X, campo MAXRETRIES=0
(esta tabela esta crescendo aproximadamente 100 registros por dia)
Programa /XNFE/UPDATE_ERP_STATUS esta escalonado para executar de 10 em 10 minutos, com
a variante=SINCRONIZACAO (default Nº de tentativas:10)
Observei agora que a Variante=SINCRONIZACAO não possui Período - data. Acredito ser este o motivo de não funcionar.
Pergunto:
1) A nota nao deveria estar com MAXRETRIES=10 uma vez que nao foi atualizada no ERP? (as outas notas desta tabela tambem estao com MAXRETRIES=0)
2) Onde encontro o problema ocorrido? (motivo que nao sincronizou)?
3) Coloquei data de hoje até amanhã no período e o MAXRETRIES das notas de hoje aumentaram. É algum Bug ou estou executando de forma errada?
Analisando o include: /XNFE/UPDATE_ERP_STATUS_F01
Linha 31: IF iv_recstamp_high IS INITIAL AND iv_recstamp_low IS INITIAL.
Nunca vai entrar pois os comandos das linhas 69 a 72 (enlarge high time field with 9999999) alteram o valor do campo LV_RECSTAMP_HIGH.
Desta forma não seleciona nada na SELECT * FROM /xnfe/backstatus.
Agradeço desde já.
At.,
Bernardo Tavares Braga
Edited by: Bernardo Tavares Braga on Nov 9, 2009 12:46 PM
Bom dia Bernardo,
Verifique se o job do programa /XNFE/UPDATE_ERP_STATUS está escalonado no client correto (por engano pode estar no client do PI).
Quanto ao crescimento de 100 registros por dia. Veja dicas nesta outra thread
Se ainda assim não funcionar o caso pode ser mais grave, rastreie cada tipo de situação em que a NF-e ficar parada na /xnfe/backstatus.... Provavelmente você irá encontrar algum padrão e resolver a questão.
Atenciosamente, Fernando Da Ró
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Bom dia Bernardo,
Ele funcionaria sem informar data normalmente, data/hora é opcional e pode ser usado para rodar períodos passados caso o maxretries chegue a 10, então você poderia colocar um período e rodar com 99 por exemplo 1 vez para tentar novamente registros antigos.... Porém deve-se investigar caso a caso para buscar a causa.
Faça um debug online, porém vai precisar trocar o sy-batch para 'X' se nao ele aborta, e veja em que step da seleção ele entra.
Aqui entro sem problemas no SELECT * sem restrição de data, ou seja, tudo que nao chegou ao maxretries.
Nunca foi reportado ao suporte um erro como este, por isso acho que dá pra funcionar com o que vc tem, porém talvez seu código não esteja na última versão, veja se vc tem implementada a SAP Note 1382048.
Respostas:
1) sim deveria, por algum motivo a linha nao foi selecionada
2) debug no programa (como parece nao ter sido selecionada, também nao foi transmitida)
3) verifique a sua variante, tente criar uma nova (com os valores default) e faça novo teste.
Atenciosamente, Fernando Da Rós
Edited by: Fernando Ros on Nov 9, 2009 1:20 PM
Edited by: Fernando Ros on Nov 9, 2009 1:22 PM
Debuguei o programa /XNFE/UPDATE_ERP_STATUS
Na linha 74 ele chama:
PERFORM update_erp_status USING p_retry
lv_recstamp_low
lv_recstamp_high
Passando os valores 10
0.0000000
0.1000000
O valor lv_recstamp_high é alterado na linha 70 e 72 quando é executado os comandos abaixos:
CONCATENATE lv_timestamp_hred lc_time_adv INTO lv_timestamp_high.
lv_recstamp_high = lv_timestamp_high.
LV_TIMESTAMP_HRED = 0.0
LC_TIME_ADV = 9999999
LV_TIMESTAMP_HIGH = 0.09999999
Ao fazer a atribuição (lv_recstamp_high = lv_timestamp_high)
LV_RECSTAMP_HIGH fica com o valor 0.1000000.
E o FORM update_erp_status (/XNFE/UPDATE_ERP_STATUS_F01) só seleciona se ambos os parametros estiverem preenchidos ou vazios.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
14 | |
4 | |
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.