Você está na página 1de 7

Business Add-Ins

Business Add-Ins

Maurcio Mio
Consultor BC
mauricio.miao@procwork.com.br
SAP Certified

Excludo: C:\Documents and


Settings\miguel.paula\Configur
aes
locais\Temp\curso_badi.doc
Inserido: C:\Documents and
Settings\miguel.paula\Configur
aes
locais\Temp\curso_badi.doc
Excludo: D:\Consultoria\Auto
estudo\BADI\curso_badi.doc

C:\DOCUME~1\CONSUL~1\CONFIG~1\Temp\Rar$DI00.125\curso_badi.doc Pg. 1
Business Add-Ins

INTRODUO ................................................................................................................................................ 3

ARQUITETURA .............................................................................................................................................. 4

UM POUCO DE ORIENTAO A OBJETOS............................................................................................ 4

COMO ENCONTRAR UMA BADI EM UM PROGRAMA STANDARD ................................................ 5

ANALISANDO A DEFINIO...................................................................................................................... 6

IMPLEMENTANDO A BADI ........................................................................................................................ 6

BIBLIOGRAFIA .............................................................................................................................................. 7

Excludo: C:\Documents and


Settings\miguel.paula\Configur
aes
locais\Temp\curso_badi.doc
Inserido: C:\Documents and
Settings\miguel.paula\Configur
aes
locais\Temp\curso_badi.doc
Excludo: D:\Consultoria\Auto
estudo\BADI\curso_badi.doc

C:\DOCUME~1\CONSUL~1\CONFIG~1\Temp\Rar$DI00.125\curso_badi.doc Pg. 2
Business Add-Ins

Introduo
Business Add-Ins, ou resumidamente BADI, uma nova tcnica de enhancement de
programas ABAP que surgiu junto com o ABAP Objects.

O grfico acima mostra uma comparao com outras tcnicas de modificao de


programas ABAP.
Em comparao a customer exits (SMOD/CMOD), BADIS so mais flexveis porm mais
difceis de utilizar, mas esto mais prximas do equilbrio entre flexibilidade e facilidade de
uso.

As BADIs so desenvolvidas em ABAP Objects que a extenso do ABAP para


Orientao a Objetos.

Ao contrrio das customer-exits, onde somente a SAP podia criar os pontos de


modificao, BADIs podem ser criadas por outras empresas de desenvolvimento ABAP
para serem utilizadas nos programas desenvolvidos por elas.
Excludo: C:\Documents and
As BADIs podem ser definidas como dependentes de filtros. Isso permite por exemplo a Settings\miguel.paula\Configur
criao de uma implementao diferente para cada pas. aes
locais\Temp\curso_badi.doc

A SAP garante a compatibilidade de todas as interfaces BADIs em futuros releases. Inserido: C:\Documents and
Settings\miguel.paula\Configur
Upgrades no iro afetar as implementaes atuais. aes
locais\Temp\curso_badi.doc
Excludo: D:\Consultoria\Auto
estudo\BADI\curso_badi.doc

C:\DOCUME~1\CONSUL~1\CONFIG~1\Temp\Rar$DI00.125\curso_badi.doc Pg. 3
Business Add-Ins

Nas novas verses do R/3, os desenvolvedores SAP tem criado um nmero maior de
BADIs em relao a customer exists (SMOD/CMOD).

Arquitetura

Application

O desenvolvedor SAP define em seu programa o ponto em que uma capacidade de


enhancement seria til.
A partir da ele cria no BADI Builder (transao SE19) a definio da BADI, que
basicamente a sua interface.
Aps a criao da definio, ele volta ao programa e insere a chamada aos mtodos
dessa BADI e insere tambm o cdigo que instancia a BADI caso uma implementao
dela exista.

Customer

Quando o SAP est sendo implantando, o desenvolvedor do cliente, aps estudar a


definio da BADI, percebe que a mesma atende as suas necessidades.
Excludo: C:\Documents and
Para codificar seu enhancement, ele cria uma implementao dessa BADI via BADI Settings\miguel.paula\Configur
Implementation (transao SE19) e insere seus cdigos nos mtodos disponveis. aes
locais\Temp\curso_badi.doc
Inserido: C:\Documents and
Settings\miguel.paula\Configur
Um pouco de Orientao a Objetos aes
locais\Temp\curso_badi.doc

Mtodo Excludo: D:\Consultoria\Auto


estudo\BADI\curso_badi.doc

C:\DOCUME~1\CONSUL~1\CONFIG~1\Temp\Rar$DI00.125\curso_badi.doc Pg. 4
Business Add-Ins

So as funes ou procedimentos da classe. onde codificamos as funcionalidades da


da classe.

Interface

o esqueleto de uma classe. Isso significa que na interface voc define os mtodos da
classe sem codifica-los. como um modelo de implementao.
Focando em BADIs, o esboo onde o desenvolvedor SAP define o que a BADI pode
fazer, com quais variveis ela vai trabalhar, quais sero os parmetros de importao e
exportao, deixando a codificao em branco para o desenvolvedor do cliente
preencher.

Classe

A classe a implementao feita na SE19. Onde o desenvolvedor do cliente ir inserir


seu cdigo em cada mtodo que foi definido na interface.

Instancia

Resumidamente o ato de carregar a classe na memria para que seus mtodos possam
ser executados.

Como encontrar uma BADI em um programa standard


O modo mais fcil procurando na transao SPRO Customizing ou na hierarquia de
componentes.

Outra maneira procurar dentro do cdigo do programa standard pelo mtodo da classe
que instancia as BADIs - cl_exithandler-get_instance.
Buscando a declarao da varivel passada ao parmetro 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
Excludo: C:\Documents and
changing instance = exit. Settings\miguel.paula\Configur
write:/'Please click here'. aes
locais\Temp\curso_badi.doc
at line-selection. Inserido: C:\Documents and
write:/ 'Original word: ',word. Settings\miguel.paula\Configur
aes
call method exit->methode "add-in call locais\Temp\curso_badi.doc
changing parameter = word. Excludo: D:\Consultoria\Auto
estudo\BADI\curso_badi.doc

C:\DOCUME~1\CONSUL~1\CONFIG~1\Temp\Rar$DI00.125\curso_badi.doc Pg. 5
Business Add-Ins

write:/ 'Changed word: ',word.

Nesse exemplo a interface da BADI IF_EX_BUSINESSADDIN, tirando o prefixo IF_EX_


temos o nome da definio da BADI, nesse caso BUSINESSADDIN.

Ainda no existe uma ferramenta fcil para localizar BADIs assim como no existe para
as customer exit.

Analisando a definio
De posse do nome da podemos analisar na SE18 se a BADI atende nossas
necessidades.
Para isso verificamos os parmetros de importao e exportao de cada mtodo.
Somente essas variveis e aquelas que criarmos localmente estaro disponveis para
manipulao em nosso cdigo dentro dos mtodos.
Variveis globais da aplicao no so visveis dentro dos mtodos assim como no so
nas funes.
Dentro dos mtodos tambm no permitido a chamada de telas e a criao de tabelas
internas com header line.

Todas as definies podem ter mais de uma implementao, porm, na maioria delas,
somente uma ativa ao mesmo tempo.

Se o flag Utiliz.mltipla estiver selecionado siginifica que podem existir vrias


implementaes ativas ao mesmo tempo para a definio.

Implementando a BADI
1. Na tela da SE19 insira o nome da sua implementao. um nome qualquer
comeando por Z ou Y.
2. Pressione criar.
3. Insira o nome da definio da BADI (vide arquitetura).

Excludo: C:\Documents and


Settings\miguel.paula\Configur
aes
locais\Temp\curso_badi.doc
Inserido: C:\Documents and
Settings\miguel.paula\Configur
aes
locais\Temp\curso_badi.doc
Excludo: D:\Consultoria\Auto
estudo\BADI\curso_badi.doc

C:\DOCUME~1\CONSUL~1\CONFIG~1\Temp\Rar$DI00.125\curso_badi.doc Pg. 6
Business Add-Ins

4. Escolhe a aba Interface

5. Selecione um mtodo via duplo clique. Na prxima tela insira o cdigo desejado.
Retorne para a SE19
6. Ative a implementao

Quando a BADI possui filtro, voc deve informar o valor do filtro para o qual a
implementao vlida.

Bibliografia
Excludo: C:\Documents and
Settings\miguel.paula\Configur
1. Changing the SAP Standard (BC) , SAP Library, SAP AG., 2000, caminho Library / aes
Basis Components / ABAP Workbench (BC-DWB) locais\Temp\curso_badi.doc
Inserido: C:\Documents and
2. Business_Add_Ins, SAP AG. 2001 Settings\miguel.paula\Configur
aes
locais\Temp\curso_badi.doc
Excludo: D:\Consultoria\Auto
estudo\BADI\curso_badi.doc

C:\DOCUME~1\CONSUL~1\CONFIG~1\Temp\Rar$DI00.125\curso_badi.doc Pg. 7

Você também pode gostar