`
guanhuaing
  • 浏览: 1223709 次
文章分类
社区版块
存档分类
最新评论

如何使用SMOD和CMOD进行SD的用户增强

 
阅读更多

1、关于增强的简单介绍
1.1SMOD包含具体的增强,而CMOD是包含一组SMOD编写的增强.
1.2 User exits (Function module exits)是sap提供出口,它的命名规则如下:
EXIT_<program name><3 digit suffix>
示例:
sd的VA01事务,对应的程序是SAPMV45A ,你会在程序里查到(用CALL CUSTOMER-FUNCTION字符串)如下代码:
CALL CUSTOMER-FUNCTION '003'
exporting
xvbak = vbak
xvbuk = vbuk
xkomk = tkomk
importing
lvf_subrc = lvf_subrc
tables
xvbfa = xvbfa
xvbap = xvbap
xvbup = xvbup.
则exit calls function module的名称就是: EXIT_SAPMV45A_003


2、先试用SMOD建立一个SAP增强
2.1、选择一个增强,如:SDVFX001,点击修改,进入sap增强维护屏幕;
2.2、点击“组件”按钮,进入组件维护屏;
2.3、将光标移到“功能模块名”,输入模块名,如:EXIT_SAPLV60B_001;
2.4、选择“代码修改”按钮进入函数模块;
2.5、双击函数模块的包含单元,进入包含单元加入自定义代码并激活保存;

3、使用CMOD建立增强项目
3.1、输入自定义的项目名,点击“创建”;
3.2、进入增强项目,选择“配置增强”,进入增强配置屏幕;
3.3、输入增强名如:SDVFX001
3.4、保存,并退出;

4、使用CMOD将增强项目激活,便大工告成。

如何查找
*判断是否存在相应增强的定义(SMOD)
select single name from modsapa into mod0-name
where name = 'PPCO0002'.
if sy-subrc = 0.
endif.
select single * from tadir into ps_tadir_db
where pgmid = 'R3TR'
and object = 'SMOD'
and obj_name = 'PPCO0002'.

*判断是否存在相应增强项目的定义(CMOD)
SELECT SINGLE name FROM MODATTR into mod0-name
WHERE NAME = 'PPCO0002'..

*提取增强的定义的组件 (可以用此反查增强定义)
select * from modsap
where name = 'PPCO0002'.

*判断该增强是否移植到BADI实现
*Enhancement & has already been migrated in Business Add-In definition
select single migrated badi_def into (migrated, exit_name)
from modsapa where name = modname.
if sy-subrc = 0 and migrated = seex_true.
message s621 with modname exit_name.
check mode ne 'CHAM'.
endif.

MODTYP 类型:
E : 功能退出
S : 屏幕
T : 表
C : GUI代码
sap增强存在MODSAP表内

*获取增强组件的参见函数MOD_SAP_MEMBER_TEXT
*获得退出功能模块的信息

select single * from tftit
where "SPRAS" = '1' AND "FUNCNAME" = 'EXIT_SAPLCORE_001'
if sy-subrc = 0.
endif.

*值得学习的函数
MOD_KUN_ACTIVATE(会操作相关报表)


相关连接:

http://blog.csdn.net/compassbutton/archive/2007/03/19/1533453.aspx

http://blog.csdn.net/CompassButton/archive/2005/02/05/281437.aspx

分享到:
评论

相关推荐

    SAP增强CMOD和SMOD用法和区别

    CMOD(Control Module)和SMOD(Submodule)是SAP提供给开发人员进行增强的两种主要技术,它们都属于ABAP Workbench的一部分。理解这两种增强方式的用法和区别对于有效地定制SAP系统至关重要。 1. CMOD(Control ...

    smod与cmod区别

    从提供的信息来看,“smod”和“cmod”这两个词汇并未给出明确的定义或背景信息,因此这里我们将基于可能的上下文进行分析。考虑到“smod”与“cmod”可能是指特定编程语言中的函数或命令、操作系统中的模块类型或是...

    ABAP SMOD/CMOD

    在ABAP开发中,SMOD(模块)和CMOD(客户端可变模块)是常见的增强工具,它们为开发人员提供了灵活的方式来扩展标准SAP应用程序的功能。SMOD允许开发人员在不修改原始程序的情况下添加自定义逻辑,而CMOD则允许...

    [SAP ABAP开发技术总结]ABAP Enhancement(增强)详解

    用户出口子程序所能使用的数据变量 VA01增强示例 第二代:基于函数出口增强(Function) SMOD与CMOD的区别 查找出口函数 根据出口函数查找对应的出口对象 出口对象激活(SMOD) 增强详细说明文档 示例:通过出口实现...

    BADI&user_exit

    三、如何使用SMOD和CMOD进行SD的用户增强 1. 关于增强的简单介绍 SMOD包含具体的增强,而CMOD是包含一组SMOD编写的增强。User exits(Function module exits)是sap提供的出口,它的命名规则如下:EXIT_...

    sap abap屏幕增强实例

    4. 使用 SMOD 或 CMOD 激活出口函数。 SAP ABAP 屏幕增强实例: 在 PO transactions 中,开发者可以使用屏幕增强来添加新的功能。例如,添加一个新的按钮来调用一个自定义的函数。通过使用 SAPMM06E 模块池,...

    ABAP增强的使用

    第二代用户出口是sap提供的CUSTOMER-FUNCTION,它是通过SMOD和CMOD完成实现的。 第三代用户出口是sap提供的BADI,他的调用方式是CALL METHOD (instance),相关的TCODE是SE18和SE19。可以通过EXIT_HANDLER这个单词...

    ABAP 增强详解.docx

    - 需要使用SMOD(System Modification)和CMOD(Customer Modification)事务码来进行维护。 - 在程序中通过调用`CALL CUSTOMER-FUNCTION`来触发这些增强函数。 **查找方法**: 1. **通过程序代码查找**:在程序...

    ABAP如何快速寻找增强

    此外,SMOD和CMOD也可以用于管理和激活增强。在SMOD中,你可以激活增强,而在CMOD中,你可以创建和激活包含增强逻辑的自定义程序,例如ZXF48U01。 请注意,为了使增强生效,不仅需要激活增强本身,还需要激活对应的...

    smod-v1.0.4.zip

    在使用smod进行渗透测试时,首先要理解Modbus协议的基本原理,包括其功能码、寄存器类型以及数据传输格式。然后,根据工控系统的具体情况,选择合适的测试策略,这可能包括但不限于以下几点: - **权限提升测试**:...

    SAP增强查找

    在这种增强方式中,SAP提供了一个叫CUSTOMER-FUNCTION的函数模块,用户可以通过SMOD和CMOD事务码来实现和维护增强。这类增强无需对象键,直接双击相关包含文件并编写代码即可。增强后的函数模块仅能使用接口传递的...

    [SAP ABAP开发技术总结]ABAP Enhancement:第一部分

    用户出口子程序所能使用的数据变量 VA01增强示例 第二代:基于函数出口增强(Function) SMOD与CMOD的区别 查找出口函数 根据出口函数查找对应的出口对象 出口对象激活(SMOD) 增强详细说明文档 示例:通过出口实现...

    [SAP ABAP开发技术总结]ABAP Enhancement:第二部分

    用户出口子程序所能使用的数据变量 VA01增强示例 第二代:基于函数出口增强(Function) SMOD与CMOD的区别 查找出口函数 根据出口函数查找对应的出口对象 出口对象激活(SMOD) 增强详细说明文档 示例:通过出口实现...

    SAP增强总结

    在进行增强时,还需注意一些细节,比如在传输增强请求时,为了便于管理和维护,通常建议使用CMOD将创建好的SMOD封装起来后再进行传输。 此外,SAP还在不断地更新其增强技术,从早期的UserEXIT到现在的BADI,每一代...

    SAP找增强方法

    SAP ABAP增强还包括增强点和增强段,它们提供了一种更现代的、结构化的增强方式。用户可以在增强点上添加增强段,这些增强在运行时会自动插入到标准流程中。 在实施SAP增强时,应始终优先考虑使用BADI、BTE和其他...

    ABAP增强发展历史

    随着SAP系统的演进,第二代增强引入了SMOD和CMOD,使得开发者可以通过调用预定义的函数模块来实现增强。这一代增强的函数模块名称通常以“Exit_程序名_三位数字”形式表示。与第一代增强不同,这些增强不需要ACCESS ...

    smod-master (1).zip

    Smod是一个模块化的Modbus渗透测试框架,可以用来测试Modbus协议所需的各种诊断和攻击功能。这是一个使用Python和Scapy的完整的Modbus协议实现。这个软件可以在python 2.7.x下的Linux / OSX上运行。 近年来,Summery...

    Satisfactory SML.smod v3.3.0

    《Satisfactory SML.smod v3.3.0》是一款专为热门建设与管理类游戏《Satisfactory》设计的模组(Mod),旨在增强玩家的游戏体验和探索乐趣。这款模组的版本号为v3.3.0,表明它经过了多次迭代和优化,以适应游戏的...

Global site tag (gtag.js) - Google Analytics