cancel
Showing results for 
Search instead for 
Did you mean: 

BADI J_1BNF_ADD_DATA - CHAMADA

Former Member
0 Kudos

Boa tarde pessoal.

Fizemos a ativação da nova BADI para o XML e acabou surgindo algumas dúvidas:

  1. Durante a geração de nota fiscal writer, J1B1N, o save não passa nessa nova BADI, só passa quando clicamos no botão IMPORT ADDITIONAL DATA, é isso mesmo ou está faltando algo em nosso ambiente?
  2. Como devemos fazer para preencher os campos que essa nova badi não nos atender? Tem alguma outra badi para isso ou devemos ir atrás de enhancement points? Seria o caso de utilizar os métodos FILL_AUTXML ou FILL_EXPARAMETERS?
  3. No meu caso aplicamos notas para utilizar a nova BADI, teria algum lugar que disponibilizasse uma documentação detalhada de cada um dos 4 métodos?

Muito obrigado.

Cássio Oliveira

Accepted Solutions (1)

Accepted Solutions (1)

Renan_Correa
Active Contributor
0 Kudos

Hello,

1. É isso mesmo.

2. Se o campo não está na BAdI ele "teoricamente" não está disponível para mudança. Pode ser alterado com field symbol na BAdI ou então com enhancement points.

Os métodos FILL_AUTXML (Fill persons authorized to download NF-e XML) e FILL_EXPARAMETERS ( tem outras finalidades.

3.

Nas notas abaixo tem alguns anexos com a documentação dos métodos da BAdI

1883364NF-e: Enhancement of BAdI for Additional NF Data
1860433NF-e: Storing Additional Data for DANFE & Reporting
1860362NF-e: Storing Additional Data - outbound NF-e & Reports
1860360NF-e: Storing Additional Data - application generated NFs
1844619NF-e: Storing Additional Data - BAdI, derived fields, texts

Além disso há o posting abaixo:

http://scn.sap.com/community/portuguese/sped-and-nf-e/blog/2015/02/12/utiliza%C3%A7%C3%A3o-de-ambas-...

att,

REnan Correa

Former Member
0 Kudos

Renan, muito obrigado pela sua resposta.

Sabe me dizer o porque da SAP não ter colocado a chamada da nova BADI no SAVE da J1B1N? Dessa forma não corremos o risco de a nota ser salva com informações faltantes?

Obrigado pelo esclarecimento.

Cássio Oliveira

Renan_Correa
Active Contributor
0 Kudos

Oi,

O método não é chamado no momento do SAVE para deixar possível preencher parte da informação com a BAdI e ainda assim completar outros dados manualmente na tela.


Não há risco da nota ser salva com informações faltantes por esse motivo. O programa não "limpa" os dados dos campos após a execução da BAdI.


att,

Renan Correa

Former Member
0 Kudos

Renan, obrigado pela sua imensa ajuda.

Tenho mais uma dúvida, estou efetuando testes com a BAPI  BAPI_J_1B_NF_CREATEFROMDATA e percebi que a NOVA BADI não está sendo chamada, eu olhei os parâmetros de HEADER da BAPI e não achei nada que pudesse especificar a chamada da nova badi.

Saberia me dizer se há alguma forma de fazer a  BAPI_J_1B_NF_CREATEFROMDATA passar pela nova badi?

Desde já agradeço.

Cássio Oliveira

Renan_Correa
Active Contributor
0 Kudos

Oi Cássio,

A BAPI não chama a BAdI nova. Em teoria quando se consome a BAPI já se deve popular os campos necessários, por isso ela não passa na BAdI nova.

att,

Renan Correa

Former Member
0 Kudos

Ola Renan boa tarde.

No projeto em que estamos haverá uma lógica bem grande na BADI nova, gostaria de saber se você conhece algum ponto (BADI,EXIT) que permitiria que através de desenvolvimento fizesse a chamada dessa nova BADI.

Nesse projeto temos cerca de 40 programas que fazem call transaction na J1B1N e mais uns 19 que utilizam a BAPI, se encontrássemos um ponto em que pudéssemos forçar que a nova BADI fosse chamada seria bem interessante.

Obrigado pela ajuda.

Cássio Oliveira

Answers (2)

Answers (2)

Former Member
0 Kudos

Renan.

Ainda estou em dúvida referente a essa BADI....acho muito estranho o procedimento de a BAPI BAPI_J_1B_NF_CREATEFROMDATA não chamar a nova badi....não sei se seria o caso de entrar em contato com a SAP.

Digo isso porque já que a bapi chama a badi antiga, mesmo eu preenchendo os valores na chamada da bapi esses valores seriam alterados pela BADI antiga não é mesmo?

E a ideia de refazer o código da BADI em todos os programas Zs existentes não é das melhores.

Obrigado pela ajuda de sempre.

Cássio Oliveira

Renan_Correa
Active Contributor
0 Kudos

Olá,

Essa foi uma definição adotada pela SAP. Se você está criando um documento via BAPI o entendimento definido é de que você já tem todos os parâmetros necessários para realizar essa criação. Esse ponto já foi discutido anteriormente e a definição é de que a BAPI não irá chamar a BAdI de persistência.

Regards,

Renan Correa

0 Kudos

Oi Renan!!

Então, as novas tabelas/estruturas e campos que a Badi nova preenche não serão preenchidas pela BAPI? Como faríamos isto?

Obrigada.

Att,

Renan_Correa
Active Contributor
0 Kudos

Oi Mariana,

Quando você chamar a BAPI você já tem que informar todos os dados de tabelas que você quer que sejam preenchidas.

A BAPI não irá chamar a BAdI nova.

att,

Renan Correa

0 Kudos

Renan,

Na BAPI eu tenho os campos e tabelas novas para passar como parâmetro?

Att,

Renan_Correa
Active Contributor
0 Kudos

Oi,

A partir do release 605 sim, existem todas as tabelas novas.

Regards,

Renan Correa

0 Kudos

Oi Cássio boa tarde.

Cara, talvez você possa me ajudar. Eu estou tentando fazer uns testes aqui de emissão de nota writer pela nova BAdI, mas este botão Import Additional Data não aparece para mim na NF, apesar de ele estar devidamente aplicado (vejo pela SE80 no status GUI da J1B1N).

Você teve que fazer alguma coisa para ele aparecer depois de aplicar as notas ou SP?

Valeu!!!

Renan_Correa
Active Contributor
0 Kudos

Oi Mariana,

Recomendo abrir a respectiva telag/gui status no menu painter ( se41 ), clicar com o botão direito e clicar em "Active functions". Verifique se o respectivo botão está com a flag de ativo.

att,

Renan Correa

0 Kudos

Oi Renan!

Obrigado pelo seu retorno. Vi aqui via Debug que o botão está realmente ativo mas é ocultado porque a badi nova não está ativa.

Estamos terminando de aplicar algumas notas e depois vamos testar novamente.

Me responde mais uma coisa, por favor. Depois que eu aplicar as notas eu tenho que fazer alguma coisa para ativar a nova badi ou ela será ativada caso eu coloque algum código no método ADD_DATA?

Valeu, muito obrigado.

Renan_Correa
Active Contributor
0 Kudos

Oi Mariana,

Para ativar a BAdI basta criar uma implementação para ela adicionando código no método ADD_DATA.

No post http://scn.sap.com/community/portuguese/sped-and-nf-e/blog/2015/02/12/utiliza%C3%A7%C3%A3o-de-ambas-... o funcionamento dessa BAdI está um pouco mais detalhado.

att,

Renan Correa

0 Kudos

Valeu Renan, muito obrigada!