点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨。
我们创建了一个隐式增强点,用于在保存VF01交易(SD帐单)时更改某些Ztable值。
我们在RV_INVOICE_REFRESH功能模块的最后一行中创建了一个隐式增强点。
此功能模块RV_INVOICE_REFRESH在创建SD账单时,在保存标准例程之后,总是直接通过VF01事务执行,并且当我们在Z程序内部调用事务VF01命令时始终执行。
我们通过在comamnd栏中输入来执行VF01事务,我将会话断点设置为catch,我们可以对其进行调试。
但是当我们使用Call Transaction VF01命令时,相同的中断不会停止执行。
尽管没有任何条件可以调用/执行此增强功能。
我也测试了一个无限循环,但是它没有停止。
我可以在Zprogram中调用一个新的功能模块,但是我真的很想知道它。
在通过sap主屏幕或通过Call Transaction在命令栏中执行事务时,实现隐式增强点时是否有所不同?为什么?
(61.9 kB)
您选择了静态(声明)还是动态(代码)增强点(根据您的第二个屏幕快照,该字段为空,因此我认为如果进行隐式增强,则该字段不为空。)
通常,如果您始终希望执行代码,则将选择静态增强。 如果希望"动态"调用它,则需要在增强实施对象的属性中应用开关设置。 当然,必须启用该开关才能使编码"处于活动状态"。
我发现静态和动态命名比声明和代码更合适。 在创建增强功能时,还请查看"信息"图标,它会为您提供与我上述相同和更多的信息。
我还没有遇到过根据这种情况选择动态隐式增强功能的情况 来自交换框架的交换。 我认为,这可能更多地用于在几个系统和具有不同开关设置的不同系统中使用的编码。
您使用了什么确切的"呼叫交易'VF01'"? (与USING,OPTIONS FROM等一起使用?)
它是否完全在相同的上下文,相同的用户,相同的服务器,相同的客户端,相同的数据等环境下运行?
嗨! 谢谢您的回答。
隐式增强的类型是我们直接在源代码中创建的(在atandard程序的开始或结束时)。
因此,我
在ABAP编辑器(ECC 6.0)的功能模块内部
单击增强按钮(Shift + F4)
该增强上的右键 在功能模块的最后一行指向点线:
在增强操作选项上下文菜单中,选择"创建实现"。
在弹出选项上选择代码(增强选项)。 。
单击"创建增强实施"按钮(F8)
增强实施新名称:zenh_test
短文本:测试
综合增强 。
点击按钮创建。
因此我们现在可以将ABAP代码放入新的增强功能和EndEnhancement中。
增强1 zenh_test。 "活动版本。
我将代码放在这里。
ENDENHANCEMENT。
>您使用了什么"呼叫交易'VF01'"(与USING,OPTIONS FROM等一起使用?)
>它是否完全在相同的上下文,相同的用户,相同的服务器,相同的客户端,相同的数据等环境下运行?
对于所有波纹管是肯定的。
相同 上下文,
相同用户,
相同服务器,
相同客户端,
相同数据等
我们可以通过执行标准事务VA01和VF01
我们可以从Zprogram中调用callig VA01和VF01。
让我知道您是否找到了解决问题的方法还是仍然存在问题。
# p#一周热门 更多>