如何调用我自己的功能服务?

2020-08-19 05:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)假设服务由两个琐碎的功能 foo...

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

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


假设服务由两个琐碎的功能 foo bar 组成。 我该如何在foo 的实现中调用 bar? 考虑以下设置

//srv/service.cds
 服务TrivialService @(path:'/srv'){
     函数foo()返回Integer;
     函数bar()返回Integer;
 }

//srv/service.js
 module.exports =异步(srv)=> {
    srv.on('foo',async(req)=> {
     /*
        *我如何从这里调用"酒吧"服务?
        */
       返回0
    })

    srv.on('bar',async(req)=> {
       返回0
    })
 } 

我了解CDS提供了连接外部服务或查询我自己的数据后端的方法,但是我无法弄清楚如何从中触发我自己的自定义函数服务 在另一个函数服务的执行内部(由于缺乏更好的用语,我在这里使用 function service 来区分从CRUD处理程序映射到自定义.js函数的服务)。

对于上面的代码片段,我已经天真的尝试了

 await srv.read('/srv/bar')//在模型'srv/service.cds'中未定义指定的实体'/srv/bar'。
 await srv.read('bar')//无法将未定义或null转换为对象

/* ... 要么 ... */

 const db =等待cds.connect()
 const tx = db.tx(req)
 await tx.read('srv/bar()')//无法回滚:找不到客户端
 await tx.read('srv/bar')//SQLITE_ERROR:"/"附近:语法错误
 

但无济于事。 任何帮助将不胜感激。

感谢和亲切问候
斯坦