XSA:$。session在xsjslib中未定义

2020-09-13 03:01发布

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

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


大家好,

我需要访问XSA上部署的xsjslib内的$ .session来获取会话内的用户名。

如果我在该指令上创建调试点,则可以看到$变量中没有可用的会话(未定义)。

这是我们实际依赖于nodejs项目package.json

 {
   "依赖关系":{
   " async":" 2.1.4",
     " @ sap/xsjs":" 1.16.2",
     " @ sap/xsenv":" 1.2.7",
     " @ sap/cds":" 1.14.0"
   },
   " devDependencies":{
     " @ sap/xsjs-test":" 2.0.9"
   },
   "文件":[],
   " main":" server.js",
   " name":" nodejs",
   "脚本":{
     " start":"节点server.js",
     " test":"节点testrun.js"
   },
   "引擎": {
     "节点":" 6.x"
   },
   " version":" 1.0.0"
 }
 

这是我有关SAP HANA的版本信息

版本:HANA 2的SAP Web IDE
 SPS 02补丁0(内部版本4.2.14)
 

有人建议我尝试更新@sap库,以查看是否最新的$ .session,但是如果我从WebIDE运行" Show Dependency Updates",它只会说我需要更新异步包( 而不是@sap的对象。

有人可以帮助我吗?

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

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


大家好,

我需要访问XSA上部署的xsjslib内的$ .session来获取会话内的用户名。

如果我在该指令上创建调试点,则可以看到$变量中没有可用的会话(未定义)。

这是我们实际依赖于nodejs项目package.json

 {
   "依赖关系":{
   " async":" 2.1.4",
     " @ sap/xsjs":" 1.16.2",
     " @ sap/xsenv":" 1.2.7",
     " @ sap/cds":" 1.14.0"
   },
   " devDependencies":{
     " @ sap/xsjs-test":" 2.0.9"
   },
   "文件":[],
   " main":" server.js",
   " name":" nodejs",
   "脚本":{
     " start":"节点server.js",
     " test":"节点testrun.js"
   },
   "引擎": {
     "节点":" 6.x"
   },
   " version":" 1.0.0"
 }
 

这是我有关SAP HANA的版本信息

版本:HANA 2的SAP Web IDE
 SPS 02补丁0(内部版本4.2.14)
 

有人建议我尝试更新@sap库,以查看是否最新的$ .session,但是如果我从WebIDE运行" Show Dependency Updates",它只会说我需要更新异步包( 而不是@sap的对象。

有人可以帮助我吗?

付费偷看设置
发送
7条回答
SAP砖家
1楼-- · 2020-09-13 03:17
使用新的SCN设计的

Florian Pfeffer 我无法直接评论您的回答,所以我需要创建这个 一个。

是的,我已经看过那篇文章,这就是为什么我坚决解决一个问题。 问题是我不知道可以升级到哪个版本,也不想手动在npm依赖项列表中输入数字。

通常,我使用npm update来执行此操作,但是正如我所说的那样,在WebIDE上执行" Show Dependency Updates"(应该做同样的事情)并没有告诉我升级@sap库,而且我不知道哪个是 最新的原因是 npm.sap.com 不能从外部浏览。

无论如何,我认为明天我将尝试使用示例版本进行手动操作。

您知道我在哪里可以检查HANA上安装的当前XSA版本吗?

代楠1984
2楼-- · 2020-09-13 03:13

server.js文件应包含启用xsjs兼容模式的编码。

CJones
3楼-- · 2020-09-13 03:13

关于如何找到XSA版本的问题。 最简单的方法是使用XS CLI(检查xs版本命令,详细信息请检查 文档)。

由于本地npm服务仅在本地收集@sap软件包,因此一种方法是将SAPUPSTREAM_LINK更改为 npm.sap.com ,如此处所述。 但是您必须考虑将XSA切换为HANA 2.0 SPS03的默认运行时节点8,因此可能无法在您的系统上使用最新的软件包。

我会在以下版本中尝试使用,这些版本可与节点6一起使用:

-@ sap/xsjs:2.0.0
-@ sap/xsenv:1.2.7

风早神人
4楼-- · 2020-09-13 03:13

正如我所说,如何检查? 这是我们的server.js代码

/* eslint无控制台:0,无未使用的变量:0 */
 "使用严格";


 var xsjs = require(" @ sap/xsjs");
 var xsenv = require(" @ sap/xsenv");
 var port = process.env.PORT ||  3000;


 var options = {
//匿名:true,//删除以对呼叫进行身份验证
 redirectUrl:"/img/index.xsjs"
 };


//配置HANA
 尝试{
 options = Object.assign(options,xsenv.getServices({hana:{tag:" hana"}})));;
 } catch(err){
 console.log(" [WARN]",err.message);
 }


//配置UAA
 尝试{
 options = Object.assign(options,xsenv.getServices({uaa:{tag:" xsuaa"}})));
 } catch(err){
 console.log(" [WARN]",err.message);
 }


//启动服务器
 xsjs(options).listen(port);


 console.log("服务器正在监听端口%d",端口);


 

xsjs/xsjslib本身"有效"。 它已正确调用并执行,但是我无法访问未定义的$ .session变量。

渐行渐远_HoldOn
5楼-- · 2020-09-13 03:24

看起来不错。

它只是部署了OpenSAP HANA的最新分支 课程内容由Thomas Jung创建。 该内容包含类似的情况(xsjslib文件中的$ .session访问->外观此处)。 它可以在我的HANA Express 2.0 SPS03实例上找到。 查看依赖项 该分支的package.json显示的版本比您使用的版本高得多。

您正在使用什么XSA版本和HANA版本(上面刚刚提到了用于HANA版本的Web IDE)?

小c菟菟
6楼-- · 2020-09-13 03:14

看来我做不到

我是什么 选项?

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答