Personas 3.0 SP6-如何使用JavaScript全局库?

2020-09-22 00:09发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 至少从SP4开始,我一直...

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

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


嗨,

至少从SP4开始,我一直在使用JavaScript的全局库。 我们已经在沙盒中安装了SP6,这会导致许多JavaScript问题。 主要是因为SP6中的标准比过去更加严格。 例如,现在将"警报"标记为错误。

我已经能够修改大多数代码来解决问题,但是我还没有想到的一项是如何继续使用全局库。 下面的代码在SP5上可以正常运行,但由于未定义Shared_Library,因此无法在SP6中运行。

如果(window.Shared_Library ===未定义){
   Shared_Library = session.utils.include(" 005056AA160B1EE798B27D95FD08669D",true);
 }

 var mainContainer = session.findById(" wnd [0]/usr/subPersonas_149554237315683");
 var titleBar = session.findById(" wnd [0]/usr/txtPersonas_149027319810573");
 var lesLogo = session.findById(" wnd [0]/usr/imagePersonas_149028455472754");

 Shared_Library.formatHeadingBasedOnWidth(mainContainer,titleBar,lesLogo); 

我尝试使用session.utils.put定义共享库,该库删除了前几行的错误,但是仍然说Shared_Library没有定义,并且脚本不会执行formatHeadingBasedOnWidth命令。

有人处理过此问题吗,或者有人对如何使它在SP6中工作有任何想法吗?

感谢您的帮助!

2条回答
Haoba3210
2020-09-22 01:04

克里斯,你好,

我的库的设置类似于该Wiki底部附近的示例(上面写着"将在所有GUI上运行的表控件库")。

我基本上也按Wiki所示访问它,除了(我相信)将它们存储在全局变量而不是局部变量中。 如果您看一下我最初的文章中的代码,我正在检查是否存在库变量,如果不存在则仅加载该变量。

我的JavaScript研究表明,用'var'定义的变量具有局部范围,而未使用'var'定义的变量具有全局范围。 但是,它也指出全局变量不会在"严格模式"下自动创建。 SP6在我的脚本中显示了许多错误,这些错误在SP5中没有显示为错误,因此我假设SP6已经实现了严格模式。

因此,现在我试图找到一种在SP6下创建全局变量的方法。 我可以通过添加" var"来切换代码以使用局部变量,但这似乎在每次脚本运行时(在onLoad事件中)加载全局库都是不必要的开销。 我试图使用session.utils.put命令将我的库存储在一个会话变量中,但这会生成一条错误消息,指出放置值必须是字符串。

关于如何在全局变量中存储库的任何其他想法?

谢谢

Jeff

一周热门 更多>