ABAP调用带有多个参数和值的XSJS

2020-09-06 19:01发布

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

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


专家们,

我在线搜索了可以满足以下要求的资源。

我遇到的一个帖子是下面的帖子。

https://answers.sap.com/questions/51590/what-would-be-the-url-for-xsjs-calling-with-multip.html

我正在做的是从ABAP调用xsjs。 ABAP将调用具有多个值的多个参数(如客户,物料等)。

有人可以帮助您发送示例代码和将发送到HANA的参数URL的结构吗?

谢谢

DJ

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

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


专家们,

我在线搜索了可以满足以下要求的资源。

我遇到的一个帖子是下面的帖子。

https://answers.sap.com/questions/51590/what-would-be-the-url-for-xsjs-calling-with-multip.html

我正在做的是从ABAP调用xsjs。 ABAP将调用具有多个值的多个参数(如客户,物料等)。

有人可以帮助您发送示例代码和将发送到HANA的参数URL的结构吗?

谢谢

DJ

付费偷看设置
发送
5条回答
闻人可可
1楼-- · 2020-09-06 19:53

嗨,DJ,

如果您的XSJS采用结构化参数,请使用名为param01,param02,param03的参数

它们对XSJS的相应调用应为

myd.xsjs?param01 =SomeValue¶m02=SomeValue2¶m03= SomeValue3

致谢

CPLASF-自律
2楼-- · 2020-09-06 19:41

感谢Afshin。 在那种情况下,如何使用XSJS将其拆分并传递给HANA中的select语句? 是否有示例xsjs代码可用?

谢谢

DJ

嗨,大卫,

 $。import(" sap.hana.democontent.epm.services","消息");
 var MESSAGES = $ .sap.hana.democontent.epm.services.messages;
 $ .import(" sap.hana.democontent.epm.services","会话");
 var SESSIONINFO = $ .sap.hana.democontent.epm.services.session;
 函数getDataFromTable(){
     var conn = $ .db.getConnection();
     var pstmt = null;
     var rs = null;
     var aCountry = $ .request.parameters.get('language');
     var output = {Buyers:[]};


//准备语句
     pstmt = conn.prepareStatement('从" sap.hana.democontent.epm.models :: BUYER"中选择" TOP 100 TO_NVARCHAR(COUNTRY)作为国家,TO_NVARCHAR(COMPANYNAME)作为公司名称,TO_NVARCHAR(CITY)作为城市"  \''+ aCountry +'\'');
     尝试{
        rs = pstmt.executeQuery();
         而(rs.next()){
                var record = {};
                 record.Country = rs.getString(1);
                 record.Buyer = rs.getString(2);
                 record.City = rs.getString(3);
                 output.Buyers.push(记录);
         }
         rs.close();
         pstmt.close();
         conn.close();
                 }
     抓住(e){
         $ .response.status = $ .net.http.INTERNAL_SERVER_ERROR;
         $ .response.setBody(e.message);
         返回;
     }
     var body = JSON.stringify(output);
     $ .response.contentType ='应用程序/json';
     $ .response.setBody(body);
     $ .response.status = $ .net.http.OK;
 }


 var aCmd = $ .request.parameters.get('cmd');
 开关(aCmd){
     案例"选择":
         getDataFromTable();
         打破;
     默认:
         $ .response.status = $ .net.http.INTERNAL_SERVER_ERROR;
         $ .response.setBody('Invalid Command:',aCmd);
 }



 

因此,对XSJS的最终调用将是myd.xsjs?cmd =select⟨uage= DE

我希望这会有所帮助

欢呼

Afshin

nice_wp
4楼-- · 2020-09-06 20:03

对不起,应该阅读

 myd.xsjs?cmd =select⟨uage= DE
 其中cmd和语言通过$ .request.parameters.get 
me_for_i
5楼-- · 2020-09-06 19:52
使用get协议

一周热门 更多>