5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【SAPUI5】Launchpadの機能間遷移を行う

Posted at

はじめに

lanchpadでタイルから別機能のタイルに遷移する機能を実装する機会がありました。
以下を参考に実装ができたので備忘録のため記事を書かせていただきます。
https://sapui5.hana.ondemand.com/sdk/#/api/sap.ushell.services.CrossApplicationNavigation

ソースコード

そのまま別機能に遷移したい場合

sample.Controller.js
            var oCrossAppNav = sap.ushell.Container.getService("CrossApplicationNavigation");
            oCrossAppNav.toExternal({
                // 遷移先の情報
                target: { semanticObject: "demoUI02", action: "display" },
                // 遷移後に渡したいパラメータ情報
                params: {
                    sendParam: "data"
                }
            });

target内部のsemanticObjectにはLaunchpadで登録されている指定画面のセマンティックオブジェクトを指定します。
Launchpadのアプリ情報から確認できます。
スクリーンショット 2022-05-31 20.42.22.png

また、param部分に自由にデータを指定することで遷移後の画面に値を渡すことができます。
遷移後の画面で上記パラメータを取得するには以下ソースで取得ができます

sample.Controller.js
// 遷移先でパラメータを受け取る
let sKey = this.getOwnerComponent().getComponentData().startupParameters;

ちなみに別タブでの画面を遷移したい場合は以下のソースコード

sample.Controller.js
            var oCrossAppNav = sap.ushell.Container.getService("CrossApplicationNavigation");
            // 別タブ起動
            var sHash = oCrossAppNav.hrefForExternal({
                target: { semanticObject: "demoUI02", action: "display" },
                params: {
                    sendParam: "data"
                }
            });
            var url = window.location.href.split('#')[0] + sHash;
            sap.m.URLHelper.redirect(url, true);

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?