`
evangxli
  • 浏览: 231588 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

SMOD和CMOD-SAP 留给开发人员的接口

阅读更多
转SAP BLOG--Jack Wu
http://blog.csdn.net/CompassButton/archive/2006/08/31/1150258.aspx



1、关于增强的简单介绍
1.1 SMOD包含具体的增强,而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(会操作相关报表)



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/CompassButton/archive/2006/08/31/1150258.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 开发 SD 相关的增强BADI.pdf

    SAP提供的第二种增强方式是CUSTOMER-FUNCTION,用户通过SMOD (Single Object Development Tool) 和CMOD (Collection Object Development Tool) 来实现。SMOD包含具体的增强,而CMOD是包含一组SMOD编写的增强。这类...

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

    SMOD与CMOD的区别 查找出口函数 根据出口函数查找对应的出口对象 出口对象激活(SMOD) 增强详细说明文档 示例:通过出口实现采购订单屏幕增强 示例:VA01增强(CMOD创建项目) 利用系统函数寻找增强 二代增强几个...

    ABAP Training-SAP Enhacement.ppt

    ### ABAP增强:理解与实施 #### 一、引言 在企业级应用开发领域,SAP系统作为全球...掌握正确的增强方法和技术对于SAP开发人员来说至关重要。希望本文能够帮助读者深入了解SAP系统的增强机制,并在实践中灵活运用。

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

    [SAP ABAP开发技术总结]ABAP Enhancement:第二部分 介绍了SAP ABAP用到的各种增强,图文并茂,讲解详细,是学习ABAP开发非常好的资料 第一代:基于源码增强(子过程subroutine:Form) 通过SPRO-&gt;IMG查找用户出口 ...

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

    [SAP ABAP开发技术总结]ABAP Enhancement:第一部分 介绍了SAP ABAP用到的各种增强,图文并茂,讲解详细,是学习ABAP开发非常好的资料 第一代:基于源码增强(子过程subroutine:Form) 通过SPRO-&gt;IMG查找用户出口 ...

    smod-v1.0.4.zip

    smod(Secure Modbus)是这样一个工具,旨在帮助安全专业人员和工控系统工程师发现并修复Modbus协议中的潜在漏洞。这个框架允许用户模拟不同的攻击场景,以评估系统的安全性,并确保其符合最佳实践。 smod-master...

    sap_BADI技术

    - 接口类和相关的组件在适当的应用开发命名空间内生成。 2. **实施BADI**: - 客户在创建者的名字空间内生成BADI的实施。 - 需要定义方法和用户接口增强,并激活实施。 #### 六、案例分析:工单校验 假设我们...

    smod-master (1).zip

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

    ABAP 开发技巧

    ABAP提供了多种类型的用户出口,包括硬编码、功能模块(CMOD和SMOD)、业务添加接口(BADI)、业务交易事件(BTE)、字段增强和屏幕增强。BADI是一种可扩展的、现代化的增强方式,允许开发者通过实例化和调用方法...

    BADI&user_exit

    第二代sap提供的是CUSTOMER-FUNCTION,它是通过SMOD和CMOD完成实现;第三代sap提供的第三代的用户出口就是BADI。 二、BADI的类型和使用场景 BADI是Business Add-In的缩写,它是SAP系统中一种特殊的用户出口。BADI...

    SAP开发SD相关的增强BADI.doc

    2. 第二代BADI:第二代BADI是SAP提供的CUSTOMER-FUNCTION,它是通过SMOD和CMOD完成实现。参见我的blog.csdn.net/CompassButton/archive/2006/08/31/1150258.aspx 3. 第三代BADI:第三代BADI是SAP提供的第三代的用户...

    SAP ABAP 常用T-CODE

    - **CMOD** (SMOD):增强SAP标准功能。 - **OSS1**:SAP Online Support。 - **S001**:ABAP工作台说明(T-CODE)。 - **SCAT**:Computer Aided Test Tool。 - **SE01**:维护数据元素(同一数据元素在不同客户端中...

    abap 常用tcode

    - **功能概述**:CMOD 和 SMOD 是用于管理和实现 SAP 系统增强的事务代码。CMOD 主要针对客户自定义开发的需求,而 SMOD 则更多地应用于标准 SAP 模块的增强。 - **应用场景**: - 当企业需要对现有的 SAP 功能进行...

    SAP增强总结

    此外,SAP还提供了专门的事务代码CMOD来管理和查找出口程序,它能够帮助对出口程序的修改进行管理。SAP用户的出口程序总共有四代,包括: 1. 第一代UserEXIT:用户可以在空代码的子过程中添加自己的代码。 2. 第二代...

    从实例学SAP_ABAP编程_清晰扫描版

    - **特点**:包含完整的业务功能和开发能力,但需要复杂的系统配置来启用业务功能。 - **注意事项**:此环境中没有任何实际的业务数据,开发ABAP程序需要向SAP公司申请开发关键字。 2. **SAP IDES系统环境**: -...

    SAP增强查找

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

Global site tag (gtag.js) - Google Analytics