使用CAPM在Node.JS中使用事件处理程序调用过程

2020-08-23 18:22发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) SCP专家您好, 我正在使用...

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

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


SCP专家您好,

我正在使用CAP模型开发一个应用程序,在该应用程序中,我需要使用node.js(CDS服务)中的事件处理程序在过程中调用自定义逻辑。 以下是我使用的代码段,但是,在运行服务时,过程调用始终在下面的 cat-service.js 中返回空对象(即 oReturn ) 永远是空的。

但是当我单独运行该过程时,会从该过程中获得预期的结果。

cat-service.js

 srv.on(" CREATE"," LocInfo",async(req)=> {
 尝试{
 const tx = cds.transaction(req)
 var sKUNNR = req.data.KUNNR;
 var sPOSITION = req.data.POSITION;
 var sERROR = null;
 var oOutput;
 const sQuery ="调用(KUNNR =>?,POSITION =>?,T_OUTPUT =>?)";
 var oReturn =等待tx.run(sQuery,[sKUNNR,sPOSITION]);
 console.log(oReturn);
 返回oReturn;
 }抓住(e){
 req.reject(405,"发生未知异常:" + e.toString());
 }
 

MyProcedure.hdbprocedure

过程" write_location_info"(IN KUNNR NVARCHAR(10),POSITION NVARCHAR(100),OUT T_OUTPUT )
    语言SQLSCRIPT
    SQL安全定义器
    如
 开始
  /*****************************************
        编写过程逻辑
    ******************************************/
    宣告e_error NVARCHAR(1);
    如果:KUNNR = null或:POSITION = null然后
     e_error ='X';
    其他
     e_error ='X';
     UPSERT" "
     值(:KUNNR,:POSITION);
    万一;
    T_OUTPUT = SELECT * FROM" "其中" KUNNR" =:KUNNR;
 END 

如果我在这里犯任何错误,请指导我。 我已经参考了CAP文档,但是找不到任何调用过程的参考,

CAP参考文档

让我知道以上逻辑是否需要其他信息。

此致

Amar Shukla