Skip to Content
author's profile photo Former Member
Former Member

how to find BADI's for a transaction?

hiii every one,

plzz , any one can clarify my doubt, regarding finding BADI's

thanks n regards

sudheer

Add comment
10|10000 characters needed characters exceeded

3 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Aug 02, 2006 at 11:21 AM

    Hi,

    Ex: to BAdI for ME21N

    Goto T-CODE-> ME21N,

    Goto System-> Status-> Program, Double click on it , it will take you to the program

    Goto Menu->Goto->Attributes->Development Class/Package.

    Goto SE80 ->give your Package

    it will display available components in it along with Enhancement

    Check in Enhancement,here you can find related BAdI's

    Regards,

    Raghav

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      <b>just run this report u get badi</b>

      REPORT ZNEGI16 .

      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'

      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'.

      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.

      when 'SXSD'.

      SET PARAMETER ID 'EXN' FIELD SY-LISEL+1(20).

      CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.

  • Posted on Aug 02, 2006 at 11:16 AM

    Hello,

    Set a break point on the

    Class: CL_EXITHANDLER=>GET_INSTANCE

    And run your transaction, If the transaction have a badi it will stop there.

    regards,

    Naimesh

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Aug 02, 2006 at 11:17 AM

    User Exit

    check this link

    regards

    srikanth

    Add comment
    10|10000 characters needed characters exceeded