39.11 MESSAGEファンクション(非推奨)

ノート:

このAPIは非推奨であり、将来のリリースで削除される予定です。

かわりにGET_MESSAGEファンクションを使用してください。

このファンクションは、PL/SQLのストアド・プロシージャ、ストアド・ファンクション、ストアド・トリガー、パッケージ化されたプロシージャおよびパッケージ化されたファンクションから生成されたテキスト文字列(メッセージ)の翻訳に使用します。

構文

APEX_LANG.MESSAGE (
    p_name            IN VARCHAR2 DEFAULT NULL,
    p0                IN VARCHAR2 DEFAULT NULL,
    p1                IN VARCHAR2 DEFAULT NULL,
    p2                IN VARCHAR2 DEFAULT NULL,
    ...
    p9                IN VARCHAR2 DEFAULT NULL,
    p_lang            IN VARCHAR2 DEFAULT NULL,
    p_application_id  IN NUMBER   DEFAULT NULL )
RETURN VARCHAR2;

パラメータ

パラメータ 説明
p_name Oracle APEXでアプリケーションの「共有コンポーネント」下にある「テキスト・メッセージ」で定義されたメッセージの名前。
p0からp9 動的置換値。p0は、翻訳文字列の%0に対応します。p1は翻訳文字列の%1に対応し、p2は翻訳文字列の%2に対応します(以降同様)。
p_lang

取得されるメッセージの言語コード。指定されていない場合、APEXは、Application Language Derived From属性で定義されているとおり、ユーザーの現在の言語を使用します。

『Oracle APEXアプリケーション・ビルダー・ユーザーズ・ガイド』アプリケーションへのプライマリ言語の指定も参照してください。

p_application_id 現在のワークスペース内で返される翻訳済みメッセージを所有するアプリケーションIDを指定します。データベース・ジョブからコールされるパッケージなど、APEXの範囲外でコールされるパッケージをコーディングする際に便利です。

次の例では、アプリケーションのGREETING_MSGというメッセージを、英語でGood morning %0、ドイツ語でGuten Tag %1と定義したと仮定しています。この例では、PL/SQLからこのメッセージを呼び出す方法を示します。

BEGIN
--
-- Print the greeting
--
HTP.P(APEX_LANG.MESSAGE('GREETING_MSG', V('APP_USER')));
END;

p_lang属性の定義は、APEXエンジンがアプリケーションのプライマリ言語を導出する方法によって異なります。たとえば、アプリケーションをドイツ語で実行中で、前回のコールがAPEX_LANG.MESSAGE APIに対して行われた場合、APEXエンジンは、最初にLANG_CODEdeであるGREETING_MSGというメッセージを検索します。見つからない場合は、Application Primary Language属性に戻されます。それでも見つからない場合、APEXエンジンは、言語コードがenであるこの名前のメッセージを検索します。

参照: