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

User Exit in ME32

Hello,

I am facing following problem. I am searching for an user exit in transaction ME32 to implement a new event for an workflow.

Can anybody help me with this?

Thanks for your help,

Christoph

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Feb 21, 2008 at 05:05 AM

    Hi Christoph,

    Copy this program in SE38 and execute. Will get all list of existing Exits and

    Badis for a particular Transaction code.

    very useful program

    *ALL User exits are stored in table modsap, modsapt -- tables to check the userexits in sap system

    Below code will give a list of BADIs for particular transaction.

    &----


    *& Report ZNEGI16 *

    *& *

    &----


    *& *

    *& *

    &----


    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.

    endcase.

    <b>Reward points if this helps.

    Manish</b>

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.