博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
找出口程序
阅读量:2034 次
发布时间:2019-04-28

本文共 3863 字,大约阅读时间需要 12 分钟。

************************************************************************
* Program Title:查找用户出口跟BADI
*
* Created by:毛建                                     Date :2012年9月28日
*
* Description:  查找用户出口跟BADI   输入相应的Tcode
* Module name: 无
* Type: REPORT
* Special note: None
**----------------------------------------------------------------------
* Associated program: No programs are associated
*-----------------------------------------------------------------------
* Restriction:  No restriction
************************************************************************
REPORT  Z_FIND_EXIT_BADI 
NO 
STANDARD 
PAGE HEADING.
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.

转载地址:http://zzhaf.baihongyu.com/

你可能感兴趣的文章
二 垃圾回收:第06讲:深入剖析:垃圾回收你真的了解吗?(下)
查看>>
ObjectMapper 的一些坑
查看>>
spring 几种获得bean的方法
查看>>
Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon‘
查看>>
SQL查询语句执行顺序详解
查看>>
如何避免创建不必要的对象
查看>>
老司机入职一周,给我们解读 Spring Boot 最流行的 16 条实践
查看>>
maven删除不必要的依赖;优化pom依赖研究
查看>>
2017 年你不能错过的 Java 类库
查看>>
Java笔记——面向切面编程(AOP模式)
查看>>
javaweb学习总结——获得MySQL数据库自动生成的主键
查看>>
【zabbix教程三】——centos7 安装zabbix客户端并监控
查看>>
MVC、MVP、MVVM之间的关系
查看>>
计算机网络--HTTP协议(二)
查看>>
Spring总结之注解(2)
查看>>
Java和JavaScript中使用Json方法大全
查看>>
Ubuntu14.04下安装docker
查看>>
ubuntu下安装nginx
查看>>
Linux 更改文件名
查看>>
Linux下安装Elasticsearch5.X
查看>>