Product Information
Output Management – Configurando o DANFE(Adobe Forms)
Olá especialistas!
Tudo bem?
No último projeto, fui desafiado a implementar o DANFE usando a nova funcionalidade de output da SAP, chamada de Output Management. Esse post é pra compartilhar este conhecimento.
O que é o Output Management?
É a ferramenta da SAP(dentro do ambiente S/4HANA) que é usada para impressões, envios de email, e outras saídas de documento. A tecnologia se baseia em tabelas de decisão,
Ela vem ativada por default a partir da versão 1610 do S/4HANA. E se propõe a substituir as Output Messages(Tabela NAST, Transação NACE).
Há diversos posts sobre esta funcionalidade, deixarei aqui alguns que me ajudaram,.
Practical S4HANA Output management – Part 1
S4HANA Output management – Part 2
Como configurar?
Siga os passos e instruções das notas abaixo
2228611 – Output Management in SAP S/4HANA
2248229 – SAP S/4HANA output management – BRFplus files
Depois disso, vamos para nossa querida SPRO:
SAP Customizing guia de implementação> Componentes válidos para várias aplicações>Controle de saída
A primeira visão que vamos analisar é a “Administrar a ativação do tipo de objeto de aplicação”
Note que na coluna status verificamos se o Tipo de Objeto está com o Output Management ativo ou não. Isso nos ajuda a identificar qual aplicação ainda está funcionando com a NACE, e é possível mudar conforme a necessidade.
Importante: O Output Management não consegue chamar programas e IDOCs por exemplo, se o cliente tem essa necessidade, a melhor forma ainda é usar a NACE ou outras aplicações do universo SAP com o Event Management ou Enterprise Messaging(SAP Cloud Platform).
Para o resultado que desejamos, vamos mudar o objeto NOTA_FISCAL para 1 Aplicação Ativa(isso desliga qualquer configuração feita na NACE).
Segunda visão “Definir tipos de mensagem”
Nesta visão, podemos criar novas mensagens para um mesmo objeto, neste caso usaremos a mensagem standard nota_fiscal, já que teremos uma só impressão para ele que é o DANFE.
A terceira visão é “Atribuir canais de saída”
Sem grandes emoções aqui, continuaremos com o standard e com a nossa missão de imprimir o DANFE.
Agora, vamos sair um pouco do SAP Gui, e vamos acessar ao app standard “Atualizar tipos de Formulário”
Entre em modelos fornecidos previamente e em Paises Disponíveis, filtre por Brasil.
Tá lá o queridao
Entre no J_1B_NFE_DANFE, esse é o formulário standard!
Informação importante!
Esse J_1BNFE_OUTPUT_MANAGEMENT_400_SRV é o gateway que extrai as informações da Nota Fiscal e joga no Adobe Forms, essa é a J_1BNFPR da nova geração!
Vamos criar um formulário Z, mas a recomendação é usar esse gateway, garantindo suporte da SAP em futuras notas técnicas da SEFAZ.
Clique no botão Baixar, em Português, você terá em sua máquina um documento com extensão xdp. Esse deverá ser aberto e customizado no programa Adobe Livecycle.
Não é o objetivo deste post explicar sobre como fazer isso no LiveCycle, mas irei deixar algumas dicas, no final.
Criando seu formulário DANFE customizado
No mesmo app, entre em Personalizar modelos e clique em Nova
Suba seu arquivo xdp.
Formulário criado, vamos voltar ao SAP GUI.
Volte ao SPRO e entre na visão Atribuir modelos de formulário
Crie uma linha idêntica a standard, e coloque seu formulário no lugar do formulário standard.
Seu formulário está atribuído e pode ser utilizado na impressão da Nota Fiscal. Mas como fazer ele sair?
Transação OPD ou visão Definir regras comerciais para determinação de mensagens
Aqui é onde a determinação de formulários acontecerá:
Abrirá uma pagina web(webdynpro) que é um cockpit de tabelas de decisão das funções de BRFPlus do Output Management.
Algumas coisas estarão preenchidas no standard, você deve mudar duas coisas.
Formulário:
E impressora:
Finalmente…
Esses são os passos necessários e a próxima coisa a fazer é aprovar uma nota e tentar imprimir!
Espero que tenham conseguido seguir os passos e qualquer dúvida, comentem!
Dicas finais:
Impressão deve ser feita sempre pela J1BNFE, usando o botão de Impressora
Tivemos alguns problemas em tempo de projeto, então seguem algumas notas SAP lançadas sobre este tema:
2813864 – Corrections on Reprint NF-e Functionality
2821476 – Pre-Implementation Objects for SAP Note 2821474
2821474 – Missing objects for New Output Management
2885854 – NF-e issuing date wrong for DANFE document
3200010 – DANFE OM is not getting triggered in contingency
A tabela de decisão que decide qual a impressora, não tem filial nem local de expedição, mas é um campo possível de ser colocado dentro da transação BRFPLUS, pesquise pela aplicação OPD*NF*, ou na própria OPD em Opções da Tabela de Decisão.
Se os passos estiverem todos corretos e ainda assim não imprimir, verifique os passos do blog abaixo:
Agradecimentos Especiais:
Cito aqui grandes profissionais que me ajudaram! Diego Contiero, Diogo Ávila, Danilo Jacinto e Rafael Melo, OBRIGADO!
Como adicional, segue o nosso arquivo xdp para iniciar!
É isso gente! Obrigado a todos que leram até o fim, até a próxima!
Parabéns, ótimo post.
Show!
Os brasileiros precisavam deste post! Muito bom!
Top demais!, João. Valeu
Mto Legal o post! Eu desativei recentemente o novo output pois já tenho uma solução pronta para gerar o DANFE a partir do XML no ERP.
Não testei o form da SAP, você sabe dizer se agora ele está gerando a DANFE a partir do XML ou se ele está montando a partir das tabelas do ERP?
O detalhe que percebi é que ( pelo menos a partir do 1809 eu notei ) não vem nem a entrada NOTA_FISCAL na visão "Administrar a ativação do tipo de objeto de aplicação" e no código da localização o padrão já é o novo output. Se você quiser desativar você precisa criar a entrada na configuração com o status de inativo.
Opa Renan, muito obrigado!
Olhando o gateway, ele ainda pega as informações de tabelas presentes no ERP.
Mesmo assim, utilizamos a badi "nova"(nem tão nova assim mais) com consistência de dados, o que resultou em um danfe somente com layout e disposição de campos e que replica todos os dados do XML. O que desenvolvemos na BADI acaba sendo replicada automaticamente para o DANFE. Hoje nao há nenhum desenvolvimento no gateway.
Tivemos alguns problemas sobre campos faltantes, mas a SAP soltou algumas notas para corrigir, nossa expectativa é que em futuras notas técnicas isso continue acontecendo.
Sobre a linha faltante, não tivemos problemas com isso, mas não tenho certeza se tivemos que criar a linha ou não 🙁
João, muito bom, obrigado por compartilhar, show! Parabéns.
Show Joãozin!! Obrigado por compartilhar seu conhecimento e parabéns pela iniciativa! ????
Boa Xará!!
Excelente Post! Achei Top! parabéns!!
Ótimo POST! Ajudou bastante!
Atualmente, estamos com problemas ao tentar imprimir pela J1B3N (ou pelo app Fiori da J1B3N). Vocês conseguiriam imprimir por lá? tentamos abrir um chamado mas parece que a SAP não desenvolveu essa parte ainda e não está no roadmap:
J1B3N - DANFE
Obrigado Guilherme!
Imprimimos sempre pela J1BNFE(botão da Impressora). Realmente a J1B3N nao foi atualizada.
João, parabéns , ótimo trabalho, Post 100%.
Esse formulário Z posso alterar e incluir mais campos?
Att,
Marcos Andrade
Olá Marcos, fique a vontade no formulário Z, é seu!.
O legal é sempre usar os campos existentes no gateway standard, para que não precisemos modificar nada via código no adobe forms.
Muito bom Secco!!! Obrigado por compartilhar o conhecimento.
Obrigado Sandro!
Oi Pessoal,
Alguém já testou paginação neste formulário?
Aqui não deu certo...
Oi Eliezer, tudo bem? Se eu não me engano esse form paginava mas não repetia os cabeçalhos.
Realmente precisa de ajustes no Adobe LiveCycle 🙁
João parabéns pelo compartilhamento do material.
Muito bom e está ajudando demais nos projetos.
Att,
Rodrigo Vilarinho (Dida)
Opa obrigado Rodrigo!
Precisando estamos ai ❤️
Excelente guia. Obrigado por compartilhar.
Estou aqui com uma grande dificuldade, nessa parte diz:
"Esse J_1BNFE_OUTPUT_MANAGEMENT_400_SRV é o gateway que extrai as informações da Nota Fiscal e joga no Adobe Forms, essa é a J_1BNFPR da nova geração!"
Saberia nos dizer onde abrimos o J_1BNFE_OUTPUT_MANAGEMENT_400_SRV ou conseguimos debugar para pegar o que ele está jogando para o Adobe Forms?
Existem algumas tags do XML que não estou conseguindo ler de jeito nenhum no adobe forms, estou tentando pegar o nome exato das informações que ele joga para dentro do adobe forms e não encontro o local para ver isso.
Fala Adriano, muito obrigado!
Esse gateway pode ser debugado pela SEGW, aba Runtime Artifacts.
Já implementamos em outros projetos e uma dica adicional é:
É muito mais fácil utilizá-lo juntamente com a badi J_1BNFADD_DATA, devido a atualização do banco de dados, que alimenta o form.
Por exemplo, para adicionar as parcelas nas tags de duplicata(dup), adicionamos informação na tabela ET_TRADENOTES nessa badi, essa informação fica gravada na tabela J_1BNFTRADENOTES que é consultada pelo gateway.
Por esse motivo, tudo que tem no xml deveria ir também para o DANFE. Porém, somente se é gravado na tabela.
Precisando estamos ai
Pessoal post atualizado com as principais notas que encontramos ao longo do caminho.
Ainda está faltando uma nota, mas volto aqui pra comentar sobre ela em breve.
Pessoal, boa tarde. Tudo bom?
Estou com um erro "output device does not exist." Indo na OPD e escolhendo a impressora realmente ela não puxa nenhuma informação. Porém, eu estou conseguindo imprmir testes na impressora via SP01 normalmente.
Poderiam me ajudar?
Fala Fabio, tudo bem?
Se na OPD nao aparece nenhuma impressora, provavelmente nao há nenhuma impressora do tipo PDF1 ou PDFUC que são recomendadas para o Output Management.
Dito isso, quando ele manda para a SP01, ele está mandando com alguma impressora? Ou só gerando o spool?
Pode ser isso, a impressora que eu estou mandando esta configurada com o método "G". Na OPD só esta aparecendo as impressoras LOCL, LOPXY. Na sp01 só gera o spool, a danfe em si não consigo imprimir.
Na maioria das empresas, estamos implementando assim
SPAD
Utilizando o método G, o spool é gerado, mas fica com "erro" na SP01. O Output Management não consegue trabalhar com aquele popup para o usuário escolher a impressora(pelo menos é a noticia que tenho)
Em alguns clientes, mandamos direto para a impressora física especifica, ai sim funciona diretamente sem a necessidade do usuário entrar na SP01/SP02.
Segue como ela fica na SP02, o usuário clica no botão de PDF e imprime na maquina sem maiores problemas.