Conheça métodos para encontrar BADIS no ambiente SAP

Encontrando BAdIs 

Objetivo do Enhancements User-Exits ou BAdIs permitem que se adicione funcionalidade próprias em uma tela Standard do SAP ERP sem modificar a funcionalidade original do programa. Estas funcionalidades adicionais servem para atender as necessidades dos clientes através de suas regras de negócios e de processos. 

As User-Exits são geralmente desenvolvidas dentro de INCLUDEs e anexado no programa standard da SAP. 

Neste artigo serão apresentados vários métodos para encontrar uma BAdI, porém a implementação de uma BAdI não será abordada aqui pois normalmente a dificuldade está em se encontrar a BAdI certa. 

Passos para encontrar uma User-Exit ou BAdI 

Método 1 – User-exits 

Cenário de Negócios: Quando os usuários da planta 101 estão realizando um tipo de movimento de transferência de loja para produção, eles vão gostar se o sistema preencher automaticamente a planta e número de material no campo de texto. 

Passo 1: Vá para a SPRO relevante e procure a documentação. 

 

 

Passo 2: Clique no botão documentação, ele irá exibir todas as user-exits disponíveis. 

 

Método 2 – Function Module EXIT 

Cenário de Negócios: Você deseja verificar se há alguma EXIT disponível antes da criação fornecedor usando o código de transação XK01. 

Passo 1: Vá para o código de transação SE93, insira o código de transação XK01. Pressione exibir. 

 

badis-M02-Passo1

 

Passo 2: Copie o nome do programa que está vinculado ao código de transação. 

 

Passo 3: Vá para o código de transação SE37, digite o nome do módulo como EXIT_ <nome do programa> _ *, conforme mostrado abaixo. 

 

 

Passo 4: Pressione F4, valor ajuda. Você vai ver toda a lista disponível de módulos de função. 

 

Método 3 – Identificando a BAdI 

Cenário de Negócios: Você quer para avisar o usuário sempre que o usuário SALVAR a fatura recebida com zero de valor na transação MIRO. Aqui neste cenário, vamos identificar a lista de BADI de que estão disponíveis para o código de transação MIRO.  

Passo 1: Acessar a transação SE37, e digitar o nome do módulo de função “SXV_GET_CLIF_BY_NAME” e exibir. 

 

 

Passo 2: Marque um breakpoint na primeira linha para parar durante o debug. 

 

Passo 3: Execute a transação MIRO e o programa irá acionar o debug na linha marcada anteriormente. 

 

Passo 4: Como a intenção é encontrar a BAdI no momento de clicar no botão SALVAR; basta pressionar F8, preencher os dados e a seguir pressionar SALVAR. 

 

Passo 5: Como o breakpoint continua ativo, o debug será exibido novamente mas agora terá todas as opções de BAdI disponíveis após o botão SALVAR ser clicado. 

Basta para isto, visualizar o conteúdo da variável NAME. 

 

Método 4 – CL_EXITHANDLER=>GET_INSTANCE 

Cenário de Negócios: A maioria das BAdIs é carregada chamando o método GET_INSTANCE da classe CL_EXITHANDLER. Mas como saber o nome da BAdI que está sendo executada neste momento? 

Passo 1: Para realizar a chamada do método GET_INSTANTE da classe CL_EXITHANDLER é preciso realizar uma declaração conforme segue abaixo. Basta procurar no código esta declaração. 

DATA: r_ref TYPE REF TO IF_<BADI_NAME>. 

 

Passo 2: O nome da BAdI será o mesmo que estará no lugar do trecho de código <BADI_NAME>. 

Se houver dúvidas se o programa é o correto ou não, pode-se também colocar um breakpoint no método GET_INSTANCE e executar a tela que se deseja e pronto. Será possível visualizar o nome do programa e realizar o passo 2.

 

 

Especialista

 

 


Voltar