找增强程序

*&---------------------------------------------------------------------*
*& Report  ZFINDADDITION
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*


*&---------------------------------------------------------------------*
*& Report  Z_FIND_USEREXIT
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZFINDEXIT  NO  STANDARD  PAGE HEADING .



TABLES  TSTC ,
TADIR ,
MODSAPT ,
MODACT ,
TRDIR ,
TFDIR ,
ENLFDIR ,
SXS_ATTRT  ,
TSTCT .
DATA  JTAB  LIKE TADIR  OCCURS  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  ,
WF_BADI  TYPE  ,
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 ,
'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 ,
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 +  .
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 ,
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 .
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值