SAP那些事-实战篇-7-增强
本文标签: SAP ERP 

SAP那些事-实战篇-7-增强

  所谓增强,就是SAP在标准的程序中预留了一些出口,供客户按照自己定义的写一些代码,实现特定的功能,就像大路上有小路的岔口,不过小路最终又回到大路上。

  SAP的增强到目前可大致分为4代,如下:

1、第一代

sap提供一个空代码的子过程,在这个子过程中用户可以添加自己的代码,控制自己的需求。这类增强都需要修改sap的标准代码。

示例:USEREXIT.. in SAPMV45A

2、第二代

sap提供的是CUSTOMER-FUNCTION,它是通过SMOD和CMOD完成实现。

3、第三代

sap提供的第三代的用户出口就是BADI,他的调用方式是CALL METHOD (instance),(相关的TCODE是SE18和SE19、SE24),可以通过EXIT_HANDLER这个单词查找BADI。

4、第四代

BTE(business transaction event),可使用function:BF_FUNCTIONS_FIND查找BTE(variable:I_EVENT),相关事物代码:BF24/BF34/FIBF/BERE/BERP/BF31/BF41/BF42/BF44/FIBP

以下举例常见的业务增强:

1.   比如物料主数据的增强,比如物料的价格单位在创建时默认为100或者说默认物料主数据创建时为冻结状态,或者说物料保存时做一些特定的检查,都可以在增强中实现。BADI:BADI_MATERAIL_REF。

2.   DMEE的增强,DMEE是银行接口使用到的一个工具,用于把SAP中的付款信息转换为银行可接受的格式,其中经常会写一些增强,用户把特定数据输出到银行付款文件中,增强名称:SE37:DMEE_EXIT_TEMPLATE,注意有的时候如果使用C_VALUE作为返回值无效的话,可使用O_VALUE作为返回值。

3.   Billing时把开票的一些信息写入对应的会计凭证行项目文本,比如把Billing开具的阶段或者客户简称写入行项目文本,Billing端的出口:SAPLV60B-RV60BFZA,会计凭证替代出口:ZRGGBS00(拷贝RGGBS000),需要在Billing端的出口取到值后通过Export到一个内存变量中,然后从会计凭证替代出口通过Import到对应的字段。

4.   信贷控制检查的增强,出口:LVKMPFZ1、LVKMPFZ2、LVKMPFZ3,SAP新版本的信贷控制已在FSCM下,这个增强在老版本下是可用的,新版本下是否可用未测试。

5.   SOMD的增强可通过取消激活冻结对应的增强出口,使增强代码不再被执行。

总之,SAP的增强出口还是比较灵活,但前提是在写出口时应充分考虑正反向业务以及多种可能性,使逻辑尽量严密,避免后续的频繁调整。

发表于: 2016-09-20 20:13 阅读(1337) 评论(0) 收藏 好文推荐

本博客所有内容,若无特殊声明,皆为博主原创作品,未经博主授权,任何人不得复制、转载、摘编等任何方式进行使用和传播。

作者该类其他博文:

发表评论(网友发言只代表个人观点,不代表本网站观点或立场。)

您尚未登录,请先【登录或注册