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

2020-08-19 05:00发布

         点击此处--->   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:"/"附近:语法错误
 

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

感谢和亲切问候
斯坦

         点击此处--->   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:"/"附近:语法错误
 

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

感谢和亲切问候
斯坦

付费偷看设置
发送
5条回答
jovirus
1楼-- · 2020-08-19 05:29
梦想连接
2楼-- · 2020-08-19 05:27

David Kunz 您能回答这个问题吗? 如何以编程方式调用动作。

clever101
3楼-- · 2020-08-19 05:21

您好 StanislawHüll

尚无正式支持。 您的用例是什么? 可以使用重用功能吗?

//srv/service.js
 module.exports =异步(srv)=> {
   const bar = async(args)=> {
     ...
   }

   srv.on('foo',async(req)=> {
     等待酒吧(...)
     返回0
   })

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

还是更多的学术问题?

最好,
塞巴斯蒂安

吹牛啤
4楼-- · 2020-08-19 05:20

是的。 connect.to 是否成功解决了? 究竟该错误发生在哪里? 您可以设置一个断点来检查srv变量吗?

ZJXianG
5楼-- · 2020-08-19 05:25

您好斯坦尼斯拉夫·赫尔

是的,这是有计划的。 抱歉,也没有官方支持。

最佳,
塞巴斯蒂安

一周热门 更多>