Day: October 17, 2025

FioriアプリのApplication Stateデータの共有のための設定

1. はじめに Fioriアプリの利用にあたり、業務の現場では、特定の日付範囲や会社コード等を検索条件として入力し、一覧の並び順も調整したうえで、“Share”ボタン経由でのメール送信やチャットでのアプリURLの送信等により、ほかのユーザに共有するケースがあります。しかし、URLを受け取ったユーザがそのURLを開くと、フィルタが初期化されていたり、並び順が元に戻っていたりするため、送信者の画面が再現できない場合があります。この挙動は、異なるブラウザ(例:ChromeからEdge)、異なるデバイス(PCからスマートフォン)、あるいは別セッションからアクセスした場合に発生します。結果として、受け手は再度フィルタ条件を聞き直したり、スクリーンショットと突き合わせたりしながら手作業で条件を復元することになり、レビューや承認、トラブルシュートのスピードが落ちることが考えられます。この事象の原因は、Fiori Launchpadのデフォルト設定にあります。標準設定では、アプリの状態(フィルタ、ソート、ページネーションなど)はブラウザ側の一時領域に保持されており、URLのみの共有では、フィルタ条件等は反映されません。そのため、URLを別の環境で開いても、送信者のブラウザに保存された情報は参照されず、URLに“sap-iapp-state”のパラメータが付与されていても画面の再現ができません。こちらのブログでは、異なるブラウザやデバイス間でフィルタ条件やテーブルカラムの並び順等の情報を含めてアプリを共有するための設定についてご紹介します。 2. アプリの状態を共有するための仕組み アプリの状態は、Application Stateデータにより管理されます。Application Stateデータは、Fiori Launchpadでの“アプリの見た目やフィルタリングの状態“を扱うデータです。ユーザがフィルタ条件を設定したり、テーブルの並び順・表示列を調整したりしたとき、その状態をひとまとめの「スナップショット」として記録し、後から復元する仕組みとなっています。Fiori elementsやSmartFilterBarを使うアプリでは、このApplication Stateデータを通じてアプリの状態が保存・読み込みされています。Fiori アプリでは、URLに付与された参照キー(”sap-iapp-state“パラメータ)を使用してアプリの状態を再現します。 Fiori LaunchpadにおけるApplication Stateデータの取り扱い方法は、Launchpad設定パラメータ:APPSTATE_TRANSIENTで定義され、以下の2種類のパラメータが提供されています。 true (デフォルト) ブラウザ内の一時領域に状態を保持する方式(transient)です。同一ブラウザ・同一セッションのみ状態が維持されるため、別ブラウザや別デバイスでは再現されません。 false アプリの状態をFront-end サーバ側に保存します。そのため、Front-end サーバに保存されたデータを参照するため、異なるブラウザやデバイス間でのアプリの再現が可能となります。 3. 設定方法 以下のいずれかのトランザクションで、Launchpad 設定パラメータ:APPSTATE_TRANSIENT(設定値: true / false)を設定します。…