Financial Management Blogs by Members
Dive into a treasure trove of SAP financial management wisdom shared by a vibrant community of bloggers. Submit a blog post of your own to share knowledge.
cancel
Showing results for 
Search instead for 
Did you mean: 

Desde o Support Package 12, do component SLL-NFE, temos a possibilidade de reenviar o XML de aprovação de uma NFe(interface NTB2B), porém não temos a mesma funcionalidade para reenviar o XML de um cancelamento.

Graças ao Enhancement framework podemos adicionar esta funcionalidade no monitor web do GRC.

Passos:

Transação SE80 => Componente Webdynpro = /XNFE/NFE_MONITOR_NEW

Clicar no botão Botão     para criar um Enhancement para o component acima.

Adicionar um ToolBarButton na View “VI_NDETAIL

Adicionar um label para o botão e criar uma action, aonde iremos disparar a interface “ETB2B” para o envio do XML do evento de cancelamento.

CODIFICAÇÃO:


Clicamos duas vezes na action que criamos:

Buscamos do contexto a chave da NFe e o seu código de status(100, 101 etc).

Caso a NFe esteja cancelada selecionamos seu registro do evento de cancelamento(tabela “/XNFE/EVENTS”) e o seu respectivo XML(tabela “/XNFE/EVENT_XML”) e chamamos a função  ”/XNFE/PROCSTEP_EV_B2BOUTBD” para disparar a interface(ETB2B) que envia o XML do evento para o parceiro da nota.

Caso a nota não esteja cancelada disparamos uma mensagem de erro.

Classe de Mensagem “ZXNFE_B2B2

Resultado:

Layout do monitor web da NFe - apresenta o botão "Z" criado pelo nosso enhancement.

Após clicar no botão “Enviar XML Cancelamento” a interface "ETB2B" é disparada(envio do e-mail do xml de cancelamento) e uma mensagem de sucesso é exibida para o usuário

Transação: SXI_MONITOR - podemos ver que a interface ETB2B(envia XML do b2b de eventos) foi executada com sucesso.

Caso de NFe aprovada        

Após clicar no botão “Enviar XMl Cancelamento” o usuário recebe uma mensagem de erro informando que a NFe não está cancelada.


Observações:


Caso haja a necessidade de também enviar o XML para a transportadora basta chamar a função “/XNFE/PROCSTEP_EV_B2BOUTCA” da mesma forma que a anterior.


Assim como fizemos o enhacement no monitor principal da NFe, poderíamos criar a mesma funcionalidade no monitor de Eventos e criar um botão que seja capaz de reenviar o XML de qualquer evento(CCe ou Cancelamento) a lógica será a mesma mudando basicamente o component webdynpro, a qual faremos o enhancement.

9 Comments