Designerページのフィルタに初期値を設定したい

2024年3月23日テクニカルメモ

Designerページを表示した際、フィルタに初期値を設定しておきたいことがあります。
そんなときはグローバル変数を利用してみるとよいかもしれません。

グローバル変数とは?

WebFOCUS Client のセッションごとに値を保持する変数で、セッションが終了するまで値を保持します。WebFOCUSにログインしているユーザ、かつ、同一のWebブラウザ内で利用できます。

以下のように設定すると、グローバル変数になります。

&&変数名

なお、グローバル変数の値を保持する時間はWebFOCUS Hubの「管理センター」から設定可能です。

セッションタイムアウトの設定

[管理センター]ー[管理コンソール]で
[構成]タブー[アプリケーションの設定]ー[BI Portal]を選択

セッションタイムアウト (分)120
  • パラメータ名は[IBI_SESSION_TIMEOUT]です。
  • ログインしたユーザがアイドル状態を保持できる期間のセッションタイムアウト値を制御します。
  • 指定した時間(分数)を経過した場合、セッションタイムアウトになります。
  • デフォルト値は 120 分 です。
  • パブリックユーザ以外のすべてのユーザに適用されます。

一時ファイルのタイムアウトの設定

[管理センター]ー[管理コンソール]で
[構成]タブー[アプリケーションの設定]ー[client 設定]を選択

一時ファイルのタイムアウト900
  • パラメータ名は[IBI_TEMPFILETIMEOUT]です。
  • 一時ディレクトリからファイルを削除します。
  • 指定した時間 (秒数) が経過した場合、それより前のファイルは削除されます。
  • デフォルト値は 900 秒です。

初期値を設定する手順

Designerページにグローバル変数を埋め込む

Designerページ上でフィルタを選択状態にしたうえで、
[プロパティパネル]ー[データの設定]の「デフォルト値」にグローバル変数を設定します。

  • グローバル変数は半角英数字で設定します。

グローバル変数を定義するプロシジャを作成する

任意のワークスペースフォルダ内に、プロシジャを作成します。

プロシジャ内でグローバル変数を定義し、初期値としてセットしたい値を定義します。

-SET &&変数名 = 値 ;
  • グローバル変数には、システム変数をセットすることもできます。これにより、年や月などを初期値として利用することも可能です。
  • プロシジャを実行することでグローバル変数に値をセットすることができるようになります。

グローバル変数をセットするタイミングを決める

作成したプロシジャのプロパティを開き、パスをコピーします。

WebFOCUSログイン時にこのプロシジャを実行するように設定します。

[管理センター]ー[管理コンソール]で
[構成]タブー[アプリケーションの設定]ー[その他]を選択

ユーザログイン時の実行パスIBFS:/WFC/Repository/~/xx.fex
  • ユーザがポータルまたは Web サービスにログインした際に実行するプロシジャを指定します。
  • デフォルト設定では、この値はブランクです。
  • 複数のプロシジャを指定したい場合はカンマ (,) で区切ります。

保存したら完成です!