Skip to Content

Enhancement – Monitor Webdynpro NFe para Reenvio XML de Cancelamento

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  BOTAO.png   para criar um Enhancement para o component acima.

IMG01.png

Adicionar um ToolBarButton na View “VI_NDETAIL

IMG02.png

IMG03.png

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.

IMG04.png

CODIFICAÇÃO:


Clicamos duas vezes na action que criamos:

IMG05.png

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

IMG06.png

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.

IMG07.png

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

IMG08.png

Classe de Mensagem “ZXNFE_B2B2

IMG09.png

Resultado:

Layout do monitor web da NFe – apresenta o botão “Z” criado pelo nosso enhancement.

IMG15.png

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

IMG11.png

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

IMG12.png

Caso de NFe aprovada        

IMG13.png

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.

IMG14.png


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
You must be Logged on to comment or reply to a post.