使用邮递员通过XSJS将数据写入表

2020-09-16 02:05发布

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

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


你好同事,

几年前! 我做到了,但今天我做不到。 是的,当我通过邮递员发帖时,会抛出500错误,但是当我使用url时没有问题。

我正在共享我的xsjs代码。

 XSJS代码
 函数showData(VENDORID,VENDORNAME,VENDORACTIVE,CONTRACTCONCLUSIONDATEWITHSUPPLIER){
 $ .response.contentType =" application/json";
 var connection = $ .hdb.getConnection();
 var getPrdTypeProc = connection.loadProcedure('SCHEMAS <我已更改>','DONTPLS :: test');
 var results = getPrdTypeProc(VENDORID,VENDORNAME,VENDORACTIVE,CONTRACTCONCLUSIONDATEWITHSUPPLIER);
 $ .response.status = $ .net.http.OK;
 $ .response.contentType =" application/json";
 $ .response.setBody(JSON.stringify(results));
 connection.commit();
 connection.close();
 }
 var VENDORID = $ .request.parameters.get(" VENDORID");
 var VENDORNAME = $ .request.parameters.get(" VENDORNAME");
 var VENDORACTIVE = $ .request.parameters.get(" VENDORACTIVE");
 var CONTRACTCONCLUSIONDATEWITHSUPPLIER = $ .request.parameters.get(" CONTRACTCONCLUSIONDATEWITHSUPPLIER");
 showData(VENDORID,VENDORNAME,VENDORACTIVE,CONTRACTCONCLUSIONDATEWITHSUPPLIER);

 在URL中运行XSJS
 ..... test.xsjs?VENDORID = C31&VENDORNAME = 2323ds&VENDORACTIVE =是&CONTRACTCONCLUSIONDATEWITHSUPPLIER = 20180212
 "工作正常,没有问题"

 我的邮递员身体
 [{
 " VENDORID":" 61s2aa",
 " VENDORNAME":" 12aa",
 " VENDORACTIVE":" 12aaa",
 " CONTRACTCONCLUSIONDATEWITHSUPPLIER":" 20180212"
 }]
 (错误500)尝试了不同的日期2018-02-12



 

另一个问题是,确实有必要使用一个过程来使用xsjs向表中写入数据,或者我可以不使用过程来做到这一点!

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

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


你好同事,

几年前! 我做到了,但今天我做不到。 是的,当我通过邮递员发帖时,会抛出500错误,但是当我使用url时没有问题。

我正在共享我的xsjs代码。

 XSJS代码
 函数showData(VENDORID,VENDORNAME,VENDORACTIVE,CONTRACTCONCLUSIONDATEWITHSUPPLIER){
 $ .response.contentType =" application/json";
 var connection = $ .hdb.getConnection();
 var getPrdTypeProc = connection.loadProcedure('SCHEMAS <我已更改>','DONTPLS :: test');
 var results = getPrdTypeProc(VENDORID,VENDORNAME,VENDORACTIVE,CONTRACTCONCLUSIONDATEWITHSUPPLIER);
 $ .response.status = $ .net.http.OK;
 $ .response.contentType =" application/json";
 $ .response.setBody(JSON.stringify(results));
 connection.commit();
 connection.close();
 }
 var VENDORID = $ .request.parameters.get(" VENDORID");
 var VENDORNAME = $ .request.parameters.get(" VENDORNAME");
 var VENDORACTIVE = $ .request.parameters.get(" VENDORACTIVE");
 var CONTRACTCONCLUSIONDATEWITHSUPPLIER = $ .request.parameters.get(" CONTRACTCONCLUSIONDATEWITHSUPPLIER");
 showData(VENDORID,VENDORNAME,VENDORACTIVE,CONTRACTCONCLUSIONDATEWITHSUPPLIER);

 在URL中运行XSJS
 ..... test.xsjs?VENDORID = C31&VENDORNAME = 2323ds&VENDORACTIVE =是&CONTRACTCONCLUSIONDATEWITHSUPPLIER = 20180212
 "工作正常,没有问题"

 我的邮递员身体
 [{
 " VENDORID":" 61s2aa",
 " VENDORNAME":" 12aa",
 " VENDORACTIVE":" 12aaa",
 " CONTRACTCONCLUSIONDATEWITHSUPPLIER":" 20180212"
 }]
 (错误500)尝试了不同的日期2018-02-12



 

另一个问题是,确实有必要使用一个过程来使用xsjs向表中写入数据,或者我可以不使用过程来做到这一点!

付费偷看设置
发送
2条回答
闻人可可
1楼 · 2020-09-16 02:31.采纳回答

您的xsjs代码需要URL参数。 因此,当您直接使用URL参数调用URL时,它可以工作。 通过Postman,您似乎在体内传递参数,因此内部变量未定义会导致错误。 因此,只需传递邮递员也可以通过参数调用变量,或者添加对将参数传递到xsjs代码中的支持。

关于第二个问题。 是的,可以在不使用过程的情况下使用xsjs将数据写入DB。 只需检查 $ .hdb.connection 的方法executeUpdate。

致谢,
弗洛里安

三十六小时_GS
2楼-- · 2020-09-16 02:20

Entschuldigungfürdich ansprechen" Buddy"。

Danke Schon和Vielen Dank。

mit freundlichenGrüßen

加百利。

一周热门 更多>