SAP ERP系统在实施隐式增强的时候会跳出一个增强模式选择“声明”或者“代码”,这步骤应该如何选择对于刚接触这类增强的开发人员通常会感到疑惑,不知道应该选择哪个(如下图)。
点击“信息”可以看到官方的英文的解释如下:
这两个选项有什么区别呢?简单来如果选择”声明“,完成增强后只要激活这增强就生效了,如何选择“代码”,增强激活后,还可以启用类似"开关"的功能,通过”开关“来控制是否启用增强,当然如果不用开关功能那么就和选择“声明”一样,没有差异。
单看官方的英文解析一般也理解不了实际的用途,下面用一个隐式增强的例子测试这功能,这样应该可以更好的理解这区别和用途。
1.首先创建一个控制“开关”(事务码:SFW1 )
输入名称开关名称,点击创建,进入如下
选择增强项目需要放置的包,保存并激活。
- 创建一个业务功能开关(事务代码:SFW2)
点击保存进入如下
备注:Type :standby表示准备中; Type :Actication表示激活。
这里先设置为standby。
保存之后,激活,这业务开关就创建好了。
下面找个实施隐式增强时候选择”代码“的增强例子来说明下”开关”应用,比如如下是销售订单行项目订单号必输检查的隐式增强。这个增强功能是:如果销售订单行项目类别为Z001时候,行项目订单号必须输入。
因为这增强选择“代码”并启用了业务开关控制,激活后实际并没有起作用。只有激活业务开关才起作用。
下面激活前面创建的业务开关(事务码:SFW5)
然后在通过SFW2修改开关状态修为Actication,并激活(如下图)
这时候增强就起作用了如下:
如果后续想要暂时取消这个增强,可通过事务码SFW2,修改业务开关状态修为standby,并激活就可以了。
最后总结下隐式增强中的“声明“和"代码" 区别和用途,选择"代码"可以设置业务开关,通过业务开关的TYPE的值来控制增强是否启用,而”声明“不能设置业务开关,也不受业务开关的控制,只要增强激活就起作用。当然如果不设置业务开关的话,那么两者就没有差异。
往期相关文章荐读:
1.SAP软件MM模块项目实施中常用增强之一:采订单收货后不能修改价格
2.SAP软件MM模块项目实施中常用增强之二:MB51报表增加字段
3.SAP软件MM模块项目实施中常用增强之三:采购订单的屏幕增强
4.SAP软件FICO模块常用增强之一:固定资产的屏幕增强
5.SAP软件如何在物料主数据上增加字段
6.通过一个例子介绍SAPSmartform的应用及其技术细节和要点