encontrar badi’s, user-exits, enhancements

16
ABAP Zombie » BADI’s, User-exits, Enhancements… como encontrá-los? http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08] BADI’s, User-exits, Enhancements… como encontrá- los? Faaaala Zumbizada! Estou de volta no modo “zombie = ON” por causa do projeto, testes integrados que estão acabando com a minha vida (e que nunca acabam!) Bom, mas chega de mimimi e vamos lá!!! Neste post vou falar sobre alguns métodos para encontrar Enhancements, User-exits, BADI’s e etc. Aposto que isso pode ajudar muito, principalmente para os zumbis mais novinhos. Dicas A Published on July 19th, 2012 | by Daiane Zigiotto 9 Navigation

Upload: gutomira

Post on 07-Nov-2015

59 views

Category:

Documents


4 download

DESCRIPTION

Encontrar Badi, Exit

TRANSCRIPT

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    BADIs, User-exits,Enhancements como encontr-los?Faaaala Zumbizada! Estou de volta no modo zombie = ON porcausa do projeto, testes integrados que esto acabando com aminha vida (e que nunca acabam!) Bom, mas chega de mimimi e vamos l!!! Neste post vou falar sobrealguns mtodos para encontrar Enhancements, User-exits, BADIs eetc. Aposto que isso pode ajudar muito, principalmente para oszumbis mais novinhos.

    Dicas A

    Published on July 19th, 2012 | by Daiane Zigiotto 9

    Navigation

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    No, isso no uma user-exit

    CALL CUSTOMER FUNCTION

    Voc pode colocar um BREAK-POINT nesse comando, que usadopara chamar as User-exits . J falamos dele aqui no blog e se quisersaber mais, clique aqui.

    BADIS

    Mtodo 1: V_EXT_ACT e V_EXT_IMP

    A BADI faz uma seleo nas tabelas de vises V_EXT_ACT eV_EXT_IMP. Ento podemos ir na transao ST05 -> SelecionarSQL Trace e Table Buffer Trace -> Activate Trace -> Executar atransao -> Deactivate Trace -> Display Trace.

    Ir aparecer a tela abaixo:

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    Vamos selecionar os seguintes objetos:

    No resultado final ir mostrar todas as BADIs na ordem em que elasforam executadas:

    Mtodo 2:CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE

    Na transao SE24, vamos selecionar a classe CL_EXITHANDLER,ir para o mtodo GET_INSTANCE e colocar um BREAK-POINT.

    Atravs do parmetro de exportao EXIT_NAME possvel saber onome da BADI que ser chamada.

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    Mtodo 3: FM SXV_GET_CLIF_BY_NAME.

    Um outro mtodo colocando um BREAK-POINT na funoSXV_GET_CLIF_BY_NAME, que chamada toda vez que algumaBADI executada.

    O parmetro de exportao NAME ir mostrar o nome da BADI.

    E a, achou difcil, chato, deprimente? No se assuste, vou mostraralgumas ferramentas que podem facilitar a sua vida!

    H algum tempo atrs precisei encontrar uma user-exit de umatransao X, e no meio de um frum no SCN encontrei um programabastante til! Ele lista todas as user-exits e BADIs de uma transao

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    ou programa.

    Abaixo est o cdigo-fonte. No sei quem o autor e no sercoincidncia encontrar esse mesmo programa em outros fruns (bem manjado).

    12345678910111213141516171819202122232425262728293031323334

    REPORT z_enhancement_finder NO STANDARD PAGE HEADING LINE-SIZE 201. TABLES : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir, sxs_attrt , tstct. DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.DATA : field1(30).DATA : v_devclass LIKE tadir-devclass. PARAMETERS : p_tcode LIKE tstc-tcode,p_pgmna LIKE tstc-pgmna . DATA wa_tadir TYPE tadir. START-OF-SELECTION. IF NOT p_tcode IS INITIAL. SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode. ELSEIF NOT p_pgmna IS INITIAL. tstc-pgmna = p_pgmna. ENDIF. IF sy-subrc EQ 0. SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR'

    Default

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    3536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103

    AND object = 'PROG' AND obj_name = tstc-pgmna. MOVE : tadir-devclass TO v_devclass. IF sy-subrc NE 0. SELECT SINGLE * FROM trdir WHERE name = tstc-pgmna. IF trdir-subc EQ 'F'. SELECT SINGLE * FROM tfdir WHERE pname = tstc-pgmna. SELECT SINGLE * FROM enlfdir WHERE funcname = tfdir-funcname. SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR' AND object = 'FUGR' AND obj_name EQ enlfdir-area. MOVE : tadir-devclass TO v_devclass. ENDIF. ENDIF. SELECT * FROM tadir INTO TABLE jtab WHERE pgmid = 'R3TR' AND object IN ('SMOD', 'SXSD') AND devclass = v_devclass. SELECT SINGLE * FROM tstct WHERE sprsl EQ sy-langu AND tcode EQ p_tcode. FORMAT COLOR COL_POSITIVE INTENSIFIED OFF. WRITE:/(19) 'Transaction Code - ', 20(20) p_tcode, 45(50) tstct-ttext. SKIP. IF NOT jtab[] IS INITIAL. WRITE:/(105) sy-uline. FORMAT COLOR COL_HEADING INTENSIFIED ON. * sorting the internal table SORT jtab BY object. DATA : wf_txt(60) TYPE c, wf_smod TYPE i , wf_badi TYPE i , wf_object2(30) TYPE c. CLEAR : wf_smod, wf_badi , wf_object2. *GET the total smod. LOOP AT jtab INTO wa_tadir. AT FIRST. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE:/1 sy-vline, 2 'Enhancement/ Business Add-in', 41 sy-vline , 42 'Description', 105 sy-vline. WRITE:/(105) sy-uline. ENDAT. CLEAR wf_txt. AT NEW object. IF wa_tadir-object = 'SMOD'. wf_object2 = 'Enhancement' . ELSEIF wa_tadir-object = 'SXSD'. wf_object2 = ' Business Add-in'.

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172

    ENDIF. FORMAT COLOR COL_GROUP INTENSIFIED ON. WRITE:/1 sy-vline, 2 wf_object2, 105 sy-vline. ENDAT. CASE wa_tadir-object. WHEN 'SMOD'. wf_smod = wf_smod + 1. SELECT SINGLE modtext INTO wf_txt FROM modsapt WHERE sprsl = sy-langu AND name = wa_tadir-obj_name. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WHEN 'SXSD'.* for badis wf_badi = wf_badi + 1 . SELECT SINGLE text INTO wf_txt FROM sxs_attrt WHERE sprsl = sy-langu AND exit_name = wa_tadir-obj_name. FORMAT COLOR COL_NORMAL INTENSIFIED ON. ENDCASE. WRITE:/1 sy-vline, 2 wa_tadir-obj_name HOTSPOT ON, 41 sy-vline , 42 wf_txt, 105 sy-vline. AT END OF object. WRITE : /(105) sy-uline. ENDAT. ENDLOOP. WRITE:/(105) sy-uline. SKIP. FORMAT COLOR COL_TOTAL INTENSIFIED ON. WRITE:/ 'No.of Exits:' , wf_smod. WRITE:/ 'No.of BADis:' , wf_badi. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE:/(105) 'No userexits or BADis exist'. ENDIF. ELSE. FORMAT COLOR COL_NEGATIVE INTENSIFIED ON. WRITE:/(105) 'Transaction does not exist'. ENDIF. AT LINE-SELECTION. DATA : wf_object TYPE tadir-object. CLEAR wf_object. GET CURSOR FIELD field1. CHECK field1(8) EQ 'WA_TADIR'. READ TABLE jtab WITH KEY obj_name = sy-lisel+1(20). MOVE jtab-object TO wf_object. CASE wf_object. WHEN 'SMOD'. SET PARAMETER ID 'MON' FIELD sy-lisel+1(10). CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    Encontrei tambm esse outro relatrio abaixo. O cdigo-fonte estaqui. Basicamente, tem a mesma funcionalidade, mas euparticularmente prefiro o anterior.

    Outras ferramentas

    SNIF

    E voc pode estar se perguntando: no existe nenhum relatriostandard?. Sim, existe! A SAP disponibiliza o SNIF (esse o nomedo programa, no da transao) que lista todos os CostumerEnhancements ativos:

    173174175

    WHEN 'SXSD'. SET PARAMETER ID 'EXN' FIELD sy-lisel+1(20). CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN. ENDCASE.

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    ABAP X-RAY EYE

    Pesquisando um pouco mais encontrei um SNIF melhorado, queinclui algumas opes, como por exemplo, exits para Validao eSubstituio, frmulas (VOFM), Screen-exits e Field-exits. Esseprojeto est disponvel neste link:http://code.google.com/p/abapexitrayeye/ e para implement-lovoc precisar usar o SAP Link.

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    Links teis:

    WIKI: Enhancements and Modifications BADI, EnhancementFramework, User Exits, BTE

    WIKI: Ways to find a userexit

    Tags: badi, enhancement, user-exit

    About the Author

    Daiane Zigiotto Abapeira desde 2008, curte som

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    underground, arte urbana, bobeiras geek, luta kravmaga, fala grias idosas e jura que uma pessoanormal.

    Related Posts

    9 Responses to BADIs, User-exits, Enhancementscomo encontr-los?

    User-Exit No deixe as brechasdescontroladas Parte 2 SMOD/CMOD

    ABAPZombie Guide to ABAP Parte 20 CALL CUSTOMER-FUNCTION

    User-Exit No deixe as brechasdescontroladas Parte 1 Clssicas

    Renato Bonini says:July 20, 2012 at 4:23 pm

    S um pitaco para achar BADIs, standardsPor padro as Classes Standard da SAP para BADIs tem anomenclatura CL_EX_xxxxxxxx. Desta forma, acessando atransao SE24 e buscar por CL_EX_*, no campo nome daclasse. Vai listar quase todas as BADIs e caso voc noconsiga chegar na BADI em si pela SE24. Use o complementodo nome da classe na SE18 ou SE19, exemplo:

    classe: CL_EX_AC_DOCUMENT => BADI: AC_DOCUMENT

    []s

    Reply

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    Mauricio Cruz says:July 23, 2012 at 10:16 am

    Animal o post Daiane, eu no manjava desses relatrios noeu sou meio old-school, sempre tento acha exits c/ os break-points em funes e etcs! haha. Mas talvez eu tenha que mudarum pouco, esses relatrios que voc postou me parecem muitoteis!

    Viva o Open Source, e valeu pelo post!

    Reply

    Danilo Cardoso says:September 5, 2012 at 7:10 pm

    Fala galera!Esse post ficou muito loko Daiane!

    Eu tbm no manjava esses relatrios no. Curto muito aprenderessas paradas, obrigado pelas dicas.

    Estava em conversa com a nossa amiga do corao, PriscilaSilva. Falvamos justamente sobre como encontrar BAdIs nosistema e eu escrevi um e-mail para ela detalhando doismtodos. Mas no postarei o e-mail aqui, pois, alm de ser umainformao redundante, eu escrevi em ingls (s debrincaiderinha..rs) e utilizei muitas grias do Bronx algumaspessoas podem achar meio nocivo (mas a Pri riu pra caramba ..rs).

    Abraos.

    Reply

    Mauricio Cruz says:September 5, 2012 at 10:53 pm

    SERIOUSLY, ARE YOU KIDDING ME ?!? PUT THATMOTHERFUCKING BREAK POINT IN THEMOTHERFUCKING CALL-CUSTOMER FUNCTIONINSTRUCTION OR ILL SHOOT YOU IN YOURGODDAMN FACE!

    (foi also assim? heoauheoahe)

    Reply

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    Vinicius says:September 20, 2012 at 11:35 am

    Meu mtodo favorito buscando no SDN! :p

    Outra forma tambem usando a boa e velha SE84 ->Enhancements -> Business Add-ins -> Definitions -> e ai buscopelo pacote da transao (ME, por exemplo). O mesmo serve pracustomer-exits

    Reply

    Andra says:November 11, 2012 at 9:12 am

    Aii que orgulho, DAIII!

    Nunca tinha lido um post da sua autoria, mujer! Congrats!Adorei

    E me ajudou muito a relembrar Ai ai, d uma saudade e umaperto no meu corao ver cdigo ABAP.. Mais do que eu sintosaudade da minha familia. E eu gostaria de estar brincandohahahaha

    Reply

    Robson says:November 25, 2012 at 2:25 pm

    Muito bacana o post!S um detalhe: o link clique aqui do item CALL CUSTOMERFUNCTION est quebrado.

    Abs!

    Reply

    Mauricio Cruz says:November 28, 2012 at 10:48 am

    Opa, corrigido. Valeu Robson!

    Reply

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    Estevam Vieira says:December 13, 2013 at 8:34 am

    Bom dia, Daiane!

    Parabns pela inciativa, seu site demais, e uma timaferramenta.

    Gostaria de saber se voc poderia me indicar dois ABAPs, eupreciso de Trainee/Jr para regio do Morumbi e Pleno pararegio da Av. Paulista. Meu email [email protected]

    Muito Obrigado!

    Reply

    Leave a ReplyYour email address will not be published. Required fields are marked*

    Name *

    Email *

    Website

    Comment

    You may use these HTML tags and attributes:

    Notify me of followup comments via e-mail. You can also subscribe without

    commenting.

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    806Fans

    561Followers

    RSSSubscribe

    Back to Top

    Popular Comentrios

    Novatos no Mundo SAP Por ondposted on July 1, 2011

    No se perca no mundo mgico dposted on April 9, 2013

    Novo ABAP Debugger Porque laposted on January 27, 2011

    E a tal Desvalorizao do Mercposted on August 9, 2012

    Converso de variveis Hoo tposted on January 26, 2011

    War Report Estrutura tudo,posted on May 16, 2012

    ABAPZombie - Prevenindo consultores de virarem zumbis desde Dezembro de 2010.Criado por Mauro Laranjeira e Mauricio Cruz.

    July 2012

    M T W T F S S

    1

    2 3 4 5 6 7 8

  • ABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    http://www.abapzombie.com/dicas-abap/2012/07/19/badis-user-exits-enhancements-como-encontra-los/[20/03/2014 11:43:08]

    2013 ABAPZombie Brainporation

    Cdigos e Exemplos FAQ Guias Equipe

    Back to Top

    Jun Aug

    9 10 11 12 13 14 15

    16 17 18 19 20 21 22

    23 24 25 26 27 28 29

    30 31

    Tags

    abap alv at authority-check autorizao bol commands CRM

    cdigo debug guide nonsense off-topic OO Orientao a Objetos

    pi sap sap inside track segurana tela de seleo user-exit

    webdynpro xi

    abapzombie.comABAP Zombie BADIs, User-exits, Enhancements como encontr-los?

    MtY29tby1lbmNvbnRyYS1sb3MvAA==: select0: #

    MtY29tby1lbmNvbnRyYS1sb3MvAA==: form1: s:

    MtY29tby1lbmNvbnRyYS1sb3MvAA==: form3: author: email: url: submit: subscribe-reloaded: yescomment: