点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
在批处理模式下调用时,我遇到函数导入调用的问题。 我在UI上需要更新一些字段的几个节点。 让我们假设我有5个节点和一个CHANGE_NODE动作。 该动作被称为5次正确且符合预期。 在动作中,我设置了一条消息-5次不同。 我希望它们对于响应头中的所有响应都将作为SAP-MESSAGE属性可见。 不幸的是,当批处理结束时,成功函数RESONSE参数包含5个响应,但只有1个可以看到SAP-MESSAGE。 我已经尝试使用不同的LIFETIME/SEVERITY等消息,但是没有运气。
第二个问题是-当我进行批处理并且我对第二个节点执行CHENAGE_NODE操作,并且将密钥添加到失败的密钥表中时,整个BATCH都会中断。 我假设,只有当前操作会失败,并且框架将继续执行下一个节点的操作。 然后,在该批次的ODATA响应中,我仍将有5个响应-成功和失败。 现在,该批处理成功结束,只有2个响应-一个成功和一个失败。 框架未处理接下来的3个节点的操作。 我不认为在批处理OData调用中有多个节点实例的情况下这是正确的行为。
有人遇到这些问题吗?
谢谢!
Jakub
此问题的解决方法是创建消息类型的对象实例:
,并在此处保留每个批处理请求调用的所有消息。 由于将调用同一个类,因此没有问题。
现在需要从事务管理器将消息放入消息处理程序中:
请注意,每次(每次批量请求)所有消息都将被放置在那里。 因此,如果我们有3个批处理请求:
您不能将所有消息从操作界面放入EO_MESSAGE,因为您将获得转储。 在这种情况下,所有消息都将映射到所有UI5批处理调用响应。 这对我有用,尽管不是我想要的。 此替代方法背后的原因是,批处理请求是在LOOP中处理的,并且在每次交互中都会清除消息容器,因此消息仅映射到最后一个批处理请求的响应。
干杯!
一周热门 更多>