UI5 +草稿+ BOPF验证+ ABAP

2020-09-14 07:54发布

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

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


你好,

我正在使用Draft编写UI5中编写的应用程序之一。 我正在使用DraftController创建和管理草稿版本。 现在,我正在尝试为现有的草稿实体创建一个项目,并执行验证以预先检查用户选择的数字是否正确,否则,我想向UI发出错误并强迫用户提供其他信息 项目编号。 执行了验证并完成了检查,并且应该出现一个错误,因此我将NODE id添加到ET_FAILED_KEY内部表+发出消息中。 但是,这不起作用,并且创建了草稿条目。 我是否在这里某个地方不见了,还是无法使创建的草稿项目失败(我认为这没有意义)。 任何建议将不胜感激。

BR

Jakub

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

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


你好,

我正在使用Draft编写UI5中编写的应用程序之一。 我正在使用DraftController创建和管理草稿版本。 现在,我正在尝试为现有的草稿实体创建一个项目,并执行验证以预先检查用户选择的数字是否正确,否则,我想向UI发出错误并强迫用户提供其他信息 项目编号。 执行了验证并完成了检查,并且应该出现一个错误,因此我将NODE id添加到ET_FAILED_KEY内部表+发出消息中。 但是,这不起作用,并且创建了草稿条目。 我是否在这里某个地方不见了,还是无法使创建的草稿项目失败(我认为这没有意义)。 任何建议将不胜感激。

BR

Jakub

付费偷看设置
发送
4条回答
Alawn_Xu
1楼-- · 2020-09-14 08:06

您是否检查过,是否触发了验证?

您可以发布发出消息的编码吗?

半个程序猿
2楼-- · 2020-09-14 08:22

BOPF是从CDS生成的,因此后端的BOB * T代码中不会更改它。 我在BOBX中进行了更改,并且该组已分配给验证。

事实证明,在激活DRAFT时,验证工作正常,但在创建DRAFT条目时,验证工作不正常。 我认为这可能是一个功能,但是在创建草稿副本之前,我仍然应该能够消除该条目。

渐行渐远_HoldOn
3楼-- · 2020-09-14 08:26

是的,它已被触发。

消息是这样发出的:

如果ls_data-isactiveentity = abap_false。
           DATA(lv_lifetime)=/bobf/cm_frw => co_lifetime_state。  "草案
         其他。
           lv_lifetime =/bobf/cm_frw => co_lifetime_transition。  "活性
         万一。


         eo_message-> add_message(
             导出is_msg = VALUE#(msgid ='ZTEST'"示例
                   msgno = 050
                   )
                    iv_node = is_ctx-node_key
                 iv_key = ls_data-key
                 iv_attribute = {UI的属性}
                 iv_lifetime = lv_lifetime
             )。
 
如果未绑定

eo_message,则会进行初始化,如果未绑定,则{Contribute Interface的属性为{attribute from UI}(自客户名称空间以来已混合))。 无论如何,我已经尝试了STATE/TRANSITION的DRAFT生存期,但是没有用。

黑丝骑士
4楼-- · 2020-09-14 08:20

网关服务是否通过SADL访问BOPF?

您使用了哪种验证类型? 我想,如果这是一个一致性验证,则必须添加一个名为" SAVE_PREVENTION"的一致性组,并向其添加验证。

一周热门 更多>