OData/CDS生成的BOPF的自动增量字典对象键

2020-09-14 19:55发布

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

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


正如标题所暗示的,我想在UI5应用程序触发的CRUD操作期间自动增加Dictionary对象的主键。 就像我以前在MySQL World中使用关键字autoincrement一样。

BOPF元素是从CDS视图中生成的,从而启用了基本的CRUD功能。 消费视图由UI5应用程序使用的OData服务访问。 据我了解,可以使用数字范围实现自动递增。 我也知道如何在SNRO中创建这些数字范围,但是我看不到如何在生成的BOPF元素中使用它们。 还是有我不知道的其他与CDS或OData相关的方法来为每个新条目增加密钥。

我的系统在S/4 NW 7.51上

感谢您的帮助。

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

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


正如标题所暗示的,我想在UI5应用程序触发的CRUD操作期间自动增加Dictionary对象的主键。 就像我以前在MySQL World中使用关键字autoincrement一样。

BOPF元素是从CDS视图中生成的,从而启用了基本的CRUD功能。 消费视图由UI5应用程序使用的OData服务访问。 据我了解,可以使用数字范围实现自动递增。 我也知道如何在SNRO中创建这些数字范围,但是我看不到如何在生成的BOPF元素中使用它们。 还是有我不知道的其他与CDS或OData相关的方法来为每个新条目增加密钥。

我的系统在S/4 NW 7.51上

感谢您的帮助。

付费偷看设置
发送
3条回答
亦是此间程序员
1楼 · 2020-09-14 20:40.采纳回答
数据:lr_data类型引用为bopf_structure。
 循环到it_key INTO数据(ls_key)。
 创建数据lr_data。

 调用函数'number_get_next'
 ...
 输入
 数字= lv_new_number
 ...

 lr_data-> number = lv_new_number。

 io_modify->更新(
                     出口
                       iv_node = bopf_interface => sc_node-bopf_node
                       iv_key = ls_key-key
                       is_data = lr_data
                       it_changed_fields = value#(('NUMBER'))"->应该是bopf中数字字段的名称
 )。
 结束循环。

类似的事情。

吹牛啤
2楼-- · 2020-09-14 20:46

感谢您的建议。 看起来这是要走的路。

尽管如此,我仍无法弄清楚如何实现execute方法。 如您所知,我唯一要做的就是更改键值,但是我该怎么做。 如何设置评估时间点抽取编号的值?

答案真的非常好。

半个程序猿
3楼-- · 2020-09-14 20:58

您可以为BOPF节点创建一个确定,该确定在"保存之前(抽奖编号)"期间的创建时触发。 确定会从数字范围中提取一个新数字并将其写入关键字段。

一周热门 更多>