收藏 分享(赏)

SAPUserExit.pptx

上传人:sc****y 文档编号:5176 上传时间:2023-01-04 格式:PPTX 页数:62 大小:1.61MB
下载 相关 举报
SAPUserExit.pptx_第1页
第1页 / 共62页
SAPUserExit.pptx_第2页
第2页 / 共62页
SAPUserExit.pptx_第3页
第3页 / 共62页
SAPUserExit.pptx_第4页
第4页 / 共62页
SAPUserExit.pptx_第5页
第5页 / 共62页
SAPUserExit.pptx_第6页
第6页 / 共62页
亲,该文档总共62页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、R3标准事务中无法满足用户独特的需求,需要做二次增强开发。目的:不需要修改R3标准事务代码就能增强R3的功能 当系统升级时,原有增强得以保留下来,不需要重新开发。什么是用户出口(User Exits)用户出口的分类 三代用户出口:第一代:固有的FM,需要修改R3代码,现已很少用。第二代:也是通过FM的方式。包括:A 功能模块出口(Function Module Exit)B 屏幕出口(Screen Exit)C 菜单出口(Menu Exit)D 字段出口(Field Exit)第三代:采用面向对象方式实现的出口(BADI)另:模块独有的出口(BTE会计模块专有,需要修改R3代码)出口的目的 功

2、能出口(Function Exit)在标准事务运行中的某点添加业务逻辑。一般用于验证标准事务中的字段。屏幕出口(Screen Exit)为标准事务添加子屏幕。菜单出口(Menu Exit)使能或屏蔽标准事务的菜单栏。字段出口(Field exits)根据数据元素验证标准事务的某些屏幕字段。例子 事务码 CO11N.需求 添加一个新的子屏幕,让用户输入人力资源(HR)数据并保存倒标准数据库表中,然后在COOIS事务中展现出来。验证执行日期字段(Execution start date)不能超过从今天起的一个星期。CO11N Standard Screen Required Screen 寻找功能

3、出口(Function Exit)首先取得标准事务对应的程序名称。然后到SE38,取得程序对应的包名。(Package Name)STEP I Tcode SMOD STEP II STEP III Dbl click STEP IV Dbl click STEP V Dbl click STEP VI STEP VII 另一个找功能出口的方法 转到SE38,输入程序名称,点击菜单utilities-find in source code 搜索Call customer 找到出口后双击进入。Press Enter Dbl click Required Screen Dbl Click Requ

4、ired Screen 然后转到SMOD进行搜索(见前面步骤Step I和步骤Step II)开发程序查找用户出口 使用已有程序查找出口,详见附件。怎样找屏幕出口 如上述STEP I和STEP II所示到SMOD找。Dbl click Click Here CMOD 字段出口(Field Exit)转到事务RZ10,在instance profile中检查abap/fieldexit参数是否为yes.然后转到标准事务,取得数据元素,屏幕名称,和屏幕号。转到SE38,执行RSMODPRF。STEP I Transaction code RZ10 Click STEP II Press Displ

5、ay Or Change Check the parameter value If it is not there create the new parameter Press 保存Profile后返回 现在返回标准事务,取得数据元素和屏幕名称,屏幕号。假设我们使用 CS03 Press Execute Execute Press create to create your function module and activate 现在再次回到SE38,执行RSMODPRF,但不输入数据元素。Execute BADI 寻找BADI的方法一 1、badi对象的信息存储在SXS_INTER,SXC

6、_EXIT,SXC_CLASS 和SXC_ATTR 这四个表中(参见SECE包);2、sap程序都会调用cl_exithandler=get_instance来判断对象是否存在,并返回实例;其实get_instance就是对上述几个表和他们的视图(V_EXT_IMP 和 V_EXT_ACT)进行查询和搜索。3、基于这个机理,查用ST05来监控一个TCODE来跟踪,然后选择查找有关上述几个表和视图的操作,就可获得相关BADI。BADI 寻找BADI的方法二 1.使用SE24进入Class Builder。2.查看对象CL_EXITHANDLER,进入其get_instance方法。3.对get_class_name_by_interface设置断点。4.Debug需要增强的事务,在断点处查看class_name即可找到对应的BADI 注意事项 一个出口可能被多个事务调用,请注意指定被哪个事务调用。注意出口的参数是否满足业务需求,如果参数不满足要求,请继续寻找下一个出口。请注意出口执行的时间点。演讲完毕,谢谢观看!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > PPT素材

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2