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.

To report this post you need to login first.

9 Comments

You must be Logged on to comment or reply to a post.

  1. Jose Nunes

    Olá Ortiz,

    Parabéns pelo documento. Está bem detalhado.

    Esta funcionalidade já existe por padrão no SAP NF-e, pelo menos no SP15, conforme abaixo:

    opcao_envio_xml.PNG

    []’s

    JN

    (0) 
    1. Fernando Da Ros

      De qualquer forma parabéns por compartilhar.

      O guia serve como guia de extensão webdynpro.

      .. mas sobre modificações, as notícias são que no SP16 teremos outro monitor devido à mudança de layout e estrutura interna…

      Atenciosamente, Fernando Da Rós

      (0) 
        1. Fernando Da Ros

          Bom dia Karen,

          Sim, está sendo reformulado para ter o funcionamento mais moderno por processos, mesma técnica do CT-e e do incoming automation. Com job de restart que pode ser automatizado.

          Não participei do desenvolvimento, estou me inteirando agora nos testes integrados e ainda aprendendo sobre as mudanças… Em breve virão coisas.

          Atenciosamente, Fernando Da Rós

          (0) 

Leave a Reply