REPORT ZFIND_EXITS_AND_BADIS
.
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. 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
. 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.
阅读(768) | 评论(0) | 转发(0) |