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

2020-08-17 11:36发布

         点击此处--->   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)

         点击此处--->   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版本创建新患者有关(两者均已启用草稿...如果有所不同)

Haoba3210
2楼-- · 2020-08-17 11:56

您是哪个版本的cd和cds代理 使用?

shere_lin
3楼-- · 2020-08-17 11:45

这些是我的依赖项:

"依赖项":{
     " @ sap/cds":" 3.34.1",
     " @ sap/cds-odata-v2-adapter-proxy":" ^ 1.4.29",
     " @ sap/hana-client":" ^ 2.4.191",
     " @ sap/logging":" ^ 5.2.0",
     " compression":" ^ 1.7.4",
     "表达":" ^ 4",
     "头盔":" ^ 3.22.0",
     " mysql":" ^ 2.18.1",
     " uuid":" ^ 7.0.3"
   },
 

一周热门 更多>