点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们!
在S/4 HANA中使用AMDP时遇到问题。
我们使用内部的模块化概念编写了一个复杂的AMDP。
在不调试AMDP GET_CO_BALANCE_DATA的调用命令的情况下执行AMDP时,将得到结果,而在运行AMDP调试(不更改过滤器)时,结果集将与之前的执行结果不同。
自定义AMDP GET_CO_BALANCE_DATA:
输入表(174563条记录):
输出表(5467条记录):
主要AMDP中记录的结果数:
现在我将开始调试AMDP ZCL_AMDP_DEMONST_SOCIO_V2 => GET_CO_BALANCE_DATA:
输入表中的相同记录(174.563条记录):
调试过程:
现在更改了结果(结果表中有174.563条记录):
主要AMDP中记录的结果数:
现在,即使我没有调试就执行AMDP,错误也会停止,但是如果我注销S/4 HANA,它就会再次开始出现。
任何想法都可能是什么错误?
谢谢!
Matheus Goulart
(98.6 kB)
你好,
问题与恒定值有关。
开发人员创建了一个空值常量:
但是该字段的正确值应为 empty (无空格)。
这可以解决问题,但是我们没有发现为什么在调试AMDP时会出现错误,而在联机执行时却没有发生。
谢谢。
你好凯勒,
感谢您的回复。
我确实在Hana数据库的SQL控制台中执行了该过程,我们没有在HANA应用程序或HANA工件中直接使用该过程。
关于我的问题,我所有的屏幕截图均来自AMDP调试器和堆栈ABAP。
我出于好奇的原因进行了此测试,以检查两种方法是否会得到相同的结果,分别从HANA调用过程和从ABAP SE24 tcode调用AMDP,并在两者上使用相同的过滤器。 结果是,当我在不调试的情况下执行AMDP时,与从HANA SQL控制台执行时相比,它给我的记录更少,但是当我在调试模式下执行AMDP时,它给了我正确数量的结果记录( 相同数量的HANA Sql控制台执行)。
谢谢。
我们已经打开了一个SAP事件。 当SAP回复时,我将更新此帖子。
对信息进行补充,在HANA中执行过程时,我们有49.000行,而在ABAP上执行相同的AMDP(通过SE24)时,我们有3.800行。 所以我认为框架存在一些问题
AMDP执行:
使用相同的过滤器(绕过AMDP框架)直接在HANA上执行的过程。
"补充信息,在HANA内执行过程时,我们有49.000行,但是在ABAP上执行相同的AMDP(通过SE24)时,我们有3.800行。所以我认为框架上存在一些问题 "
您不得从HANA内部调用AMDP过程。 您应该仅从AS ABAP调用AMDP过程。
请参阅注释2511210。这正是由于此类"事件"。
AMDP程序是AS ABAP的"内部实现细节"。 它们当然取决于从AS ABAP进行调用,并且可以使用AS ABAP。 例如。 如果您在取决于ABAP特定会话变量的AMDP过程中使用CDS视图,则在直接调用该过程时会迷路
一周热门 更多>