Fiori Element BOPF删除验证/确定

2020-08-31 02:56发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家和专家您好,

我们创建了具有CDS视图和BOPF动作/确定和验证的List Report Fiori Element应用程序。

一切对于创建确定(更改对象的键)都工作正常。

"更新操作"(使用"标题按钮"更改某些状态)的所有操作都正常。

但是对于"删除验证"而言,一切都无法正常进行(在允许删除之前检查对象是否在另一个表中使用)。

在每种情况下,我们都通过Eclipse使用BOPF工具。

在删除的情况下,我们从 io_read-> retrieve BUT开始该方法,但没有得到对象(BO),它只有 et_failed_key 充满。

检索Fiori中要删除的对象是否是另一种方式?

还是不是验证案例,我们需要为此创建一个操作吗?

为完成此操作,如果我们删除"验证删除触发器",该对象将被正常删除,则BOPF Delete可以正常工作。

有什么想法或帮助吗?

谢谢

Luc

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家和专家您好,

我们创建了具有CDS视图和BOPF动作/确定和验证的List Report Fiori Element应用程序。

一切对于创建确定(更改对象的键)都工作正常。

"更新操作"(使用"标题按钮"更改某些状态)的所有操作都正常。

但是对于"删除验证"而言,一切都无法正常进行(在允许删除之前检查对象是否在另一个表中使用)。

在每种情况下,我们都通过Eclipse使用BOPF工具。

在删除的情况下,我们从 io_read-> retrieve BUT开始该方法,但没有得到对象(BO),它只有 et_failed_key 充满。

检索Fiori中要删除的对象是否是另一种方式?

还是不是验证案例,我们需要为此创建一个操作吗?

为完成此操作,如果我们删除"验证删除触发器",该对象将被正常删除,则BOPF Delete可以正常工作。

有什么想法或帮助吗?

谢谢

Luc

付费偷看设置
发送
4条回答
My梦
1楼 · 2020-08-31 03:37.采纳回答

嗨,卢克,

为了使用io_read-> retrieve检索已删除的实例,必须指定方法参数iv_before_image = abap_true。

亲切的问候,

Ivo

SAP小黑
2楼-- · 2020-08-31 03:36

我希望我给出一个合适的答案,但我想补充一点,验证(更准确地说是"一致性验证")通常不是防止删除某项内容的好方法。 实例。 首先,验证不会在删除配置验证的节点时触发。 例如,BO根节点上的验证不会在删除根节点实例时触发。 这是因为它是一个"一致性验证",可以验证实例的一致性-但是删除的实例不需要保持一致。 根据您的描述,我只能假设您在根节点上创建了一个验证(例如),该验证在删除子节点时触发。 尽管这将在删除子节点时触发验证,但它并不适合阻止删除。

从技术上讲,不能防止删除,而只能(如果有的话)保存交易。 对于修改活动实例的无状态请求来说,这可能不是很大的区别。 但是,对于有状态的会话或草稿,它将不起作用。

理想情况下,您将实现一个属性确定,以防止从一开始就删除实例(甚至禁用相应的UI控件)。 但是,如果支票太昂贵,这可能不可行。

另一个选择是创建一个删除实例的专用动作。 然后,您可以在删除实例之前,在动作实现中进行的检查。

风早神人
3楼-- · 2020-08-31 03:34

你好,

我能够实现一个正在读取"已删除"节点的确定,并且我可以对我的测试做出反应。 我可以发回带有指定错误消息的" et_failed_key"(CM类)。

当我从"列表报告"页面中删除时,测试正在运行(删除尚未完成),并且我的消息在浏览器控制台中可见,但没有消息对话框。

当我从"对象"页面删除时,测试正在进行(删除未完成),并且在浏览器控制台和消息对话框中可以看到我的消息。

有人知道为什么行为不同吗?

谢谢

Luc

宇峰Kouji
4楼-- · 2020-08-31 03:26

Ca marche!

你好

非常感谢。 现在,我们获得了填充了值的节点。

如果测试结果是肯定的,我们将查看它是否真的删除了该节点。

否则,是的,我们将创建一个专用的动作。

再次感谢

Luc

一周热门 更多>