CAP深度插入适用于oData v2,但不适用于V4

2020-08-17 11:36发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨 在我的场景中,我在创建过程...

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

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


在我的场景中,我在创建过程中向"人"添加了"角色"。 我打算通过在"创建"过程中在钩子方法中将数据添加到srv.before实体中来使用深度插入来完成此操作。

 module.exports =(srv)=> {

     const {患者,Person_Roles,角色} = srv.entities

     srv.before('CREATE','Patients',async(req)=> {

         var insertQuery = req.query.INSERT
         var Patient = insertQuery.entries [0]

        //通过类别" PA"获取患者角色。 现在仅假设一个角色。
        //TODO:提供对话框以选择要使用的PA类别中的角色。
         const {SELECT} = cds.ql(req)
         const role = await SELECT.one.from(Roles).where({category:'PA'})

         患者=需求数据
         Patient.roles.push({parent_ID:Patient.ID,role_ID:role.role_ID})
     })
 }
 

在调试过程中,我注意到,通过oData v2调用此方法时,其行为与预期的oData v4和oData v2一致,而oData v4无法从Roles表中加载所有元素。

知道为什么会这样吗?

(324.7 kB)
3条回答

为了澄清,鉴于Fiori Elements和oData Versions的某些限制,我已经构建了两个版本的应用程序。 差异与使用oData v2版本和oData v4版本创建新患者有关(两者均已启用草稿...如果有所不同)

一周热门 更多>