SAP三代增强BADI

一、什么是增强?

1、基于SAP源代码的增强:对SAP所预留的空的子过程进行编码,用户可以编辑此过程,并在这个子过程中添加自定义的代码,以增加SAP标准程序的控制功能。

2、基于函数的增强:SAP为此类出口提供了相应的函数,依据函数结构指定的传入/传出参数,程序执行时,调用该函数并检查相应的代码。

3、SAP BADI:使用面向对象的方式实现增强。

什么是BADI?

1、BADI(business add-ins)是SAP在R/3 release 4.6A后增加的增强技术。中的来说,BADIS克服了之前出口的所有缺点,用的是OO技术实现。

BADI的调用机制:先调用一个方法,找到具体实现内容。

相关事务码,SE18创建及维护接口、类,SE19维护实例,功能的实现。

二、如何找BADI增强?

1、进SE24查看,对象类型CL_EXITHANDLER

2、找到GET_INSTANCE方法,双击进去

3、在第一个方法打断点

4、再执行需要做增强的事务码,如va01,直接就进入debug,查看变量exit_name,即BADI名

5、记录涉及到的每个增强的名称,F8找下一个增强的名字

BADI_SCREEN_LOGIC_RT

W_RETAILSYSTEM_IDENT

BADI_MATN1

到输入物料代码页面,选择视图

BADI_MATERIAL_OD

到选择销售视图

选择销售视图和分销渠道

​​​​​​​

进入事务码后

BADI_MATERIAL_OD

GOS_SRV_SELECT

BADI_LAYER

BADI_MATERIAL_OD

BADI_MATERIAL_REF 

6、在以上增强函数中找出可以填写默认值的增强、物料的一般信息。

先在SE18中找出所有函数的描述,方便筛选出对应的函数

BADI_SCREEN_LOGIC_RT

屏幕顺序/有效性客户自我控制出口

W_RETAILSYSTEM_IDENT

系统配置 'SAP 零售'的识别

BADI_MATN1

转换退出MATN1的BAdI

BADI_MATERIAL_OD

物料或条款主数据中新对象的集成

GOS_SRV_SELECT

GOS: 限制一般服务的选择

BADI_LAYER

业务加载项管理的层值管理

BADI_MATERIAL_OD

物料或条款主数据中新对象的集成

BADI_MATERIAL_REF

物料的附加客户定义缺省数据

找到三个可能的函数

7、SE18查看BADI,输入BADI名称

可以看到接口名称以及所包含的方法

 8、双击接口名称,查看,最后找到的相关变量

三、增强实例

实现功能:MM01创建销售视图时自动填税分类为 1。

条件:

销售组织架构一般信息

工厂6011

销售组织6011

分销渠道10

将changing的参数

CT_SALLES_TAX-TAXKM,赋初始值1.

如何实现功能

1、SE18中创建

2、输入实施名称

3、填写文本后保存

类似类的继承

4、保存后双击进去写功能代码


 

5、根据需求写功能代码

6、激活接口

7、SE18查看实施

黄色表示已激活

反激活时

8、最终实现MM01创建销售视图时,税分类自动填1

 如何查看字段名,F1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值