JP1/Base 運用ガイド

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


イベントフィルターの文法

イベントフィルターは,イベントIDや発行元ユーザー名などをキーにして,JP1イベントをフィルタリングします。イベントフィルターを設定する個所を次に示します。

注※ 詳細については,「付録J.4 JP1/SESイベントをJP1イベントに変換する」を参照してください。

イベントフィルターの書式

イベントフィルターは一つ以上の「条件文群」の集まりです。条件文群は一つ以上の「条件文」の集まりです。条件文は1行で表され,条件文を並べることで条件文群が構成されます。条件文群同士の間には「OR」とだけ記述した行を挿入します。なお,1行の最大長は1,024バイトです。一つのイベントフィルター全体の最大長は,64キロバイトです。

条件文群は条件文群を構成する条件文がすべて成立すると成立します。イベントフィルターは,イベントフィルターを構成する条件文群のどれか一つが成立すると成立します。

イベントフィルターの書式の概念を次の図に示します。

図14-1 イベントフィルターの書式の概念

[図データ]

JP1/Base 08-50以降では,イベントフィルターに除外条件を記述できます。

抽出条件が成立するJP1イベントのうち,特定のJP1イベントを除外したい場合に記述します。

抽出条件と除外条件の間には「EXCLUDE」とだけ記述した行を挿入します。「EXCLUDE」は,一つのフィルターに一つだけ記述でき,「EXCLUDE」より前に記述された条件文群は抽出条件,「EXCLUDE」より後ろに記述された条件文群は除外条件となります。除外条件に記述する条件文の書式は,抽出条件と同じです。

除外条件は省略できるため,以前のバージョンで作成したフィルターをJP1/Base 08-50以降でもそのまま使用できます。

条件文の書式

条件文の書式は次の形式で記述します。

属性名△比較キーワード△オペランド1△オペランド2△…

△は区切りで,一つ以上の連続した半角のスペースまたはタブを示します。オペランドを複数指定した場合は,どれか一つに当てはまるときに条件文が成立します。オペランドとして,半角スペース,タブ,CR,LFおよび%は通常の方法では使用できませんが,次に示すように2桁の16進数で表現できます。

また,半角スペース,タブ,CR,LFおよび%以外の文字も16進数で表現できます。

注意事項
  • JP1/SES形式で登録されたイベントに日本語文字列が含まれる場合,その文字コードと条件文に指定した文字コードが一致しないと,条件に合致しません。
  • 条件文に機種依存文字が含まれる場合,正しく比較できません。

属性名

条件文の属性名を次の表に示します。

表14-2 条件文の属性名

属性名 内容 型および形式
B.SEQNO イベントDB内通し番号 数値(0〜2,147,483,647)
B.ID イベントID イベントID※1
B.PROCESSID 発行元プロセスID 数値(0〜2,147,483,647)
B.TIME 登録時刻 数値
(0〜2,147,483,647 =UTC1970年1月1日00:00:00からの秒数)
B.ARRIVEDTIME 到着時刻 数値
(0〜2,147,483,647 =UTC1970年1月1日00:00:00からの秒数)
B.REASON イベントDBへの登録要因 数値(1〜4)
B.USERID 発行元ユーザーID 数値(-1〜2,147,483,647)
B.GROUPID 発行元グループID 数値(-1〜2,147,483,647)
B.USERNAME 発行元ユーザー名 文字列※3
B.GROUPNAME 発行元グループ名 文字列※3
B.SOURCESERVER 発行元イベントサーバ名 文字列※3
B.DESTSERVER 送信先イベントサーバ名 文字列※3
B.SOURCESEQNO 発行元別通し番号 数値(0〜2,147,483,647)
B.CODESET コードセット 文字列※3
B.MESSAGE メッセージ 文字列※3
E.拡張属性名※2 拡張属性 文字列※3

注※1 イベントIDは,文字列型,数値型と異なります。詳細については,「表14-3 条件文の比較キーワード」の条件内の属性値がイベントIDの場合を参照してください。

注※2 拡張属性名の形式については,「15.1.2 拡張属性」を参照してください。

注※3 文字列は,英字の大小文字を区別します。


比較キーワード

条件文の比較キーワードを次の表に示します。

表14-3 条件文の比較キーワード

比較キーワード オペランドの数 条件
IN 1以上 属性値が,オペランドのどれかと一致する。
属性値が文字列型の場合,オペランドは任意の文字列。
属性値が数値型の場合,オペランドは10進数(符号可)と見なせる文字列。そうでないオペランドは常に不一致。
属性値がイベントIDの場合,オペランドはx:yまたはx(xとyは1〜8桁の16進数)の形式の文字列。xがイベントID基本部に,yがイベントID拡張部に対応。そうでないものは常に不一致。
NOTIN 1以上 比較キーワードINの否定。
BEGIN 1以上 属性値が文字列型であり,オペランドに指定した文字列のどれかで始まると成立。属性値が数値型またはイベントIDの場合は常に不成立。
RANGE 2

属性名が,B.TIMEまたはB.ARRIVEDTIMEの場合
次の条件を満たすと成立。
  • 属性値が数値,または10進数(0〜2,147,483,647)と見なせる文字列。
  • オペランド1およびオペランド2が14桁の数字列。
  • 属性値をUTC1970年1月1日00:00:00からの秒数と見なし,イベントサーバの稼働環境のタイムゾーンに基づくyyyymmddHHMMSSの形式の数字列にしたときに,オペランド1 ≦ 属性値 ≦ オペランド2であるとき。

そのほかの属性名で属性値が数値型の場合
オペランド1およびオペランド2を10進数と見なしたときに,オペランド1 ≦ 属性値 ≦ オペランド2であると成立。

属性値が文字列型の場合
文字コード順の比較で,オペランド1 ≦ 属性値 ≦ オペランド2であると成立。

属性値がイベントIDの場合
オペランド1およびオペランド2がx:y(xとyは1〜8桁の16進数)の形式の文字列で,y(拡張部)を上8桁,x(基本部)を下8桁の計16桁の16進数と見なしたときにオペランド1 ≦ 属性値 ≦ オペランド2であると成立。
以上のどれでもない場合は不成立。
TRANGE 2 次の条件を満たすと成立する。
  • 属性値が数値,または10進数(0〜2,147,483,647)と見なせる文字列。
  • オペランド1およびオペランド2が14桁の数字列。
  • 属性値をUTC1970年1月1日00:00:00からの秒数と見なし,イベントサーバの稼働環境のタイムゾーンに基づくyyyymmddHHMMSSの形式の数字列にした場合に,オペランド1 ≦ 属性値 ≦ オペランド2であるとき。
以上の場合でないときは不成立。
DEFINED 0 属性名が拡張属性名を表し,指定の拡張属性が定義されていると成立。定義されていないと不成立。属性名が基本属性を表す場合は常に成立。
NOTDEFINED 0 比較キーワードDEFINEDの否定。
SUBSTR 1以上 属性値が文字列型であり,オペランドに指定した文字列のどれかが含まれていると成立。
属性値が数値型,またはイベントIDの場合は常に不成立。
NOTSUBSTR 1以上 比較キーワードSUBSTRの否定。
REGEX※1 1以上 正規表現記述用比較キーワード。
属性値が文字列型であり,オペランドに指定した正規表現のどれかと一致すると成立。
正規表現については「付録F 正規表現の文法」を参照のこと。
WITHIN※2 2

属性名が,B.TIMEまたはB.ARRIVEDTIMEの場合
次の条件を満たすと成立。
  • 属性値が数値,または10進数(1〜2,147,483,647)と見なせる文字列。
  • オペランド1がM(分),H(時間),D(日)のどれかの文字列。
  • オペランド2が10進数(符号不可)と見なせる文字列。
  • オペランド1がM(分)およびH(時間)の場合
    属性値をUTC1970年1月1日00:00:00からの秒数と見なし,イベントサーバの稼働環境のタイムゾーンに基づくyyyymmddHHMMSSの形式の数字列にしたときに,(現在時刻−オペランド2)≦属性値≦現在時刻 であるとき。
  • オペランド1がD(日)の場合
    属性値をUTC1970年1月1日00:00:00からの秒数と見なし,イベントサーバの稼働環境のタイムゾーンに基づくyyyymmddHHMMSSの形式の数字列にしたときに,[今日の日付−(オペランド2−1)]の00:00:00≦属性値≦今日の日付の24:59:59であるとき

注※1 REGEXは06-71から追加された比較キーワードです。このため,06-71以降のJP1/Base以外でREGEXを定義したファイルを利用した場合,REGEXの定義部分は無視されます。なお,機種依存文字を正規表現に指定した場合でも通常文字列と同様に処理されます。

注※2 WITHINは07-00から追加された比較キーワードです。jevexportコマンドで指定するフィルターファイルでだけ指定できます。このため,07-00以降のJP1/Baseで提供するjevexportコマンド以外でWITHINを定義したファイルを利用した場合,WITHINの定義がエラーとなり,06-71以前と同じ動作となります。


イベントフィルターの記述例

イベントフィルターの記述例を示します。

注※ イベントサーバ環境での時刻を基にしています。

[目次][前へ][次へ]


[他社商品名称に関する表示]

All Rights Reserved. Copyright (C) 2009, 2011, Hitachi, Ltd.