MESSAGE_FILE_DATA ビュー

MESSAGE_FILE_DATA ビューは、メッセージ・ファイル内のメッセージごとに 1 行を戻します。

この情報は、メッセージ記述表示 (DSPMSGD) CL コマンドおよびメッセージ検索 (QMHRTVM) API によって戻される情報と類似しています。

許可: 呼び出し側は以下を備えている必要があります。
  • メッセージ・ファイルが入っているライブラリーに対する *EXECUTE 権限、および
  • メッセージ・ファイルに対する *USE 権限。

次の表で、ビューの列について説明します。 システム名は MSGF_DATA です。 スキーマは QSYS2 です。

表 1. MESSAGE_FILE_DATA ビュー
列名 システム列名 データ・タイプ 説明
MESSAGE_FILE_LIBRARY MSGF_LIB VARCHAR(10) メッセージ・ファイルが入っているライブラリー。
MESSAGE_FILE MSGF VARCHAR(10) メッセージ・ファイル。
MESSAGE_ID MSGID CHAR(7) メッセージ ID です。
MESSAGE_TEXT MSG_TEXT VARGRAPHIC(132) CCSID 1200 メッセージのテキスト。
MESSAGE_SECOND_LEVEL_
テキスト
SECLVL VARGRAPHIC(3000) CCSID 1200
ヌル可能
メッセージの第 2 レベル・メッセージ・テキスト。

第 2 レベル・テキストが定義されていない場合は、NULL 値が入ります。

重大度 重大度 INTEGER メッセージの重大度。
MESSAGE_DATA_COUNT MSGDATACNT INTEGER MESSAGE_DATA に定義された変数の数。
MESSAGE_DATA MSGDATA VARCHAR(2078)
ヌル可能
メッセージのすべてのメッセージ・データ・フィールド (置換変数とも呼ばれる) を含むストリング。 ストリングの形式については、この表の後で説明します。

メッセージ・データ・フィールドが定義されていない場合は、NULL 値が入ります。

LOG_PROBLEM LOGPRB VARCHAR(4) メッセージのログ問題の値。
*NO
問題はログに記録されません。
*YES
問題がログに記録されます。
CREATION_DATE CRT_DATE 日数 メッセージが作成された日付。
CREATION_LEVEL CRT_LEVEL INTEGER メッセージのレベル番号。 これは 1 から 99 までの値です。
MODIFICATION_DATE MOD_DATE 日数 メッセージが変更された日付。
MODIFICATION_LEVEL MOD_LEVEL INTEGER メッセージのモディフィケーション・レベル番号。 これは 1 から 99 までの値です。
CCSID CCSID INTEGER MESSAGE_TEXT および MESSAGE_SECOND_LEVEL_TEXT の保管値に適用される CCSID。
DEFAULT_PROGRAM_LIBRARY DFT_PGMLIB VARCHAR(10)
ヌル可能
デフォルトのプログラムに指定されたライブラリー。 次の特殊値を含めることができます。
*CURLIB
現行ライブラリーが使用されます。
*LIBL
プログラムはライブラリー・リストを使用して検出されます。

デフォルト・プログラムが定義されていない場合は、NULL 値が入ります。

DEFAULT_PROGRAM DFT_PGM VARCHAR(10)
ヌル可能
このメッセージが、それをモニターしていないプログラムまたはプロシージャーにエスケープ・メッセージとして送られた場合にデフォルトの処置を取るために呼び出されたプログラムの名前。

デフォルト・プログラムが定義されていない場合は、NULL 値が入ります。

REPLY_TYPE REPLY_TYPE VARCHAR(6)
ヌル可能
照会または通知メッセージに対して行うことができる有効な値のタイプ。
*LPHA
英字ストリングだけが使用できます。 ブランクは使用できません。
*CHAR (文字)
任意の文字ストリングが使用できます。 引用符付き文字ストリングである場合は,アポストロフィは文字ストリングの一部として渡されます。
*DEC
10進数だけが有効な応答です。
* 名前
単純名だけが有効な応答です。 名前はオブジェクト名でなくても構いませんが,英字で始まっていなければなりません。残りの文字は英数字でなければなりません。

応答タイプがない場合は、NULL 値が入ります。

REPLY_LENGTH REPLY_LEN INTEGER
ヌル可能
照会メッセージまたは通知メッセージに対する応答の最大長。

応答タイプがない場合は、NULL 値が入ります。

REPLY_DECIMAL_POSITIONS REPLY_DEC INTEGER
ヌル可能
メッセージ応答で使用できる小数点以下の桁数の最大値。

応答タイプがない場合、または REPLY_TYPE が *DEC でない場合は、NULL 値が入ります。

DEFAULT_REPLY DFT_REPLY VARCHAR(132)
ヌル可能
メッセージのデフォルトの応答。

デフォルト応答が定義されていない場合は、NULL 値が入ります。

VALID_REPLY_VALUES_COUNT REPLY_CNT INTEGER VALID_REPLY_VALUES で返された項目の数。
VALID_REPLY_VALUES REPLY_VALS VARCHAR(659)
ヌル可能
有効な応答値のリスト。 それぞれの値は、長さが 32 の文字ストリングです。 1 つのブランクで値を区切ります。

有効な応答値が定義されていない場合は、NULL 値が入ります。

VALID_REPLY_LOWER_LIMIT LOWERLIMIT VARCHAR(32)
ヌル可能
有効な応答の下限値。

応答の範囲値が定義されていない場合は、NULL 値が入ります。

VALID_REPLY_UPPER_LIMIT UPPERLIMIT VARCHAR(32)
ヌル可能
有効な応答の上限値。

応答の範囲値が定義されていない場合は、NULL 値が入ります。

VALID_REPLY_RELATIONSHIP_
オペレーター
REL_OP CHAR(3)
ヌル可能
リレーショナル・テスト項目の関係演算子。
*EQ
等しい
*GE
より大か等しい
*GT
より大きい
*LE
より小か等しい
*LT
より小さい
*NE
等しくない

有効な応答の関係が定義されていない場合は、NULL 値が入ります。

VALID_REPLY_RELATIONSHIP_
REL_VALUE VARCHAR(32)
ヌル可能
リレーショナル・テスト項目に入力された応答と比較される値。

有効な応答の関係が定義されていない場合は、NULL 値が入ります。

SPECIAL_REPLY_VALUES_COUNT SPECIALCNT INTEGER SPECIAL_REPLY_VALUES で返されたエントリーの数。
SPECIAL_REPLY_VALUES SPECIALVAL VARCHAR(1319)
ヌル可能
特殊応答値のリスト。 値の各ペアは、開始値の後にコロン (:) が続き、その後に終了値が続きます。 値の各ペアは 1 つのブランクで区切られます。

特殊な応答値が定義されていない場合は、NULL 値が入ります。

DUMP_LIST_COUNT DUMP_COUNT INTEGER DUMP_LIST で返されるエントリーの数。
DUMP_LIST DUMP_LIST VARCHAR(815)
ヌル可能
メッセージが、そのメッセージをモニターしていないプログラムにエスケープ・メッセージとして送信されるときにダンプされるデータ項目のリスト。 リストには、単一のブランクで区切られた項目が含まれます。
1-99
ダンプされるメッセージ・データ・フィールドの番号です。
* ジョブ
ジョブ表示 (DSPJOB) コマンドによって作成されたジョブ情報が印刷されます。
*JOBDMP
ジョブのデータ域は,ジョブ・ダンプ(DMPJOB)コマンドによって指定されたようにダンプされます。
*JOBINT
ジョブが実行されているマシン・プロセスに関連した内部マシン・データ構造がマシン・エラー・ログにダンプされます。

このメッセージのダンプ・リストがない場合は、NULL 値が入ります。

ALERT_OPTION ALERTOPT VARCHAR(9) メッセージに対してアラートを送信するかどうか。
*DEFER
警報は、ローカル問題分析の後で送信されます。
*IMMED
警報可能属性が *YES に設定されているメッセージ待ち行列にメッセージが送信されると、ただちに警報が送信されます。
*NO
警報は送られません。
*UNATTEND
システムが不在モードで実行されている時には、ただちに警報が送られます。
ALERT_INDEX ALERTINDEX INTEGER
ヌル可能
アラートとともに渡されるメッセージ・データ・フィールドの番号。

アラートが送信されない場合、またはアラートとともにメッセージ・データ・フィールドが渡されない場合は、NULL 値が入ります。

MESSAGE_DATA 列には、以下のようにフォーマットされたすべての置換変数が含まれます。 各変数属性は、1 つのブランクで区切られます。 各変数定義の間には 1 つのブランクがあります。 属性の順序は次のとおりです。
  1. 変数 ID (& 1 など)。
  2. 変数のデータ・タイプ。
    *BIN
    メッセージ内で符号付き 10 進値としてフォーマットされたバイナリー値。
    *CCHAR
    変換可能な文字ストリング。
    *CHAR (文字)
    アポストロフィで囲まずに形式設定された文字ストリング。
    *DEC
    メッセージ内で小数点付きの符号付き 10 進数値としてフォーマット設定されるパック 10 進数。
    *DTS
    8 バイトのフィールドで、システム日付/タイム・スタンプを含み、日付の後に 1 つのブランク、時刻の順にメッセージ内でフォーマット設定されます。
    *HEX
    16進数値として様式化されたバイト・ストリング。
    *ITV
    待機タイムアウト条件の時間間隔 (秒単位) が入っている 8 バイトの 2 進数フィールド。
    *QTDCHAR
    アポストロフィで囲んだ形式の文字ストリング。
    *SPP
    スペース・オブジェクト内のデータへの 16 バイトのスペース・ポインター。
    *SYP
    システム・オブジェクトへの 16 バイトのシステム・ポインター。
    *UBIN
    メッセージ内で符号なし 10 進値としてフォーマットされた 2 進値
    *UTC
    協定世界時 (UTC) のシステム日付/タイム・スタンプが入る 8 バイト・フィールド。メッセージでは、日付の後に 1 つのブランク、時刻の順のフォーマットに設定されます。 出力フォーマット設定の前に、ジョブに指定されたタイム・ゾーンを使用して、日付/タイム・スタンプが UTC から調整されます。
    *UTCD
    協定世界時 (UTC) のシステム日付/タイム・スタンプを含み、メッセージ内で時刻のない日付としてフォーマット設定される 8 バイト・フィールド。 出力フォーマット設定の前に、ジョブに指定されたタイム・ゾーンを使用して、日付/タイム・スタンプが UTC から調整されます。
    *UTCT
    協定世界時 (UTC) のシステム日付/タイム・スタンプを含み、メッセージ内で日付のない時刻としてフォーマット設定される 8 バイト・フィールド。 出力フォーマット設定の前に、ジョブに指定されたタイム・ゾーンを使用して、日付/タイム・スタンプが UTC から調整されます。
  3. 長さ (該当する場合)。
    • *VARY または置換変数の長さ。
  4. 追加の長さ情報 (該当する場合)。
    • *DEC 変数の小数部の桁
    • 長さが *VARY の場合は 2 または 4
例えば、2 つの置換変数 (1 つは可変文字、もう 1 つは 4 バイト整数) がある場合、ストリングは次のようになります。
&1 *CHAR *VARY 2 &2 *BIN 4

APPLIB/APPMSGS メッセージ・ファイル内で、メッセージ・テキストまたは第 2 レベル・メッセージ・テキストのいずれかに、大文字、小文字、または大/小文字混合の VALUE という語が含まれているメッセージを見つけます。
SELECT * FROM QSYS2.MESSAGE_FILE_DATA 
  WHERE MESSAGE_FILE_LIBRARY = 'APPLIB' AND MESSAGE_FILE = 'APPMSGS' AND
      (UPPER(MESSAGE_TEXT) LIKE '%VALUE%' OR 
       UPPER(MESSAGE_SECOND_LEVEL_TEXT) LIKE '%VALUE%');