getMessage()
sysLib.getMessage() システム関数は、以下の複数の候補となるソースのいずれかからメッセージを戻します。
この関数は以下のいずれかのソースからメッセージを取得します。
- Java™ ランタイム設定 vgj.messages.file 内で参照されているファイル。
- EGL エラー・メッセージのリスト。
- Informix® エラー・メッセージのリスト。
そのメッセージ内への組み込みには、挿入を指定できます。この関数は、通常は、カスタム・エラー・メッセージを取得します。
vgj.messages.file 設定は、言語とロケーションの異なる複数のファイルを保持している場合に拡張可能な、基本ファイル名を参照します。
例えば、次のような設定になります。
vgj.messages.file = files/messages/errorMessages
最も単純なケースは、errorMessages.properties という名前の files/messages フォルダー内に単一のファイルがある場合です。
各国語サポートが必要な場合は、errorMessages_fr.properties のように、ベース名に下線と 2 文字の言語コードを追加します。特定のロケール向けにカスタマイズされているファイルの場合は、別の下線および 2 文字の国別コードを追加できます。
例えば、カナダ用に設計されたアプリケーションの場合は、2 つのカスタム・エラー・メッセージ・ファイルを持つことができます。
- errorMessages_fr_CA.properties
- errorMessages_en_CA.properties
vgj.messages.file などの Java ランタイム・プロパティーの設定については、Java ランタイム・プロパティーの概要を参照してください。 メッセージのフォーマット方法についてのより詳しい説明は、java.text.MessageFormat クラスの Java API 文書を参照してください。
sysLib.getMessage() を使用して、EGL エラー・メッセージを検索することもできます。
例えば、キー「EGL0001I」は、「{0} にエラーが発生しました。」というメッセージを戻します。
また、EGL は以下の状況において、Informix JDBC ドライバーに
Informix メッセージを照会します。
- vgj.messages.file で指定されたファイルに、指定のキーを持つメッセージが見つからない。
- 指定のキーを持つ EGL メッセージが見つからない。
- dbms ビルド記述子オプションを INFORMIX に設定して、プログラムが生成された。
- キーに数字のみが含まれている。
言語コードは ISO 639-2 規格に、国別コードは ISO 3166 規格に準じます。 詳しくは、このトピックの最後にある関連参照リンクを参照してください。
以下の構文は、メッセージ・ファイル内の項目のフォーマットを示しています。
key = message
key は、メッセージを識別する固有のストリングです。 メッセージには、置換が可能な位置を示す、中括弧で囲んだ整数が含まれる場合があります。 整数は 0 から開始し、順次増分します。 これらの整数は、置換ストリングの配列内にインデックスを提供します。 このトピックの後半にある例を参照してください。
複数の言語バージョンを使用している場合、key 識別子は、このファイルのすべてのバージョンを通じて同一にする必要があります。
構文
sysLib.getMessage(
key STRING in
[, insertArray STRING[] in])
returns (result STRING)
- key
- STRING 型との代入互換性のある任意の変数または式を入力できます。 このパラメーターは、実行時に使用されるメッセージ・ファイルにキーを指定します。 キーがブランクである場合、ファイル内のすべてのメッセージは連結されます。
- insertArray
- STRING 型の配列。各要素には、取り出したメッセージに組み込む挿入が格納されています。
メッセージ・テキスト内の置換シンボルは、次のメッセージ・ファイルからの例に示すように、中括弧で囲まれた整数です。
VGJ0216E = {0} is not a valid date mask for {1}.insertArray 内の最初の要素は、0 の番号が付いたプレースホルダーへ代入され、2 番目の要素は 1 の番号が付いたプレースホルダーへ代入され、それ以降も同様に代入されます。
- result
- 結果は、STRING 型と代入互換性のあるすべての変数に割り当てることが可能です。 この関数は、key が見つからない場合、ヌル・ストリングを戻します。
例
以下の例は、メッセージ・ファイル errorMessages_en_US.properties からの項目です。
badname = The name you entered, {0}, is not valid.
コードの以下のセクションでは、このメッセージを使用しています。
userName STRING = getUserName(); // 入力を要求します
rc = validateUserName(userName);
if (rc < 0)
SysLib.setError( SysLib.getMessage( "badname", [ userName ] ) );
end
互換性
| プラットフォーム | 問題 |
|---|---|
| COBOL 生成 | sysLib.getMessage() 関数はサポートされていません。 |
| JavaScript 生成 | sysLib.getMessage() 関数はサポートされていません。 |
