Вы находитесь на странице: 1из 7

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

1


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
I nserido: 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................................................................................................................................................ 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
I nserido: 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. 3


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.

As BADIs podem ser definidas como dependentes de filtros. Isso permite por exemplo a
criao de uma implementao diferente para cada pas.

A SAP garante a compatibilidade de todas as interfaces BADIs em futuros releases.
Upgrades no iro afetar as implementaes atuais.

Excludo: C:\Documents and
Settings\miguel.paula\Configur
aes
locais\Temp\curso_badi.doc
I nserido: 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. 4


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.
Para codificar seu enhancement, ele cria uma implementao dessa BADI via BADI
Implementation (transao SE19) e insere seus cdigos nos mtodos disponveis.


Um pouco de Orientao a Objetos

Mtodo
Excludo: C:\Documents and
Settings\miguel.paula\Configur
aes
locais\Temp\curso_badi.doc
I nserido: 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. 5


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.

Repor t busi nessaddi n.
cl ass cl _exi t handl er def i ni t i on l oad. "decl ar at i on
dat a exit type ref to if_ex_businessaddin. "i nt er f ace r ef er ence
dat a wor d( 15) t ype c val ue ' Busi ness Add- i n' . "st r i ng you want t o
change

st ar t - of - sel ect i on.
cal l met hod cl_exithandler=>get_instance "f act or y met hod cal l
changi ng instance = exit.
wr i t e: / ' Pl ease cl i ck her e' .

at l i ne- sel ect i on.
wr i t e: / ' Or i gi nal wor d: ' , wor d.

cal l met hod exi t - >met hode "add- i n cal l
changi ng par amet er = wor d.
Excludo: C:\Documents and
Settings\miguel.paula\Configur
aes
locais\Temp\curso_badi.doc
I nserido: 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

wr i t e: / ' Changed wor d: ' , wor d.

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
I nserido: 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. 7


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

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



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

Вам также может понравиться