cancel
Showing results for 
Search instead for 
Did you mean: 

J_1BNFE_CALL_RSNAST00: erro ao ser executada em IN BACKGROUND TASK

Former Member
0 Kudos

Pessoal, boa noite.

Solicito uma orientação sobre um problema que vem ocorrendo aqui no projeto...

Para algumas notas, somente algumas, o job /XNFE/UPDATE_ERP_STATUS que é executado no GRC está tentando atualizar o status de uma Nota Fiscal já aprovada no ECC. Com isto, vira e mexe, é criado uma log entry com a seguinte mensagem: "NF-e xxxxx has document status "Authorized"; new document status "Authorized" is not allowed".

Seguindo a orientação de alguns posts anteriores, observei que o problema poderia estar na chamada da função J_1BNFE_CALL_RSNAST00 (executada no método CALL_RSNAST00) que não estava sendo executada em IN BACKGROUND TASK, porém, após fazer a alteração nesta chamada, o processo de impressão parou de funcionar.

Na SM58 aparece a seguinte mensagem de erro: The function module "J_1BNFE_CALL_RSNAST00" cannot be used for 'remote' c (Message no. SR053)

Alguém sabe me dizer o que ocorre e uma possível solução para este problema?

A próposito a versão do GRC aqui é a SAPK-10013INSLLNFE.

Agradeço antecipamente qualquer ajuda.

Att,

Marcos

Accepted Solutions (1)

Accepted Solutions (1)

former_member182114
Active Contributor
0 Kudos

Bom dia Marcos,

Para algumas notas, somente algumas, o job /XNFE/UPDATE_ERP_STATUS que é executado no GRC está tentando atualizar o status de uma Nota Fiscal já aprovada no ECC. Com isto, vira e mexe, é criado uma log entry com a seguinte mensagem: "NF-e xxxxx has document status "Authorized"; new document status "Authorized" is not allowed".

Este erro deve ser devido ao problema da impreção automática.

- Verifique se o método SET_COMMIT está implementado conforme SAP Note 1163056

- Implemente a SAP Note 1452523 para reduzir a quantidade de reincidencias

Seguindo a orientação de alguns posts anteriores, observei que o problema poderia estar na chamada da função J_1BNFE_CALL_RSNAST00 (executada no método CALL_RSNAST00) que não estava sendo executada em IN BACKGROUND TASK, porém, após fazer a alteração nesta chamada, o processo de impressão parou de funcionar.

- Crie uma função Z que encapsule todo o código atual do método e chame esta função IN BACKGROUND TASK, ao invés da J_1BNFE_CALL_RSNAST00. Na época no sistema que testei isto funcionou sem problemas, mas não a função não é remota mesmo e dá este problema.

- Verifique se neste código da CALL_RSNAST00 você prevê os momentos corretos para chamar a impressão. Ex: status autorizado (100), nao impressa (printd vazio), nao comutada para contingência (CONTIG_S preenchido), nao cancelada (CANCEL). Esta dica também tem nas threads que você já buscou.

Ainda sobre a causa raiz das constantes falhas de comunicação, vá no GRC, transação de log de RFC (RSRFCTRC) e procure pelo texto IN_TAB (você encontrará as mensagens pelas quais falhou a chamada). E providencie a correção no ERP.

Após você fazer estas correções, novamente vá no log de RFC e delete todo o log e acompanhe para ver se novas entradas à chamada IN_TAB são adicionadas. Acontecendo, estude o motivo e providencia correção.

Com o SP13 você já tem toda a melhor "ciência" entre comunicação ERP x GRC.

Atenciosamente, Fernando Da Rós

Edited by: Fernando Ros on Aug 25, 2010 1:01 AM - Mais sobre o CALL_RSNAST00

Former Member
0 Kudos

Bom dia Fernando,

Inicialmente gostaria de agradecer a rápida resposta, porém, continuamos com o problema na hora da impressão automática.

Seguindo a sua orientação verifiquei os seguintes pontos:

- Verifique se o método SET_COMMIT está implementado conforme SAP Note 1163056

O método SET_COMMIT estava implementado, porém sem código dentro dele, ou seja, não havia o "e_commitcall = 'X'" no código fonte. Incluimos este código no método confome instrução da SAP Note.

- Implemente a SAP Note 1452523 para reduzir a quantidade de reincidencias

Esta nota demoraremos um pouco para aplicar por questões burocráticas, mas acredito que ela não deva me atrapalhar no momento (pensando em resolver simplesmente o problema da impressão automática). Me corrija se estiver errado, por favor.

- Crie uma função Z que encapsule todo o código atual do método e chame esta função IN BACKGROUND TASK, ao invés da J_1BNFE_CALL_RSNAST00. Na época no sistema que testei isto funcionou sem problemas, mas não a função não é remota mesmo e dá este problema.

- Verifique se neste código da CALL_RSNAST00 você prevê os momentos corretos para chamar a impressão. Ex: status autorizado (100), nao impressa (printd vazio), nao comutada para contingência (CONTIG_S preenchido), nao cancelada (CANCEL). Esta dica também tem nas threads que você já buscou.

Em relação a chamada da J_1BNFE_CALL_RSNAST00, modificamos conforme sugerido, ou seja, pegamos o código antes existente no método CALL_RSNAST00 e jogamos dentro de uma função Z. E dentro do método CALL_RSNAT00 fazemos a chamada desta função Z em modo IN BACKGROUND TASK.

O problema agora é que após estas alterações me parece que nada esta "acontecendo", ou seja, a impressão automática (fazemos os checks para só imprimir em certas condições) simplesmente parou... Não é gerado mais log de erro na SM58... e também nada é gerado na RSRFCTRC... e nada no spool.

Você tem algum idéia do que pode estar acontecendo?

Obrigado,

Marcos

former_member182114
Active Contributor
0 Kudos

Bom dia Marcos,

Faltou dizer três coisas:

- Após o CALL IN BACKGROUND TASK é necessário um COMMIT WORK para disparar.

- Esta função Z tem que estar marcado Remote Enabled na aba características.

- Outra coisa, os problemas da impressão que antes eram visíveis na RSRFCTRC do GRC, agora você deve acompanhar na SM58 do ERP pelo nome da sua função.

Atenciosamente, Fernando Da Rós

Edited by: Fernando Ros on Aug 25, 2010 4:21 PM

Former Member
0 Kudos

Marcos, verifica se esta gerando DUMP (ST22) no SAP ECC.

At.,

Bernardo Braga

Answers (1)

Answers (1)

Former Member
0 Kudos

Fernando e Bernando,

Agradeço ambos pelas dicas.

Após marcar a nova função como Remote-Enable e colocar um COMMIT WORK após a chamada da função Z, foi gerado o spool automático e nenhum log de erro reportado na SM58.

Irei monitorar o ambiente por alguns dias pra ter certeza que parou este problema, e também solicitarei a aplicação da SAP Note 1452523 para ver se resolve em definitivo a "mania" do job UPDATE_ERP_STATUS de tentar mexer no status das notas já aprovadas.

Abraço,

Marcos

former_member182114
Active Contributor
0 Kudos

Pobre coitado do UPDATE_ERP_STATUS e DIAL..rsss

Eles só querem ajudar..hehe

Atenciosamente, Fernando Da Ró