*&---------------------------------------------------------------------*
*& Report ZLM_ENHANMENT_SEARCH
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZLM_ENHANMENT_SEARCH
.
*&---------------------------------------------------------------------*
*& Enter the transaction code that you want to search through in order
*& to find which Standard SAP User Exits and BADIs
*&
*&---------------------------------------------------------------------*
*& For field 'SUBC' of table 'TRDIR':
*& M Module Pool
*& F Function group
*& S Subroutine Pool
*& J Interface pool
*& K Class pool
*& T Type Pool
*& X XSLT Program
*&---------------------------------------------------------------------*
*& Tables
*&---------------------------------------------------------------------*
TABLES
: tstc
,
" SAP Transaction Codes
tadir
,
" Directory of Repository Objects
modsapt
,
" SAP Enhancements - Short Texts
sxs_attrt
,
" SAP BADI - short text
modact
,
" Modifications
trdir
,
" System table TRDIR
tfdir
,
" Function Module
enlfdir
,
" Additional Attributes for Function Modules
tstct
.
" Transaction Code Texts
*&---------------------------------------------------------------------*
*& Variables
*&---------------------------------------------------------------------*
DATA
: jtab
LIKE tadir
OCCURS
0
WITH
HEADER
LINE
.
DATA
: field1
(
30
)
.
DATA
: v_devclass
LIKE tadir
-devclass
.
DATA
: object
LIKE tadir
-object
.
DATA
: bdcdata_wa
TYPE bdcdata
,
bdcdata_tab
TYPE
TABLE
OF bdcdata
.
DATA
: opt
TYPE ctu_params
.
*&---------------------------------------------------------------------*
*& Selection Screen Parameters
*&---------------------------------------------------------------------*
SELECTION-SCREEN
BEGIN
OF
BLOCK a01
WITH
FRAME
TITLE
text
-
001
.
SELECTION-SCREEN
SKIP
.
PARAMETERS
: p_tcode
LIKE tstc
-tcode OBLIGATORY
.
"事物代码
SELECTION-SCREEN
SKIP
.
PARAMETERS
:
exit
RADIOBUTTON
GROUP
1
DEFAULT
'X'
,
"用户出口
badi
RADIOBUTTON
GROUP
1
.
"BADI
SELECTION-SCREEN
END
OF
BLOCK a01
.
*--------------------------------------------------------------------*
"屏幕跳转
DEFINE bdc_program
.
clear bdcdata_wa
.
bdcdata_wa
-
program
= &1
.
bdcdata_wa
-
dynpro
= &2
.
bdcdata_wa
-dynbegin
= &3
.
append bdcdata_wa
to bdcdata_tab
.
END-OF-DEFINITION
.
DEFINE bdc_detail
.
clear bdcdata_wa
.
bdcdata_wa
-fnam
= &1
.
bdcdata_wa
-fval
= &2
.
append bdcdata_wa
to bdcdata_tab
.
END-OF-DEFINITION
.
*&---------------------------------------------------------------------*
*& Start of main program
*&---------------------------------------------------------------------*
START-OF-SELECTION
.
IF
exit
=
'X'
.
object
=
'SMOD'
.
" User-exit!
ELSE
.
object
=
'SXSD'
.
" BADI!
ENDIF
.
* Validate Transaction Code:
SELECT
SINGLE *
FROM tstc
WHERE tcode
= p_tcode
.
* Find Repository Objects for transaction code:
IF sy
-subrc
EQ
0
.
" IF 1
SELECT
SINGLE *
FROM tadir
WHERE pgmid
=
'R3TR'
AND object
=
'PROG'