もう面倒くさくない!WebFOCUSの共通設定はここに書け!

2024年3月23日サポぶろぐ

皆さんこんにちは!
株式会社アシストでWebFOCUSのサポートを担当しています児島です。

毎回斬新なタイトルで申し訳ありません。
決して命令している訳ではなく、情報を伝える熱い思いと受け取ってください。。

さて、今回もそんな熱いタイトルと共に熱い情報をお届けしていきます!

今回のテーマは、「共通設定で開発者の負荷を少しでも下げよう」になります。

ユーザの皆さんが実行しているレポートは、WebFOCUSのプロシジャというものがベースになっています。
このプロシジャでは、表示する項目の指定の他に、SETコマンドというものを指定することができます。

例えば、SETコマンドの代表的なものとして、以下のようなものがあります。

SET BYDISPLAY = ON

 →ソート項目で同じ値が続く場合、ブランクで表示されますが、このSETコマンドを
  使用することで、2行目以降も同じ値を表示させることができます。

SET NODATA = ‘なし’

 →NULL 値の表示を、別の値(上記では「なし」)に置き換えることができます。

SET LINES = 10

 →1ページ中の表示するレポートの行数を制御することができます。

上記のように便利で役立つSETコマンドはたくさんありますが、それを毎回レポートごとに指定するのは、結構開発者泣かせだったりするんです。。

そんなSETコマンドを、これから紹介するファイルに予め記載をしておくことで、レポートごとに記載する必要がなくなるんです。

そのファイルの名前は、「edasprof.prf」! 別名、グローバルプロファイルと呼ばれていまして、以下のフォルダに格納されています。

\ibi\srv82\wfs\etc

このファイルには、他にも有益な情報が記載されていますので、次回のブログで詳しく解説していきますね。

このファイルのどこにSETコマンドを記載すればいいのか。
それは、、、どこでもOKです!

ただバラバラ記載するとわかりにくいので、SETコマンドは纏めて記載することをお薦めします。

ここでこんな疑問が出てきます。

「SETコマンドとか追加したら、サービスの再起動が必要なんじゃないの?」😥

ご安心ください!
「edasprof.prf」は、サービスの再起動は不要です!

SETコマンドを記載して保存をすれば、すぐに反映させることができます!
(すぐに反映されてしまうので、諸刃の剣とも言えますが。。)

なお、弊社が新規導入を行う場合には、導入時に予め以下のSETコマンドを指定しています。

数値表示の設定SET CENT-ZERO=ON0以下の数値の際に、整数部分に0を出力します。
接頭語の設定SET COUNTWIDTH=ONCNTによる最大表示桁数を9桁に変更します。
JOIN最適化の設定SET SHORTPATH=SQL子テーブルへWHEREがある状態のJOINを最適化します。

これでSETコマンドを共通化する方法がわかりましたが、次にこんな疑問が出てきます。

「確かにそれは便利なんだけど、特定のレポートでは違う設定をしたいんだよな。。
 でも全体で共通の設定がされていたらどうしようもないんじゃないかな」
😭

ご安心ください、もちろん大丈夫です!
上記でご紹介したグローバルプロファイルの設定よりも、プロシジャ側で指定をした設定の方が有効になるんです。

つまり、プロシジャ自身にSETコマンドを指定してしまえば、特定のプロシジャにだけ異なる結果を見せることも可能になります!

これでレポートごとの表示設定は楽々、負荷も減少されていいことばかりです。

ぜひ「edasprof.prf」を活用して、快適なレポート作成ライフを!

さて次回は、「edasprof.prf」でできる他の機能についてもご紹介していきます!

題して、「意図したファイルを読み込めていない!? WebFOCUSの参照先設定を知ろう!」です!
どうぞお楽しみに。

<この記事をかいた人>

株式会社アシスト
DX推進技術本部データ活用技術統括部BI技術1部
WebFOCUS 担当 
児島 清吾

入社歴:2005年新卒入社、WebFOCUS一筋
趣味 :ジョギング、動画鑑賞、子供と遊ぶ 
ひとこと : コンビニでアイスを買ったら、フォークとストローが付いてきました