首页 > 其他分享 >SMOD和CMOD

SMOD和CMOD

时间:2022-08-25 15:47:13浏览次数:36  
标签:增强 name CMOD UPDATE SMOD DATA

1、关于增强的简单介绍 1.1 SMOD包含具体的增强,而CMOD是包含一组SMOD编写的增强. 1.2 User exits (Function module exits)是sap提供出口,它的命名规则如下:            EXIT_>program name<>3 digit suffix<</font>            示例:           创建设备主数据的Tcode是IE01,对应的程序是SAPMIEQ0,进入程序,点击编辑->查找,你会在程序里查到(用CALL CUSTOMER-FUNCTION字符串)如下代码:    CALL CUSTOMER-FUNCTION '001'       EXPORTING           ACTIVITY_TYPE         = ACTIVITY_TYPE           DATA_EQUI             = EQUI           DATA_EQKT             = EQKT           DATA_EQUZ             = EQUZ           DATA_ILOA             = ILOA           MAIN_CLASS            = RM63E-KLASSE       IMPORTING           UPDATE_DATA_EQ        = UPDATE_DATA_EQ           UPDATE_FLAGS_EQ        = UPDATE_FLAGS_EQ           UPDATE_DATA_EZ        = UPDATE_DATA_EZ           UPDATE_FLAGS_EZ        = UPDATE_FLAGS_EZ       EXCEPTIONS           POSTING_NOT_ALLOWED    = 1           POSTING_NOT_ALLOWED_EXT = 2           OTHERS               = 3. 则exit calls function module的名称就是: EXIT_ SAPMIEQ0_001     2、先试用SMOD建立一个SAP增强 2.1、选择一个增强,如:IEQM0003,点击修改,进入sap增强维护屏幕; 2.2、点击"组件"按钮,进入组件维护屏; 2.3、将光标移到"功能模块名",输入模块名,如:EXIT_SAPMIEQ0_001; 2.4、选择"代码修改"按钮进入函数模块; 2.5、双击函数模块的include单元,进入include单元加入自定义代码并激活保存; 3、使用CMOD建立增强项目 3.1、输入自定义的项目名,点击"创建"; 3.2、进入增强项目,选择"配置增强",进入增强配置屏幕; 3.3、输入增强名如:IEQM0003 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(会操作相关报表)

标签:增强,name,CMOD,UPDATE,SMOD,DATA
From: https://www.cnblogs.com/riittou/p/16624464.html

相关文章