ユーザー独自のイベント属性を表示するための定義ファイルについて
JP1/IMの定義ファイルをカスタマイズすることによって,ほかのアプリケーションがJP1/IMと連携するための機能を拡張できるようになります。
- 〈このページの構成〉
JP1/IMの定義ファイルのカスタマイズ
機能を拡張すると,次のことができます。
-
ユーザー独自のイベント属性を表示する
-
JP1/IM - Viewに表示されたJP1イベントからモニター画面を表示する
-
[統合機能メニュー]画面に新規メニューを追加する
- 注意事項
-
カスタマイズした定義ファイルをUTF-8で保存する場合は,BOM(byte order mark)が付与されないように保存してください。
機能の詳細については,マニュアル「JP1/Integrated Management - Manager 導入・設計ガイド」の「3.11 ユーザー独自のイベント属性の表示」を参照してください。
定義ファイルの概要
定義ファイルの中で,定義を記述するブロック間には関連があります。また,定義ファイル間にも関連があります。それらの関連を次の図に示します。
|
定義ファイルの命名規則
定義ファイルの命名規則を次に示します。
定義ファイル名 |
命名規則 |
---|---|
イベント拡張属性定義ファイル |
会社名_製品名_attr_ja.conf |
オブジェクトタイプ定義ファイル |
会社名_製品名_obj.ja |
アプリケーション実行定義ファイル |
会社名_製品名_app.conf |
モニター画面呼び出し定義ファイル |
会社名_製品名_mon.conf |
統合機能メニュー定義ファイル |
会社名_製品名_tree.conf |
なお,「製品名」は,「シリーズ名_製品名」とすることもできます。JP1イベント発行時の「PRODUCT_NAME」に指定する値の「/」を「_」に変更してファイル名に使用することをお勧めします。また,標準提供ファイル名称用に「hitachi」を使用しているため,「会社名」には「hitachi」以外の名称を使用してください。
定義ファイルの格納先
それぞれの定義ファイルの格納先を次に示します。
定義ファイル名 |
格納先 |
---|---|
イベント拡張属性定義ファイル |
JP1/IM - Managerがインストールされたマシン |
モニター画面呼び出し定義ファイル |
JP1/IM - Managerがインストールされたマシン |
オブジェクトタイプ定義ファイル |
JP1/IM - Managerがインストールされたマシン |
アプリケーション実行定義ファイル |
JP1/IM - Viewがインストールされたマシン |
統合機能メニュー定義ファイル |
JP1/IM - Viewがインストールされたマシン |
定義ファイルの構造
ここでは,[イベントコンソール]画面,[統合機能メニュー]画面と連携するためにカスタマイズできるJP1/IMの定義ファイルに共通する事項について説明します。
なお,この節の説明は次の三つの定義ファイルだけに該当します。
-
イベント拡張属性定義ファイル
-
アプリケーション実行定義ファイル
-
統合機能メニュー定義ファイル
オブジェクトタイプ定義ファイルおよびモニター画面呼び出し定義ファイルは,それぞれ構造が異なります。
定義ファイルの構成要素
定義ファイルを構成する要素には,大きく分けて,ステートメント,ブロック,およびコメントがあります。定義ファイルは,そのファイル全体の属性を表すステートメント(定義情報ヘッダー)から開始し,定義内容を記述するブロック,および任意選択のコメントが続きます。
定義ファイルを構成するこれらの要素について説明します。
ステートメント
- ステートメントの構造
-
ステートメントとは,複数の構成要素が組み合わされて一つの意味を形成するようになった列のことです。ステートメントは必ず行頭から開始しなければなりません。また,ステートメントは「;」と改行で区切らなければなりません。
- ステートメントの種別
-
ステートメントは,記述できる場所によって「ファイル内ステートメント」と「ブロック内ステートメント」に分けられます。
- ファイル内ステートメント
-
ファイル内ステートメントは,定義ファイルの属性を表すステートメントです。ファイル内ステートメントには,さらに「定義情報ヘッダー用ステートメント」と「ブロック制御用ステートメント」の二つがあります。
ファイル内ステートメントには「@」のプリフィックスが付きます。
- ブロック内ステートメント
-
ブロック内ステートメントは,ブロック内の属性を表すステートメントです。ブロック内ステートメントは,ブロック開始ステートメント(@define-block)からブロック終了ステートメント(@define-block-end)までの間に記述できるステートメントのうち,コメント以外のものを指します。記述できるブロック内ステートメントは,ブロックごとに決まっています。
ブロック内ステートメントには「@」などのプリフィックスは付きません。
ブロック
- ブロックの構造
-
ブロックはステートメントの集合体です。ブロックは,ブロックの開始を宣言するステートメント(@define-block),実際の定義を記述するブロック内ステートメント,コメント,およびブロックの終了を宣言するステートメント(@define-block-end)によって構成されます。
定義ファイルの中でブロックをネストできません。
- ブロックの種別
-
ブロック種別は,ブロック開始ステートメント(@define-block)の「type=」パラメーターで指定します。ブロック種別の詳細については,「@define-blockステートメント」を参照してください。
- ブロックの優先順位
-
ブロックには,定義内でユニークでなければならないキー項目があります。キー項目が定義内に複数個存在した場合は,優先順位に従ってブロック単位で取捨選択されます。ブロックの優先順位は次のようになります。
-
ファイル名を昇順にソートしてあとの方のファイル内のブロック
-
ファイル内で記述場所があとの方に存在するブロック
言い換えると,「定義ファイルをファイル名で昇順にソートして一つのファイルに連結し,連結したファイル内であとに記述されているものが優先される」ということになります。
-
コメント
コメントとは,行頭が「#」のステートメント,または1行が空白,タブ,または改行だけで構成される行です。コメントは定義情報としての意味を持ちません。
コメントは一つのステートメントとして処理されます。コメントは行単位で判断されるので,「;」で区切る必要はありません。コメントの末尾に「;」を付けた場合は,「;」もコメントの一部として解釈されます。
共通ステートメントの生成規則
ファイル内ステートメントには,定義情報ヘッダー用ステートメントとブロック制御用ステートメントの二つがあります。
ファイル内ステートメントの一覧を次に示します。
ステートメント名 |
意味 |
種別 |
---|---|---|
@file |
定義バージョンを宣言する |
定義情報ヘッダー用 |
@product |
定義中のPP情報を宣言する |
定義情報ヘッダー用 |
@define-block |
ブロックの開始を宣言する |
ブロック制御用 |
@define-block-end |
ブロックの終了を宣言する |
ブロック制御用 |
これらのステートメントのうち,定義情報ヘッダー用ステートメントは,一つの定義ファイル全体に共通する属性を定義します。使用できる定義情報ヘッダー用ステートメントは定義ファイルごとに異なります。また,定義情報ヘッダー用ステートメントのパラメーターも,定義ファイルごとに異なります。
ブロック制御用ステートメントは,その定義ファイル内で定義するブロックの単位を宣言するために使用します。ブロック制御用ステートメントの生成規則は,すべての定義ファイルで共通です。
このあとに,ブロック制御用ステートメントの生成規則を示します。定義情報ヘッダー用ステートメントの生成規則については,個々の定義ファイルの説明を参照してください。
- @define-blockステートメント
-
- 構文
-
@define-block type="ブロック種別";
- 機能
-
ブロックの開始を宣言します。このステートメントから @define-block-endステートメントまでを一つの定義ブロックとして扱います。
- パラメーター
-
・type="ブロック種別"
定義ブロックの種類を指定します。指定できるブロック種別を次に示します。
表2‒5 ブロック種別一覧 ブロック名
パラメーターでの指定値
イベント属性定義ブロック
"event-attr-def"
イベント属性グループ定義ブロック
"event-attr-group-def"
イベント表示順序定義ブロック
"event-attr-order-def"
アプリケーション実行定義ブロック
"application-execution-def"
機能ツリーメニュー定義ブロック
"function-tree-def"
無効なブロック種別が指定された場合は,ブロック全体が無視されて警告が表示されますが,ファイルの解析処理は続行されます。
- 注意事項
-
定義ブロックをネストできません。
- 定義例
-
@define-block-endステートメントの説明を参照してください。
- @define-block-endステートメント
-
- 構文
-
@define-block-end;
- 機能
-
@define-blockから始まる定義ブロックの終了を宣言します。
- 注意事項
-
対応する@define-blockステートメントがない場合は,ファイルの解析処理を中止します。
- 定義例
-
@define-blockステートメントおよび@define-block-endステートメントの定義例を示します。
@define-block type="event-attr-def"; block lang="Japanese", platform="base"; attr name="E.SEVERITY", title="重大度"; attr name="B.TIME", title="登録時刻"; attr name="B.SOURCESERVER", title="登録ホスト"; attr name="E.USER_NAME", title="ユーザー名"; @define-block-end;