JP1/Integrated Management - Message Optimizer

[目次][用語][索引][前へ][次へ]

3.3.3 変換フォーマットを検討する

ここでは,メッセージの変換フォーマットを定義するときに検討する内容について説明します。

<この項の構成>
(1) 基本フォーマット
(2) フィールド
(3) 変換フォーマット

(1) 基本フォーマット

変換対象のメッセージの変換内容を決めたら,変換の準備としてメッセージの基本フォーマットを定義します。基本フォーマットは1個のイベントソースに対して1個定義すれば,同じイベントソースのすべてのメッセージに対して適用されます。

図3-7 基本フォーマットを定義するイメージ

[図データ]

基本フォーマットの定義で分割できる種別を次の表に示します。

表3-5 基本フォーマットの種別

項番 種別 例・説明
1 メッセージテキスト 「システムエラーが発生しました」のようなメッセージ本文の情報
2 メッセージID 「KNAH0001-I」のようなメッセージIDの情報
3 日時 日付(年/月/日)と時刻(時/分/秒)を合わせた情報
4 日付 日付(年/月/日)だけの情報
5 年だけの情報
6 月だけの情報
7 日だけの情報
8 曜日 曜日だけの情報
9 時刻 時刻(時/分/秒)だけの情報
10 時だけの情報
11 分だけの情報
12 秒だけの情報
13 情報フィールド
1〜15
日付,メッセージID,メッセージテキスト以外の情報(15個まで定義できる)。
  • ホスト名
  • プロセスID
  • スレッドID
14 ユーザー定義情報フィールド 01〜15 ユーザーが設定した任意のフィールド。
  • ホスト名
  • プロセスID
  • スレッドID
注※
09-10より前のバージョンのJP1/IM - MO Assistantを09-10以降のバージョンのJP1/IM - MOへ接続するとユーザー定義情報フィールドは空白で表示されます。

なお,日付の情報は,出力される形式が「YYYY/MM/DD」,「YY/MM/DD」など,さまざまです。この形式を統一するために種別と合わせて形式を定義します。元のメッセージの日付形式に合うものを次の中から選んで定義します。

表3-6 日付情報の形式

項番 種別 形式 例・説明
1 日時 YYYY/MM/DD hh:mm:ss 2006/02/08 13:41:00
2 YYYY-MM-DD hh:mm:ss 2006-02-08 13:41:00
3 1970/01/01からの経過秒数※1
4 日付 YYYY/MM/DD 2006/02/08
5 YYYY-MM-DD 2006-02-08
6 YY/MM/DD 06/02/08
7 DD/MMM/YYYY 08/Feb/2008
8 時刻 hh:mm:ss 13:41:00
9 hh:mm:ss.sss 13:41:00.000
10 hh:mm:ss.ssssss 13:41:00.000000
11 曜日 DDD (英字3文字) Mon/Tue/Wed/Thu/Fri/Sat/Sun
12 漢字1文字 月/火/水/木/金/土/日
13 YYYY 2006
14 YY※2 西暦下2けた
(例)06,6
15 MM※2 半角数字で表される月
(例)2,10
16 MMM(英字3文字) Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Nov/Dec
17 DD※2 半角数字で表される日
(例)2,10
18 hh※2 半角数字で表される時
(例)5,11
19 mm ※2 半角数字で表される分
(例)5,30
20 ss ※2 半角数字で表される秒
(例)5,30
21 ss.sss (例)00.000
22 ss.ssssss (例)00.000000
注※1
フィールドで指定できる日付形式はこれだけです。
注※2
日付情報が1けたと2けたのどちらの場合もこの項目で指定できます。

基本フォーマットを要素ごとに分割する方法は,メッセージによって異なります。

基本フォーマットを分割する方法は推奨する順に次の三つです。

バイト単位で分割する場合の注意事項
バイト単位で分割する場合は,次のことに注意してください。
  • 日付情報が1けたと2けたの両方で出力される場合は,文字列で区切ってください。
    例えば,2009/1/11や2009/10/1のように,月または日が1けたで出力されるメッセージの場合,バイト単位で分割すると,バイト数にずれが生じます。このため,文字列で分割するようにしてください。
  • メッセージ中にマルチバイトコードの文字列がある場合,1バイトコードは1バイト,2バイトコードは2バイトでカウントしてください。
  • メッセージ中の空白(半角スペースおよび全角スペース),または0x00〜0x1F,および0x7Fの制御コード(タブ文字,改行コードなど)もバイト数でカウントしてください。

(2) フィールド

基本フォーマットを定義したら,基本メッセージに埋め込みたい属性があるかを検討します。要素を追加するとメッセージのフォーマットが統一できる場合や,ビューアーでの監視に必要な情報をメッセージに埋め込みたい場合はこの項目を検討してください。基本メッセージに埋め込む属性とは,JP1イベントのメッセージ属性に含まれていない属性の中で,ビューアーでの監視の際にメッセージに出したい情報を含む属性です。これをフィールドと呼びます。

図3-8 フィールドを定義するイメージ

[図データ]

図の場合は,ビューアーのメッセージに「日時」情報を出すために,JP1イベントの「登録時刻」属性をフィールドに定義しています。このようにメッセージに必要な情報を埋め込むとビューアーでの監視がしやすくなります。

(3) 変換フォーマット

基本フォーマットを定義したら,次に変換フォーマットを定義します。

変換フォーマットは,基本フォーマットで定義した要素を並べ替えたり,可変値の長さを定義したりして見映えをそろえるために定義します。

変換フォーマットは,JP1/IM - Viewに出力する変換後のメッセージを統一するために定義するので,変換後にどう表示したいのかを考えて定義する必要があります。

図3-9 変換フォーマットを定義するイメージ

[図データ]

変換フォーマットは10個登録でき,必要に応じて切り替えられます。

変換フォーマットの定義で選択できる種別は基本フォーマットと同様です。

変換フォーマットの定義で選択できる種別については,「表 3-5 基本フォーマットの種別」を参照してください。

なお,日付の情報は,基本フォーマット同様さまざまです。この形式も統一するため,種別と合わせて形式も定義します。変換後のメッセージの日付形式に合うものを次の中から選択して定義します。

表3-7 変換フォーマットの日付情報の形式

項番 種別 形式 例・説明
1 日時 YYYY/MM/DD hh:mm:ss 2006/02/08 13:41:00
2 YYYY-MM-DD hh:mm:ss 2006-02-08 13:41:00
3 日付 YYYY/MM/DD 2006/02/08
4 YYYY-MM-DD 2006-02-08
5 YY/MM/DD 06/02/08
6 DD/MMM/YYYY 08/Feb/2008
7 時刻 hh:mm:ss 13:41:00
8 hh:mm:ss.sss 13:41:00.000
9 hh:mm:ss.ssssss 13:41:00.000000
10 曜日 DDD (英字3文字) Mon/Tue/Wed/Thu/Fri/Sat/Sun
11 漢字1文字 月/火/水/木/金/土/日
12 YYYY 2006
13 YY 西暦下2けた
(例)06
14 和暦(英字) 元号(半角英大文字1文字)+半角数字(前ゼロあり)
(例) H18,H08
15 和暦(漢字) 元号(漢字)+半角数字(前ゼロなし),各元号の1年は「元」年で出力する
(例) 平成18,平成元
16 MM 半角数字で表される月
(例)02,10
17 MMM(英字3文字) Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Nov/Dec
18 DD 半角数字で表される日
(例)02,10
19 hh 半角数字で表される時
(例)05,11
20 mm 半角数字で表される分
(例)05,30
21 ss 半角数字で表される秒
(例)05,30
22 ss.sss (例)00.000
23 ss.ssssss (例)00.000000