文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-06-05 06:59

关注

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

关于增强的简单介绍

1 SMOD包含具体的增强,而CMOD是包含一组SMOD编写的增强. 

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

先试用SMOD建立一个SAP增强

1、选择一个增强,如:SDVFX001 ,点击修改,进入sap增强维护屏幕;

2、点击“组件”按钮,进入组件维护屏;

3、将光标移到“功能模块名”,输入模块名,如:EXIT_SAPLV60B_001;

4、选择“代码修改”按钮进入函数模块;

5、双击函数模块的包含单元,进入包含单元加入自定义代码并激活保存;

使用CMOD建立增强项目

1、输入自定义的项目名,点击“创建”;

2、进入增强项目,选择“配置增强”,进入增强配置屏幕;

3、输入增强名如:SDVFX001

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(会操作相关报表)

https://mp.weixin.qq.com/s/aCzXtfJeT-QTTQvPl6Lz0g

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯