Você está na página 1de 7

Business Add-Ins

C:\Documents and Settings\fpcastro\Desktop\BADI.doc Pg. 1


SUM!I"
INTRODUO..................................................................................................................................................3
ARQUITETURA................................................................................................................................................4
UM POUCO DE ORIENTAO A OBJETOS..............................................................................................5
COMO ENCONTRAR UMA BADI EM UM PROGRAMA STANDARD..................................................5
ANALISANDO A DEFINIO........................................................................................................................6
IMPLEMENTANDO A BADI..........................................................................................................................6
BIBLIOGRAFIA................................................................................................................................................7
C:\Documents and Settings\fpcastro\Desktop\BADI.doc Pg. #
Introduo
Business Add$Ins% ou resumidamente BADI% & uma no'a t&cnica de en(ancement de
programas ABAP )ue surgiu *unto com o ABAP "+*ects.
" grfico acima mostra uma compara,-o com outras t&cnicas de modifica,-o de
programas ABAP.
.m compara,-o a customer e/its 0SM"D1CM"D2% BADIS s-o mais f3e/4'eis por&m mais
dif4ceis de uti3i5ar% mas est-o mais pr6/imas do e)ui34+rio entre f3e/i+i3idade e faci3idade de
uso.
As BADIs s-o desen'o3'idas em ABAP "+*ects )ue & a e/tens-o do ABAP para
"rienta,-o a "+*etos.
Ao contrrio das customer$e/its% onde somente a SAP podia criar os pontos de
modifica,-o% BADIs podem ser criadas por outras empresas de desen'o3'imento ABAP
para serem uti3i5adas nos programas desen'o3'idos por e3as.
As BADIs podem ser definidas como dependentes de fi3tros. Isso permite por e/emp3o a
cria,-o de uma imp3ementa,-o diferente para cada pa4s.
A SAP garante a compati+i3idade de todas as interfaces BADIs em futuros re3eases.
Upgrades n-o ir-o afetar as imp3ementa,7es atuais.
8as no'as 'ers7es do !19% os desen'o3'edores SAP tem criado um n:mero maior de
BADIs em re3a,-o a customer e/ists 0SM"D1CM"D2.
C:\Documents and Settings\fpcastro\Desktop\BADI.doc Pg. 9
Arquitetura
Application
" desen'o3'edor SAP define em seu programa o ponto em )ue uma capacidade de
en(ancement seria :ti3.
A partir da4 e3e cria no BADI Bui3der 0transa,-o S.1;2 a definio da BADI% )ue
+asicamente & a sua interface.
Ap6s a cria,-o da defini,-o% e3e 'o3ta ao programa e insere a c(amada aos m&todos
dessa BADI e insere tam+&m o c6digo )ue instancia a BADI caso uma imp3ementa,-o
de3a e/ista.
Customer
<uando o SAP est sendo imp3antando% o desen'o3'edor do c3iente% ap6s estudar a
defini,-o da BADI% perce+e )ue a mesma atende as suas necessidades.
Para codificar seu en(ancement% e3e cria uma implementao dessa BADI 'ia BADI
Imp3ementation 0transa,-o S.1;2 e insere seus c6digos nos m&todos dispon4'eis.
C:\Documents and Settings\fpcastro\Desktop\BADI.doc Pg. =
Um pouco de Orientao a Objetos
Mtodo
S-o as fun,7es ou procedimentos da c3asse. > onde codificamos as funciona3idades da
da c3asse.
Interface
> o es)ue3eto de uma c3asse. Isso significa )ue na interface 'oc? define os m&todos da
c3asse sem codifica$3os. > como um mode3o de imp3ementa,-o.
@ocando em BADIs% & o es+o,o onde o desen'o3'edor SAP define o )ue a BADI pode
fa5er% com )uais 'ari'eis e3a 'ai tra+a3(ar% )uais ser-o os parAmetros de importa,-o e
e/porta,-o% dei/ando a codifica,-o em +ranco para o desen'o3'edor do c3iente
preenc(er.
Classe
A c3asse & a imp3ementa,-o feita na S.1;. "nde o desen'o3'edor do c3iente ir inserir
seu c6digo em cada m&todo )ue foi definido na interface.
Instancia
!esumidamente & o ato de carregar a c3asse na mem6ria para )ue seus m&todos possam
ser e/ecutados.
Como encontrar uma BADI em um programa standard
" modo mais fci3 & procurando na transa,-o SP!" B Customi5ing ou na (ierar)uia de
componentes.
"utra maneira & procurar dentro do c6digo do programa standard pe3o m&todo da c3asse
)ue instancia as BADIs $ cl_exithandler-get_instance.
Buscando a dec3ara,-o da 'ari'e3 passada ao parAmetro instance 'oc? desco+re a
interface da BADI )ue 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 dd!in'. "strin" you want to
chan"e
start!of!selection.
call #ethod cl_exithandler=>get_instance "factory #ethod call
chan"in" instance $ exit.
write%&''lease clic( here'.
at line!selection.
write%& ')ri"inal word% '*word.
call #ethod exit!+#ethode "add!in call
chan"in" para#eter $ word.
C:\Documents and Settings\fpcastro\Desktop\BADI.doc Pg. C
write%& ',han"ed word% '*word.
8esse e/emp3o a interface da BADI & I@D.EDBUSI8.SSADDI8% tirando o prefi/o I@D.ED
temos o nome da defini,-o da BADI% nesse caso BUSI8.SSADDI8.
Ainda n-o e/iste uma ferramenta fci3 para 3oca3i5ar BADIs assim como n-o e/iste para
as customer e/it.
Analisando a definio
De posse do nome da podemos ana3isar na SE! se a BADI atende nossas
necessidades.
Para isso 'erificamos os parAmetros de importa,-o e e/porta,-o de cada m&todo.
Somente essas 'ari'eis e a)ue3as )ue criarmos 3oca3mente estar-o dispon4'eis para
manipu3a,-o em nosso c6digo dentro dos m&todos.
Fari'eis g3o+ais da ap3ica,-o n-o s-o 'is4'eis dentro dos m&todos assim como n-o s-o
nas fun,7es.
Dentro dos m&todos tam+&m n-o & permitido a c(amada de te3as e a cria,-o de ta+e3as
internas com (eader 3ine.
Godas as defini,7es podem ter mais de uma imp3ementa,-o% por&m% na maioria de3as%
somente uma ati'a ao mesmo tempo.
Se o f3ag "tili#$m%ltipla esti'er se3ecionado siginifica )ue podem e/istir 'rias
imp3ementa,7es ati'as ao mesmo tempo para a defini,-o.
Implementando a BADI
1. 8a te3a da S.1; insira o nome da sua imp3ementa,-o. > um nome )ua3)uer
come,ando por H ou I.
#. Pressione criar.
9. Insira o nome da defini,-o da BADI 0'ide ar)uitetura2.
C:\Documents and Settings\fpcastro\Desktop\BADI.doc Pg. J
=. .sco3(e a a+a Interface
C. Se3ecione um m&todo 'ia dup3o c3i)ue. 8a pr6/ima te3a insira o c6digo dese*ado.
!etorne para a S.1;
J. Ati'e a imp3ementa,-o
<uando a BADI possui fi3tro% 'oc? de'e informar o 'a3or do fi3tro para o )ua3 a
imp3ementa,-o & '3ida.
Bibliografia
1. Changing the SAP Standard (BC) , SAP Library, SAP AG., 2000, caminho Library /
Basis Components / ABAP Workbench (BC-WB!
2. Business_Add_Ins, SAP AG. 200"
C:\Documents and Settings\fpcastro\Desktop\BADI.doc Pg. K

Você também pode gostar