点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨
任何人都可以提供解决方法。
我正在研究一个用例,以维护使用业务合作伙伴设计的人员。 在此设计中,一个人可以担任多个角色之一。 下面是我到目前为止创建的规范化数据模型的图表,该模型似乎正在起作用。
我能够执行以下操作而无需维护service.js文件。 即 CDS引擎开箱即用地支持所有原始操作(这是CDS团队的一项令人印象深刻的工作)。 到目前为止,我可以:
- 创建人,
- 存储Persons和Person_Role的草稿版本
- 创建一个新角色(在编辑模式下)
- 使用搜索帮助来搜索Person_Role.ID值,其中搜索帮助引用了Role实体集
要使ObjectPage对用户更有意义,我想为"角色名称"添加一列,该列将显示所选角色ID的对应名称(Role.roleName)。
有没有办法在保持标准化数据模型的同时做到这一点?
预先感谢:
PS:
我确实尝试了 https中提到的方法: //blogs.sap.com/2019/08/21/computed-field-example-in-cap/。
我发现 DJ Adams 方法导致出现" SQLITE_ERROR:否 这样的列:roleName "在创建新的Person_Role时-可能需要一些干预才能删除计算出的roleName字段,然后手动创建插入内容
(请参阅: https://github.com/scongia/or-assistant/commit/cfa0e096e52b98a3a380140df8fa6d2014d50657 )。
然后,我尝试了 Pierre Dominique 的方法,但这导致AdminService出现编译错误,并说" com.or.assistant.Person_Role"的自动暴露实体的" AdminService.Person_Role"与其他定义冲突-可能是因为Persons具有@ odata.draft.enabled批注
(请参阅: https://github.com/scongia/or-assistant/commit/994cb183d29c1bb6c3a03423c7599383056733dc )
personsobjectdetails.jpg (52.4 kB)
如上所述。 我设法通过将Promise.all添加到处理程序中来使角色名称出现,如上所示。
我观察到的是,在Service层中添加新字段时,这会导致SQL错误,使用oData v2创建新记录,但是使用oData v4时没有错误
致谢
您是否使用HANA数据库尝试过DJ的方法?
您好,Gregor。
我创建一个新人员时发生错误...我认为这是一个完全不同的问题,在显示角色名称后应该解决。
在vscode中工作,我设法使新字段出现在Person_Role实体下的元数据文件中。 我还实现了服务处理程序中的代码,但没有成功。
当我调试服务处理程序时,我发现Select正在返回Role实体,并使用正确的值填充person_role.rolename,但是此值未在响应中返回。 我想念什么吗?
一周热门 更多>