意図したファイルを読み込めていない!? WebFOCUSの参照先設定を知ろう!

サポぶろぐ

こんにちは!
株式会社アシストでWebFOCUSのサポートを担当している吉江です。

いよいよ夏本番。そして、ついに東京オリンピックが開催しましたね!
開催直後から熱い瞬間の連続で、選手の頑張り、煌めきから目が離せないです。
この夏とオリンピックの熱気に負けないくらい、いつもより更に熱く、今回の記事をご紹介していきたいと思います!

前回の記事では、環境設定ファイルであるedasprof.prf (サーバプロファイル)で指定可能なSETコマンドをご紹介しましたが、
実はedasprof.prfでは他にも以下のような設定を行うことができます。

 ・WebFOCUSの参照先設定 (APPコマンド)
 ・参照先DBのアダプタ設定 (ENGINEコマンド)

今回は上記の中で、アプリケーション作成時に特に意識して頂きたいWebFOCUSの参照先設定をご紹介します

WebFOCUSの参照先設定ってなに?

参照先設定とは

WebFOCUSではedasprof.prfに、アプリケーションパス(APP PATH)という指定を行います。
このアプリケーションパスで指定された物理フォルダが、WebFOCUSから参照、検索できるフォルダとなります。

物理フォルダに存在するシノニムやプロシジャ、HTMLファイルやCSVファイルなどをWebFOCUSから参照できるよう
にしたい場合は、このアプリケーションパスの設定を行う必要があります。

参照先の設定箇所

参照先設定はedasprof.prfに行います。このedasprof.prfはWebコンソールから以下の手順で編集することができます。

 1)Webコンソール(http://WebFOCUSサーバ名:8121/)にアクセスし、管理者ユーザでログインします。
 2)画面左端より[ワークスペース(歯車のアイコン)]をクリックします。
 3)表示された画面のメニューツリーより[構成ファイル]-[サーバプロファイル – edasprof.prf]を右クリック、[編集]を選択します。
 4)プロファイルの編集画面が表示されます。こちらの画面からアプリケーションパスの設定を行います。

  

編集後に[保存]アイコンをクリックすることで設定が反映されます。WebFOCUSサービスの再起動は必要ありません!

よく使用する参照先設定の種類

参照先設定で使用するコマンドにはいくつか種類がありますが、今回は頻繁に使用する3種類のコマンドをご紹介します。

参照先設定の代表格!APP PATH

\ibi\apps配下のアプリケーションフォルダ名をAPP PATHに指定することで、指定したアプリケーションフォルダ配下の
ファイルを参照、検索できる
ようになります。

APP PATH app1 app2 … appn

appX:\ibi\apps配下のアプリケーションフォルダ名(例:baseapp、ibisampなど)を指定します。
    複数のアプリケーションフォルダを指定する場合、先頭に指定したフォルダから順に参照される動作となります。
    このため優先的に参照させたいフォルダは、先頭の方に指定を行います。

なお、APP PATHはedasprof.prfにコマンドで指定する以外に、Webコンソール上からGUI操作で設定することもできます!

■GUI操作でのAPP PATH設定手順
 1)Webコンソール(http://WebFOCUSサーバ名:8121/)にアクセスし、管理者ユーザでログインします。
 2)画面左端より[アプリケーション(フォルダのアイコン)]をクリックします。
 3)表示された画面上部より[管理(歯車のアイコン)]-[アプリケーションパス]を選択します。
 4)アプリケーションパスの構成画面が表示されます。

 5)この画面から参照先設定を行います。右側の"アプリケーションパス"欄に存在するフォルダが、WebFOCUSで参照可能なフォルダです。
   任意のフォルダを選択し、"利用可能なアプリケーション"欄から"アプリケーションパス"欄までドラッグすることで、参照先に設定
   することができます。

 6)設定が終わりましたら、画面下部の[保存]ボタンをクリックすることで設定を反映できます。

  • 手順1
  • 手順2
  • 手順3以降

優先して読み込みたい時の頼みの綱!APP PREPENDPATH

\ibi\apps配下のアプリケーションフォルダ名をAPP PREPENDPATHに指定することで、APP PATHに指定している
アプリケーションフォルダよりも先頭にパスの設定を行うことができます。
これによりAPP PREPENDPATHに指定したアプリケーションフォルダは、APP PATHで指定されたフォルダよりも
優先的に参照される動作となります。

APP PREPENDPATH app1 app2 … appn

appX:\ibi\apps配下のアプリケーションフォルダ名を指定します。
    複数のアプリケーションフォルダを指定する場合、先頭に指定したフォルダから順に参照される動作となります。

主な使用シーンとしては、一時的に優先的に設定したいフォルダがある場合などに使用します。
なお、本コマンドはWebFOCUSサーバ全体に有効となるedasprof.prfではなく、プロシジャに指定することも可能です。
特定のプロシジャでのみ優先的に参照させたいアプリケーションフォルダが存在する場合には、プロシジャ中で本指定
を行うこともあります!

任意の場所を参照させたい時の切り札!APP MAP

\ibi\apps配下以外に、ファイルシステムの任意の場所にあるフォルダを参照できるようにしたい場合に使用します!

APP MAPは、ファイルシステムの任意の場所にあるフォルダにアプリケーション名を割り当てることができます。
割り当てたアプリケーション名をAPP PATHやAPP PREPENDPATHに指定することで、\ibi\apps配下以外のフォルダ
についてもWebFOCUSから参照できるようになります。

APP MAP virtualname location

virtualname
:locationに指定したフォルダに対して割り当てるアプリケーションフォルダ名を指定します。
        (最大64バイトまで)
        この名前は、後からAPP PATHコマンドなどで使用することができます。

location  :参照可能としたいフォルダのフルパスを指定します。
        実際のパス名にブランクが含まれている場合は、その名前を二重引用符(“)で囲む必要があります。

【指定例】
-*———————–
APP MAP test C:\temp
-*———————–
例では、C:\tempにtestというアプリケーションフォルダ名を割り当てています。
割り当てたtestをAPP PATHに指定することで、WebFOCUSからC:\temp配下を参照できるようになります。

意図したファイルを参照できているか確認しよう!

上述したように、APP PATHにアプリケーションフォルダの指定が複数ある場合、先頭に指定されたアプリケーション
フォルダから順に参照されます。

ですが、APP PATHに数多くのアプリケーションフォルダが指定されていて、かつ同名ファイルが複数のフォルダ配下
に存在すると、どのアプリケーションフォルダにあるファイルが優先的に参照されているのか非常に分かりにくい状態
となります。

こういった場面で活躍するのが、参照しているファイルのディレクトリを確認できるWHENCEコマンドです✨

WHENCE filename type

filename:参照先となるディレクトリを確認したいファイルの名称を指定します。

type   :filenameに記載したファイルの種類に合致するタイプを指定します。
       FOCEXEC  プロシジャ
       MASTER  マスターファイル
       ACCESS  アクセスファイル
       FOCUS   FOCUSファイル
       FOCSTYLE スタイルシート


【指定/結果例】
-*——————————-
WHENCE CAR MASTER
-*——————————-
例では、CARというマスターファイル(car.mas)が存在するディレクトリを確認するよう指定しています。

→結果画面上に「C:\ibi\apps\ibisamp\car.mas」といったように、参照しているcar.masのディレクトリが表示されます。

レポートの開発時に「あれ?何だか参照しているファイルが違うかも?」と疑わしい場面に遭遇した際は、是非
WHENCEコマンドを活用し、意図したファイルが読み込めているかをご確認頂ければと思います!

そして、もしWHENCEコマンドで確認したディレクトリが意図しない結果となった際は、APP PATHなどの参照先
設定を見直してみてください

次回は「Excel出力に耐えられるか!?Javaサービスのヒープサイズ設定について」を公開予定です。
Excelやグラフ出力時などに陥りやすいJavaのヒープサイズ設定に関する内容をご紹介しますので、こちらも楽しみ
にお待ち頂ければと思います!


 <この記事を書いた人>

 株式会社アシスト DX推進技術本部データ活用技術統括部 
 吉江 舞音(よしえ まいね)

 入社歴  :2011年新卒入社、10年間WebFOCUSのサポートを専任
 趣味   :テニス(週2で頑張ってます!)、観劇(ミュージカルが好き♡)
 ひとこと :テニスで満身創痍のため、マッサージガンを買おうと画策中です!