Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Active User Exits and BAdi

former_member727126
Participant
0 Kudos

Dear All,

I am in need to find active user exits and BAdis in our implementation.

Is there any specific Tcode or Program?.

Could anybody help me in this regard.

Regards,

S.Sridhar

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Sridhar,

To find the active user exits, use the below program.

REPORT ZJK_USED_ENHANCEMENT_LIST .

TABLES : TFDIR, TRDIR, D010SINF, MODSAP, MODACT, TDEVCT, TADIR, TSTC, TSTCT, V_TDEVC, V_FDIRT.

TYPE-POOLS : SLIS.

TYPES : BEGIN OF ST_TRDIR,

NAME LIKE TRDIR-NAME,

CDAT LIKE TRDIR-CDAT,

UDAT LIKE TRDIR-UDAT,

RSTAT LIKE TRDIR-RSTAT,

END OF ST_TRDIR.

TYPES : BEGIN OF ST_TFDIR,

SNO(4) TYPE C,

INCL LIKE TFDIR-PNAME,

CDAT LIKE TRDIR-CDAT,

UDAT LIKE TRDIR-UDAT,

R3STATE LIKE D010SINF-R3STATE,

PNAME LIKE TFDIR-PNAME,

INCLUDE LIKE TFDIR-INCLUDE,

FUNCNAME LIKE TFDIR-FUNCNAME,

ENHANCE LIKE MODSAP-NAME,

STEXT LIKE V_FDIRT-STEXT,

PROJECT LIKE MODACT-NAME,

DEVCLASS LIKE TDEVC-DEVCLASS,

CTEXT LIKE TDEVC-CTEXT,

END OF ST_TFDIR.

DATA : IT_TRDIR TYPE TABLE OF ST_TRDIR,

WA_TRDIR TYPE ST_TRDIR.

DATA : IT_TFDIR TYPE TABLE OF ST_TFDIR,

WA_TFDIR TYPE ST_TFDIR.

DATA : LIKE(2) TYPE N,

X(2),

SNO(4),

HTYPE TYPE DD01V-DATATYPE.

**********************************ALV************************************

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

WA_LAYOUT TYPE SLIS_LAYOUT_ALV ,

TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP'.

**********************************ALV************************************

PERFORM MANUAL_FIELDCAT USING 'SNO' 'IT_TFDIR' 'X' '4' 'S.No' .

PERFORM MANUAL_FIELDCAT USING 'INCL' 'IT_TFDIR' 'X' '15' 'Include Name' .

PERFORM MANUAL_FIELDCAT USING 'CDAT' 'IT_TFDIR' 'X' '15' 'Created Date' .

PERFORM MANUAL_FIELDCAT USING 'UDAT' 'IT_TFDIR' ' ' '15' 'Last Modified' .

PERFORM MANUAL_FIELDCAT USING 'R3STATE' 'IT_TFDIR' ' ' '15' 'Active / Inactive' .

PERFORM MANUAL_FIELDCAT USING 'PNAME' 'IT_TFDIR' ' ' '12' 'Prgram Name' .

*PERFORM MANUAL_FIELDCAT USING 'INCLUDE' 'IT_TFDIR' ' ' '10' 'Include No' .

PERFORM MANUAL_FIELDCAT USING 'FUNCNAME' 'IT_TFDIR' ' ' '30' 'Function Module' .

PERFORM MANUAL_FIELDCAT USING 'STEXT' 'IT_TFDIR' ' ' '74' 'Purpose of use' .

PERFORM MANUAL_FIELDCAT USING 'ENHANCE' 'IT_TFDIR' ' ' '15' 'Enhancement' .

PERFORM MANUAL_FIELDCAT USING 'PROJECT' 'IT_TFDIR' ' ' '10' 'Project' .

PERFORM MANUAL_FIELDCAT USING 'DEVCLASS' 'IT_TFDIR' ' ' '10' 'Package' .

PERFORM MANUAL_FIELDCAT USING 'CTEXT' 'IT_TFDIR' ' ' '100' 'Module' .

PERFORM SELECTION.

PERFORM LAYOUT.

PERFORM CALL_GRID_DISPLAY.

**********************************ALV************************************

FORM SELECTION.

SELECT NAME CDAT UDAT RSTAT FROM TRDIR INTO TABLE IT_TRDIR WHERE NAME LIKE 'ZX%' AND SUBC EQ 'I'.

LOOP AT IT_TRDIR INTO WA_TRDIR.

WA_TFDIR-INCL = WA_TRDIR-NAME.

WA_TFDIR-CDAT = WA_TRDIR-CDAT .

WA_TFDIR-UDAT = WA_TRDIR-UDAT.

SELECT SINGLE * FROM D010SINF WHERE PROG EQ WA_TRDIR-NAME AND R3STATE = 'I'.

IF SY-SUBRC EQ 0.

WA_TFDIR-R3STATE = 'I'.

ELSE.

WA_TFDIR-R3STATE = 'A'.

ENDIF.

X = STRLEN( WA_TRDIR-NAME ).

X = X - 2.

CALL FUNCTION 'NUMERIC_CHECK'

EXPORTING

STRING_IN = WA_TRDIR-NAME+X

IMPORTING

HTYPE = HTYPE.

IF HTYPE EQ 'NUMC'.

SNO = SNO + 1.

WA_TFDIR-SNO = SNO.

WA_TFDIR-INCLUDE = WA_TRDIR-NAME+X.

CONCATENATE 'SAPL' WA_TRDIR-NAME+1 INTO WA_TRDIR-NAME.

X = STRLEN( WA_TRDIR-NAME ).

X = X - 3.

WA_TFDIR-PNAME = WA_TRDIR-NAME(X).

SELECT SINGLE * FROM TFDIR WHERE PNAME EQ WA_TFDIR-PNAME AND INCLUDE EQ WA_TFDIR-INCLUDE.

IF SY-SUBRC EQ 0.

WA_TFDIR-FUNCNAME = TFDIR-FUNCNAME.

SELECT SINGLE * FROM MODSAP WHERE MEMBER EQ WA_TFDIR-FUNCNAME.

IF SY-SUBRC EQ 0.

SELECT SINGLE * FROM MODACT WHERE MEMBER EQ MODSAP-NAME.

ENDIF.

WA_TFDIR-ENHANCE = MODSAP-NAME.

WA_TFDIR-PROJECT = MODACT-NAME.

SELECT SINGLE * FROM TADIR WHERE OBJ_NAME = MODSAP-NAME.

SELECT SINGLE * FROM TDEVCT WHERE DEVCLASS = TADIR-DEVCLASS AND SPRAS = SY-LANGU.

SELECT SINGLE * FROM V_FDIRT WHERE FUNCNAME EQ WA_TFDIR-FUNCNAME AND SPRAS EQ SY-LANGU.

WA_TFDIR-STEXT = V_FDIRT-STEXT.

WA_TFDIR-DEVCLASS = TDEVCT-DEVCLASS.

WA_TFDIR-CTEXT = TDEVCT-CTEXT.

APPEND WA_TFDIR TO IT_TFDIR.

ENDIF.

ENDIF.

CLEAR : X, D010SINF, TFDIR, HTYPE, MODSAP, MODACT, TADIR, TDEVCT.

ENDLOOP.

ENDFORM. "SELECTION

&----


*& Form MANUAL_FIELDCAT

&----


  • text

----


  • -->VALUE(P_0185) text

  • -->VALUE(P_0186) text

  • -->VALUE(P_0187) text

  • -->VALUE(P_0188) text

  • -->VALUE(P_0189) text

----


FORM MANUAL_FIELDCAT USING VALUE(P_0185)

VALUE(P_0186)

VALUE(P_0187)

VALUE(P_0188)

VALUE(P_0189).

WA_FIELDCAT-FIELDNAME = P_0185.

WA_FIELDCAT-TABNAME = P_0186.

WA_FIELDCAT-KEY = P_0187.

WA_FIELDCAT-OUTPUTLEN = P_0188.

WA_FIELDCAT-SELTEXT_L = P_0189.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. " manual_fieldcat

&----


*& Form LAYOUT

&----


  • text

----


FORM LAYOUT .

WA_LAYOUT-ZEBRA = 'X'.

ENDFORM. " LAYOUT

&----


*& Form CALL_GRID_DISPLAY

&----


  • text

----


FORM CALL_GRID_DISPLAY .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_TOP_OF_PAGE = TOP_OF_PAGE

I_GRID_TITLE = 'Used Exit Details'

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

TABLES

T_OUTTAB = IT_TFDIR.

ENDFORM. " CALL_GRID_DISPLAY

&----


*& Form TOP

&----


  • text

----


FORM TOP .

DATA: HEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE.

HEADER-TYP = 'H'.

  • WRITE : 'Plant :' TO HEADER-INFO+1,

  • P_WERKS TO HEADER-INFO+10.

  • APPEND HEADER.

  • CLEAR HEADER.

*

  • HEADER-TYP = 'H'.

  • WRITE : 'Month :' TO HEADER-INFO+1,

  • P_MONYR TO HEADER-INFO+10.

APPEND HEADER.

CLEAR HEADER.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = HEADER[]

I_LOGO = 'JK'.

ENDFORM. "TOP

regards

Arun

2 REPLIES 2

Former Member
0 Kudos

Hi Sridhar,

1) Go to the transaction SE37 to find your function module.

2) Locate the function SXV_GET_CLIF_BY_NAME.

3) Put a breakpoint

Then run the transaction in which you want to fine the user exits or BADIs.

In the function module SXV_GET_CLIF_BY_NAME export parameter you can find the BAdi name.

Regards,

Madhu.

Former Member
0 Kudos

Hi Sridhar,

To find the active user exits, use the below program.

REPORT ZJK_USED_ENHANCEMENT_LIST .

TABLES : TFDIR, TRDIR, D010SINF, MODSAP, MODACT, TDEVCT, TADIR, TSTC, TSTCT, V_TDEVC, V_FDIRT.

TYPE-POOLS : SLIS.

TYPES : BEGIN OF ST_TRDIR,

NAME LIKE TRDIR-NAME,

CDAT LIKE TRDIR-CDAT,

UDAT LIKE TRDIR-UDAT,

RSTAT LIKE TRDIR-RSTAT,

END OF ST_TRDIR.

TYPES : BEGIN OF ST_TFDIR,

SNO(4) TYPE C,

INCL LIKE TFDIR-PNAME,

CDAT LIKE TRDIR-CDAT,

UDAT LIKE TRDIR-UDAT,

R3STATE LIKE D010SINF-R3STATE,

PNAME LIKE TFDIR-PNAME,

INCLUDE LIKE TFDIR-INCLUDE,

FUNCNAME LIKE TFDIR-FUNCNAME,

ENHANCE LIKE MODSAP-NAME,

STEXT LIKE V_FDIRT-STEXT,

PROJECT LIKE MODACT-NAME,

DEVCLASS LIKE TDEVC-DEVCLASS,

CTEXT LIKE TDEVC-CTEXT,

END OF ST_TFDIR.

DATA : IT_TRDIR TYPE TABLE OF ST_TRDIR,

WA_TRDIR TYPE ST_TRDIR.

DATA : IT_TFDIR TYPE TABLE OF ST_TFDIR,

WA_TFDIR TYPE ST_TFDIR.

DATA : LIKE(2) TYPE N,

X(2),

SNO(4),

HTYPE TYPE DD01V-DATATYPE.

**********************************ALV************************************

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

WA_LAYOUT TYPE SLIS_LAYOUT_ALV ,

TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP'.

**********************************ALV************************************

PERFORM MANUAL_FIELDCAT USING 'SNO' 'IT_TFDIR' 'X' '4' 'S.No' .

PERFORM MANUAL_FIELDCAT USING 'INCL' 'IT_TFDIR' 'X' '15' 'Include Name' .

PERFORM MANUAL_FIELDCAT USING 'CDAT' 'IT_TFDIR' 'X' '15' 'Created Date' .

PERFORM MANUAL_FIELDCAT USING 'UDAT' 'IT_TFDIR' ' ' '15' 'Last Modified' .

PERFORM MANUAL_FIELDCAT USING 'R3STATE' 'IT_TFDIR' ' ' '15' 'Active / Inactive' .

PERFORM MANUAL_FIELDCAT USING 'PNAME' 'IT_TFDIR' ' ' '12' 'Prgram Name' .

*PERFORM MANUAL_FIELDCAT USING 'INCLUDE' 'IT_TFDIR' ' ' '10' 'Include No' .

PERFORM MANUAL_FIELDCAT USING 'FUNCNAME' 'IT_TFDIR' ' ' '30' 'Function Module' .

PERFORM MANUAL_FIELDCAT USING 'STEXT' 'IT_TFDIR' ' ' '74' 'Purpose of use' .

PERFORM MANUAL_FIELDCAT USING 'ENHANCE' 'IT_TFDIR' ' ' '15' 'Enhancement' .

PERFORM MANUAL_FIELDCAT USING 'PROJECT' 'IT_TFDIR' ' ' '10' 'Project' .

PERFORM MANUAL_FIELDCAT USING 'DEVCLASS' 'IT_TFDIR' ' ' '10' 'Package' .

PERFORM MANUAL_FIELDCAT USING 'CTEXT' 'IT_TFDIR' ' ' '100' 'Module' .

PERFORM SELECTION.

PERFORM LAYOUT.

PERFORM CALL_GRID_DISPLAY.

**********************************ALV************************************

FORM SELECTION.

SELECT NAME CDAT UDAT RSTAT FROM TRDIR INTO TABLE IT_TRDIR WHERE NAME LIKE 'ZX%' AND SUBC EQ 'I'.

LOOP AT IT_TRDIR INTO WA_TRDIR.

WA_TFDIR-INCL = WA_TRDIR-NAME.

WA_TFDIR-CDAT = WA_TRDIR-CDAT .

WA_TFDIR-UDAT = WA_TRDIR-UDAT.

SELECT SINGLE * FROM D010SINF WHERE PROG EQ WA_TRDIR-NAME AND R3STATE = 'I'.

IF SY-SUBRC EQ 0.

WA_TFDIR-R3STATE = 'I'.

ELSE.

WA_TFDIR-R3STATE = 'A'.

ENDIF.

X = STRLEN( WA_TRDIR-NAME ).

X = X - 2.

CALL FUNCTION 'NUMERIC_CHECK'

EXPORTING

STRING_IN = WA_TRDIR-NAME+X

IMPORTING

HTYPE = HTYPE.

IF HTYPE EQ 'NUMC'.

SNO = SNO + 1.

WA_TFDIR-SNO = SNO.

WA_TFDIR-INCLUDE = WA_TRDIR-NAME+X.

CONCATENATE 'SAPL' WA_TRDIR-NAME+1 INTO WA_TRDIR-NAME.

X = STRLEN( WA_TRDIR-NAME ).

X = X - 3.

WA_TFDIR-PNAME = WA_TRDIR-NAME(X).

SELECT SINGLE * FROM TFDIR WHERE PNAME EQ WA_TFDIR-PNAME AND INCLUDE EQ WA_TFDIR-INCLUDE.

IF SY-SUBRC EQ 0.

WA_TFDIR-FUNCNAME = TFDIR-FUNCNAME.

SELECT SINGLE * FROM MODSAP WHERE MEMBER EQ WA_TFDIR-FUNCNAME.

IF SY-SUBRC EQ 0.

SELECT SINGLE * FROM MODACT WHERE MEMBER EQ MODSAP-NAME.

ENDIF.

WA_TFDIR-ENHANCE = MODSAP-NAME.

WA_TFDIR-PROJECT = MODACT-NAME.

SELECT SINGLE * FROM TADIR WHERE OBJ_NAME = MODSAP-NAME.

SELECT SINGLE * FROM TDEVCT WHERE DEVCLASS = TADIR-DEVCLASS AND SPRAS = SY-LANGU.

SELECT SINGLE * FROM V_FDIRT WHERE FUNCNAME EQ WA_TFDIR-FUNCNAME AND SPRAS EQ SY-LANGU.

WA_TFDIR-STEXT = V_FDIRT-STEXT.

WA_TFDIR-DEVCLASS = TDEVCT-DEVCLASS.

WA_TFDIR-CTEXT = TDEVCT-CTEXT.

APPEND WA_TFDIR TO IT_TFDIR.

ENDIF.

ENDIF.

CLEAR : X, D010SINF, TFDIR, HTYPE, MODSAP, MODACT, TADIR, TDEVCT.

ENDLOOP.

ENDFORM. "SELECTION

&----


*& Form MANUAL_FIELDCAT

&----


  • text

----


  • -->VALUE(P_0185) text

  • -->VALUE(P_0186) text

  • -->VALUE(P_0187) text

  • -->VALUE(P_0188) text

  • -->VALUE(P_0189) text

----


FORM MANUAL_FIELDCAT USING VALUE(P_0185)

VALUE(P_0186)

VALUE(P_0187)

VALUE(P_0188)

VALUE(P_0189).

WA_FIELDCAT-FIELDNAME = P_0185.

WA_FIELDCAT-TABNAME = P_0186.

WA_FIELDCAT-KEY = P_0187.

WA_FIELDCAT-OUTPUTLEN = P_0188.

WA_FIELDCAT-SELTEXT_L = P_0189.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

ENDFORM. " manual_fieldcat

&----


*& Form LAYOUT

&----


  • text

----


FORM LAYOUT .

WA_LAYOUT-ZEBRA = 'X'.

ENDFORM. " LAYOUT

&----


*& Form CALL_GRID_DISPLAY

&----


  • text

----


FORM CALL_GRID_DISPLAY .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_TOP_OF_PAGE = TOP_OF_PAGE

I_GRID_TITLE = 'Used Exit Details'

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

TABLES

T_OUTTAB = IT_TFDIR.

ENDFORM. " CALL_GRID_DISPLAY

&----


*& Form TOP

&----


  • text

----


FORM TOP .

DATA: HEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE.

HEADER-TYP = 'H'.

  • WRITE : 'Plant :' TO HEADER-INFO+1,

  • P_WERKS TO HEADER-INFO+10.

  • APPEND HEADER.

  • CLEAR HEADER.

*

  • HEADER-TYP = 'H'.

  • WRITE : 'Month :' TO HEADER-INFO+1,

  • P_MONYR TO HEADER-INFO+10.

APPEND HEADER.

CLEAR HEADER.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

EXPORTING

IT_LIST_COMMENTARY = HEADER[]

I_LOGO = 'JK'.

ENDFORM. "TOP

regards

Arun