Escolar Documentos
Profissional Documentos
Cultura Documentos
Business Add-Ins
Maurício Mião
Consultor BC
mauricio.miao@procwork.com.br
SAP Certified
/conversion/tmp/scratch/503106224.doc Pág. 1
Business Add-Ins
INTRODUÇÃO..................................................................................................................................................3
ARQUITETURA................................................................................................................................................4
ANALISANDO A DEFINIÇÃO.......................................................................................................................6
IMPLEMENTANDO A BADI..........................................................................................................................6
Bibliografia..........................................................................................................................................................7
/conversion/tmp/scratch/503106224.doc Pág. 2
Business Add-Ins
Introdução
Business Add-Ins, ou resumidamente BADI, é uma nova técnica de enhancement de
programas ABAP que surgiu junto com o ABAP Objects.
As BADIs podem ser definidas como dependentes de filtros. Isso permite por exemplo a
criação de uma implementação diferente para cada país.
/conversion/tmp/scratch/503106224.doc Pág. 3
Business Add-Ins
Nas novas versões do R/3, os desenvolvedores SAP tem criado um número maior de
BADIs em relação a customer exists (SMOD/CMOD).
Arquitetura
Application
Customer
/conversion/tmp/scratch/503106224.doc Pág. 4
Business Add-Ins
Interface
É o esqueleto de uma classe. Isso significa que na interface você define os métodos da
classe sem codifica-los. É como um modelo de implementação.
Focando em BADIs, é o esboço onde o desenvolvedor SAP define o que a BADI pode
fazer, com quais variáveis ela vai trabalhar, quais serão os parâmetros de importação e
exportação, deixando a codificação em branco para o desenvolvedor do cliente
preencher.
Classe
Instancia
Resumidamente é o ato de carregar a classe na memória para que seus métodos possam
ser executados.
Outra maneira é procurar dentro do código do programa standard pelo método da classe
que instancia as BADIs - cl_exithandler-get_instance.
Buscando a declaração da variável passada ao parâmetro instance você descobre a
interface da BADI que está sendo instanciada.
Report businessaddin.
class cl_exithandler definition load. "declaration
data exit type ref to if_ex_businessaddin. "interface reference
data word(15) type c value 'Business Add-in'. "string you want to
change
start-of-selection.
call method cl_exithandler=>get_instance "factory method call
changing instance = exit.
write:/'Please click here'.
at line-selection.
/conversion/tmp/scratch/503106224.doc Pág. 5
Business Add-Ins
Ainda não existe uma ferramenta fácil para localizar BADIs assim como não existe para
as customer exit.
Analisando a definição
De posse do nome da podemos analisar na SE18 se a BADI atende nossas
necessidades.
Para isso verificamos os parâmetros de importação e exportação de cada método.
Somente essas variáveis e aquelas que criarmos localmente estarão disponíveis para
manipulação em nosso código dentro dos métodos.
Variáveis globais da aplicação não são visíveis dentro dos métodos assim como não são
nas funções.
Dentro dos métodos também não é permitido a chamada de telas e a criação de tabelas
internas com header line.
Todas as definições podem ter mais de uma implementação, porém, na maioria delas,
somente uma ativa ao mesmo tempo.
Implementando a BADI
1. Na tela da SE19 insira o nome da sua implementação. É um nome qualquer
começando por Z ou Y.
2. Pressione criar.
3. Insira o nome da definição da BADI (vide arquitetura).
/conversion/tmp/scratch/503106224.doc Pág. 6
Business Add-Ins
5. Selecione um método via duplo clique. Na próxima tela insira o código desejado.
Retorne para a SE19
6. Ative a implementação
Quando a BADI possui filtro, você deve informar o valor do filtro para o qual a
implementação é válida.
Bibliografia
1. Changing the SAP Standard (BC) , SAP Library, SAP AG., 2000, caminho Library /
Basis Components / ABAP Workbench (BC-DWB)
2. Business_Add_Ins, SAP AG. 2001
/conversion/tmp/scratch/503106224.doc Pág. 7