点击此处---> 群内免费提供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中工作有任何想法吗?
感谢您的帮助!
克里斯,你好,
我的库的设置类似于该Wiki底部附近的示例(上面写着"将在所有GUI上运行的表控件库")。
我基本上也按Wiki所示访问它,除了(我相信)将它们存储在全局变量而不是局部变量中。 如果您看一下我最初的文章中的代码,我正在检查是否存在库变量,如果不存在则仅加载该变量。
我的JavaScript研究表明,用'var'定义的变量具有局部范围,而未使用'var'定义的变量具有全局范围。 但是,它也指出全局变量不会在"严格模式"下自动创建。 SP6在我的脚本中显示了许多错误,这些错误在SP5中没有显示为错误,因此我假设SP6已经实现了严格模式。
因此,现在我试图找到一种在SP6下创建全局变量的方法。 我可以通过添加" var"来切换代码以使用局部变量,但这似乎在每次脚本运行时(在onLoad事件中)加载全局库都是不必要的开销。 我试图使用session.utils.put命令将我的库存储在一个会话变量中,但这会生成一条错误消息,指出放置值必须是字符串。
关于如何在全局变量中存储库的任何其他想法?
谢谢
Jeff
嗨,Jeff,
请检查此Wiki 页面。
让我知道它是否对您有用。
感谢和问候,
克里斯
一周热门 更多>