cancel
Showing results for 
Search instead for 
Did you mean: 

Sincronização GRC/ERP

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

former_member182114
Active Contributor
0 Kudos

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ó

Former Member
0 Kudos

Esta executando no mandante do GRC mesmo....analisando o historico de execução do JOB, reparei que nunca selecionou nada.

At.,

Bernardo Tavares Braga

former_member182114
Active Contributor
0 Kudos

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

Answers (1)

Answers (1)

Former Member
0 Kudos

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.

former_member182114
Active Contributor
0 Kudos

Bom dia Bernardo,

A SAP Note 1382048 que irá resolver.

Achei estranho este comportamento, se o problema persistir abre uma nota para no componente SLL-NFE para avaliação in loco.

Atenciosamente, Fernando Da Ró