`
moonfly2004
  • 浏览: 56384 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

根据事务代码找User exit

F# 
阅读更多

TABLES : tstc, "SAP Transaction Codes(SAP 事务代码)
tadir, "Directory of Repository Objects(资源库对象的目录)
modsapt, "SAP Enhancements - Short Texts(SAP增强-短文件)
modact, "Modifications(修正)
trdir, "System table TRDIR(系统表 TRDIR)
tfdir, "Function Module(功能模块)
enlfdir, "Additional Attributes for Function Modules(功能模块的附加属性)
tstct. "Transaction Code Texts(事务代码文本)

DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
DATA : field1(30).
DATA : v_devclass LIKE tadir-devclass.

SELECTION-SCREEN BEGIN OF BLOCK a01 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP.
PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK a01.


START-OF-SELECTION.
SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.
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 = enlfdir-area.
MOVE : tadir-devclass TO v_devclass.
ENDIF.
ENDIF.

SELECT * FROM tadir
INTO TABLE jtab
WHERE pgmid = 'R3TR'
AND object = 'SMOD'
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:/(12) '事务代码 - ',
13(20) p_tcode,
34(10) '功能 - ' ,
45(50) tstct-ttext.
SKIP.
IF NOT jtab[] IS INITIAL.
WRITE:/(95) sy-uline.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE:/1 sy-vline,
2 'Exit Name',
21 sy-vline ,
22 'Description',
95 sy-vline.
WRITE:/(95) sy-uline.

LOOP AT jtab.
SELECT SINGLE * FROM modsapt
WHERE sprsl = sy-langu AND
name = jtab-obj_name.
FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
WRITE:/1 sy-vline,
2 jtab-obj_name HOTSPOT ON,
21 sy-vline ,
22 modsapt-modtext,
95 sy-vline.
ENDLOOP.

WRITE:/(95) sy-uline.
DESCRIBE TABLE jtab.
SKIP.
FORMAT COLOR COL_TOTAL INTENSIFIED ON.
WRITE:/ '用户出口数量:' , sy-tfill.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) '此TCode没有用户出口!'.
ENDIF.
ELSE.
FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
WRITE:/(95) '事务代码不存在!'.
ENDIF.

AT LINE-SELECTION.
GET CURSOR FIELD field1.
CHECK field1(4) EQ 'JTAB'.
SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

分享到:
评论

相关推荐

    Z_FIND_USEREXIT_SAP增强查找Z_USEREXIT_

    在这个事务码中,可以浏览业务对象的源代码,找到注释有"USEREXIT"或"MODIFY"的段落,这些都是用户出口的标记。然而,如果存在"Z_FIND_USEREXIT"这样的专用工具,它可能会提供更直接的搜索功能,例如通过关键字、...

    SAP中查找用户出口UserExit

    在SAP系统中,用户出口(User Exit)是一种允许企业自定义其SAP应用程序功能的机制,这使得组织能够根据自身业务需求调整SAP标准流程而不需修改原生代码。本文将详细介绍如何通过一个ABAP程序查找SAP系统的用户出口...

    BADI及UserEXIT查找工具

    其中一种方法是通过编写ABAP程序,如示例报告“ZPZTEST”,来搜索特定事务代码下可用的BADI和UserExit。这种程序通常涉及查询多个SAP表,如`TSTC`(交易代码)、`MODSAPT`(SAP增强-短文本)、`SXS_ATTRT`(SAP BADI...

    如何确定Userexit是引起错误的原因

    通过Userexit,企业可以根据自身的业务需求对标准的SAP流程进行扩展或修改。 #### 确定Userexit是否为错误原因的方法 1. **理解Userexit的作用范围**:首先,需要明确具体的Userexit(如`USEREXIT_MOVE_FIELD_TO_...

    BADI&user_exit

    User Exit的类型有三代:第一代sap提供一个空代码的子过程,在这个子过程中用户可以添加自己的代码,控制自己的需求;第二代sap提供的是CUSTOMER-FUNCTION,它是通过SMOD和CMOD完成实现;第三代sap提供的第三代的...

    ZUSEREXIT_SAP增强查找Z_USEREXIT_SAP增强查找_

    ZUSEREXIT.txt文件可能包含了关于如何查找和使用特定用户出口"Z_USEREXIT"的详细信息。通常,这样的文本文件会提供增强的描述、实施指南以及可能的示例代码。开发者应仔细阅读并按照指示操作,确保增强的正确性和...

    User Exit

    用户增强(User Exit)是SAP提供的一种定制化方式,允许用户在不修改标准代码的情况下,对FI/CO(财务会计与管理会计)模块的功能进行扩展。 在FI/CO领域,SAP提供了三种“定制点”:SAP Enhancements(SAP增强)、...

    User Exits,Customer Exits,BAdI and BTE

    User Exits可以在不同的模块、屏幕处理、报告和事务代码中找到。通过调用这些退出点,用户可以确保其自定义代码会在标准流程的特定阶段执行。然而,由于它们直接修改标准代码,因此维护起来可能比较复杂,且可能受到...

    sap user exit培训

    SAP用户出口培训是针对SAP系统中的一种关键特性,旨在帮助用户在不修改标准事务代码的情况下进行二次开发,以满足其独特的业务需求。在R3系统中,标准事务可能无法涵盖所有组织的具体操作流程,这时候就需要利用用户...

    Using User Exit for Variables in BEx Reporting

    1. **创建项目**:首先,我们需要使用事务代码`CMOD`创建一个新的项目,例如,本例中创建了一个名为`/ATB/CA0`的项目。 2. **分配增强项**:接下来,为该项目分配增强项`RSR00001`。 3. **选择功能出口**:然后,...

    userexit原理及查找方法[参考].pdf

    【用户退出机制(Userexit)原理及查找方法】 在软件开发领域,特别是在SAP系统中,用户退出(Userexit)是一种允许开发人员扩展或修改标准系统功能的技术。它由SAP预先开发,以函数模块的形式存在,使得用户可以...

    查找SAP标准程序用户出口以及BADI的方法.doc

    - 运行事务代码,验证User Exit是否生效。 #### 四、案例实践 假设有一个需求是对事务代码MIGO进行增强: - **步骤**: - 查看MIGO使用的program: `System -> status`,得到program为`SAPLMIGO`。 - 在SE38中...

    找SAP的用户出口 标准文档

    本文档旨在帮助SAP用户和技术人员了解如何寻找与SAP标准事务代码相关的用户出口(User-Exits)或BADI(Business Add-Ins)。通过这些方法,用户可以在不修改SAP标准程序的情况下扩展功能。本文档适用于SAP ECC 6.0版本。...

    ABAP-根据T-CODE找用户出口

    本节将详细介绍如何编写一个ABAP程序来根据输入的事务代码找出其对应的用户出口信息。 1. **程序头部声明** 首先,定义报告名称`Z_FIND_EXIT_FROM_TCODE`,并指定程序创建日期等信息。 2. **数据结构定义** ...

    SAP程序用户出口、BAPI查找方法.doc

    - **查找用户出口和BAPI**:根据输入的事务代码,在系统表`trdir`中搜索相关的模块池、函数组等信息。 - **显示结果**:将找到的用户出口和BAPI的信息输出给用户。 #### 3.3 步骤详解 1. **初始化变量**:创建必要...

    建立增强BW datasource

    2. **创建User Exit**:在事务代码`RSA6`中,选择相应的DataSource,然后通过“维护User Exit”功能创建一个新的User Exit。 3. **编写ABAP代码**:在User Exit中编写ABAP代码来实现所需的业务逻辑。例如,可以在...

    数据库归档日志管理方案

    2. **编译USEREXIT程序**:将C语言源代码`cldb2uext2.c`编译成可执行文件`db2uext2.exe`,并放置在`SQLLIB/BIN`目录下。 3. **配置USEREXIT**:通过SQL语句`update dbcfg using logarchmeth1 USEREXIT`启用USEREXIT...

    DB2数据库归档日志的管理方案简介

    - **USEREXIT程序**:IBM推荐使用USEREXIT程序自动管理日志,DB2为所有平台提供了示例程序,用户可以根据需要修改这些程序。 3. **USEREXIT程序的使用步骤**: - **配置数据库参数**:在数据库配置中设置`...

    User Exits in SAP BW

    在SAP BW(Business Warehouse)系统中,用户退出(User Exits)是一种关键的自定义和扩展机制,它允许客户根据自身业务需求对标准SAP交易进行调整和优化,而无需直接修改原始代码。这样做可以降低维护成本,因为当...

Global site tag (gtag.js) - Google Analytics