SAPUI5使用按钮关闭所有相关窗口

2020-09-07 14:40发布

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

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


大家好,

我有一个按以下顺序进行的项目:

-登录到启动板。

-打开选择客户的特定应用程序。

我的屏幕上有以下选项:

-我可能会打开标准SAP GUI旧交易

-我可能会打开其他屏幕,这些屏幕是外部应用程序。

对于此类屏幕,这是一个特殊要求:

-单击注销按钮时,我应该关闭所有相关窗口,包括sap gui窗口。 但外部应用程序除外。 但不退出启动板。 我只需要关闭我的客户,就可以再开一个。

有可能吗?

例如:

-我选择的客户编号为0000100000。

-在屏幕上,我有一个打开FPL9交易的按钮。 单击它时,它会打开另一个带有客户详细信息的标签。

-在屏幕上,我还有另一个按钮可以打开外部URL,例如 www.imdb.com

当单击按钮注销时,我想要的是:

-返回客户选择屏幕(我知道该怎么做,导航非常简单)

-关闭" FPL9"选项卡。

-不关闭 www.imdb.com

有什么想法吗?

先谢谢。

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

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


大家好,

我有一个按以下顺序进行的项目:

-登录到启动板。

-打开选择客户的特定应用程序。

我的屏幕上有以下选项:

-我可能会打开标准SAP GUI旧交易

-我可能会打开其他屏幕,这些屏幕是外部应用程序。

对于此类屏幕,这是一个特殊要求:

-单击注销按钮时,我应该关闭所有相关窗口,包括sap gui窗口。 但外部应用程序除外。 但不退出启动板。 我只需要关闭我的客户,就可以再开一个。

有可能吗?

例如:

-我选择的客户编号为0000100000。

-在屏幕上,我有一个打开FPL9交易的按钮。 单击它时,它会打开另一个带有客户详细信息的标签。

-在屏幕上,我还有另一个按钮可以打开外部URL,例如 www.imdb.com

当单击按钮注销时,我想要的是:

-返回客户选择屏幕(我知道该怎么做,导航非常简单)

-关闭" FPL9"选项卡。

-不关闭 www.imdb.com

有什么想法吗?

先谢谢。

付费偷看设置
发送
4条回答
四川大学会员
1楼 · 2020-09-07 15:42.采纳回答

您好,Mahesh,感谢您提供的信息,我找到了解决该问题的方法。

首先,当打开CrossApplicationNavigation时,我将窗口注册到component.js中的一个对象中:

 var oCrossAppNavigator = sap.ushell.Container.getService(" CrossApplicationNavigation");
 var hash = oCrossAppNavigator.hrefForExternal({
 目标:{
 语义对象:" ZSIMM_BP",
 动作:"管理"
 },
 参数:{
 " BusinessPartner":" 3000012",
 " BusinessOnglet":" BUP001"
 }
 });
 var url = window.location.href.split("#")[0] +哈希;
 this._oComponent = sap.ui.component(sap.ui.core.Component.getOwnerIdFor(this.getView()));
 this._myModel = this._oComponent.getModel(" oModelWindow");
 var aWindow = this._myModel.getData()。Windows;
 aWindow.push(window.open(url," _blank"));
 this._myModel.setProperty("/img/Windows",aWindow);
 

这样,当单击按钮时,我记得Windows表关闭了所有忽略当前选项卡的选项卡:

 this._oComponent = sap.ui.component(sap.ui.core.Component.getOwnerIdFor(this.getView()));
 this._myModel = this._oComponent.getModel(" oModelWindow");
//然后您可以遍历它们并关闭它们,如下所示:
 var oWindow = this._myModel.getData()。Windows;


 for(var i = 0; i  
小灯塔
2楼-- · 2020-09-07 15:45

太好了!! 我想您是在手动而不是通过磁贴打开gui会话。

感谢您的共享,

Mahesh

小灯塔
3楼-- · 2020-09-07 15:19

大家好,没人能 有关我的查询的线索?

是否有一个解决方案,可以使用一个按钮关闭每个相关窗口(包括用于SAP标准交易的webgui)?

jovirus
4楼-- · 2020-09-07 15:32

我认为这是一个不同的任务。请参阅stackoverflow答案。您需要窗口句柄,并且我怀疑您是否会为通过图块打开的SAP GUI获取它(如果您 通过图块而不是手动打开)。 这是一个古老的答案,所以不知道它是否仍适用于所有浏览器。

https://stackoverflow.com/ Questions/29220735/script-to-close-other-tabs-or-browser/41588058

https://developer.mozilla.org/zh- US/docs/Web/API/Window/close

一周热门 更多>