39.8 GET_MESSAGEファンクション

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

構文

APEX_LANG.GET_MESSAGE (
    p_name              IN VARCHAR2,
    p_params            IN apex_t_varchar2  DEFAULT apex_t_varchar2(),
    p_lang              IN VARCHAR2         DEFAULT NULL,
    p_application_id    IN NUMBER           DEFAULT NULL )
    RETURN VARCHAR2;

パラメータ

パラメータ 説明
p_name Oracle APEXでアプリケーションの「共有コンポーネント」下にある「テキスト・メッセージ」で定義されたメッセージの名前。
p_params テキスト・メッセージ内の%my_name %my_ageプレースホルダに対応する、パラメータの名前と値のペアのリスト。これらは、左から右に処理される名前付きパラメータの値に置き換えられます。
p_lang 取得されるメッセージの言語コード。指定しなかった場合、APEXでは、「アプリケーション言語の導出元」属性で定義されている、ユーザーの現在の言語が使用されます。
p_application_id 現在のワークスペース内の、返される翻訳メッセージを所有するアプリケーションIDを指定します。データベース・ジョブからコールされるパッケージなど、APEXの範囲外でコールされるパッケージをコーディングする際に便利です。

次の例では、アプリケーションでGREETING_MSGというメッセージを、英語でGood morning %name you are %age、ドイツ語でGuten Morgen %name, du bist %ageと定義したと仮定しています。

この例では、PL/SQLからこのメッセージを呼び出す方法を示します。

DECLARE
    l_greetings varchar2( 32767 );
BEGIN
    l_greetings := apex_lang.get_message (
                       'GREETING_MSG',
                       apex_t_varchar2 (
                           'name', :P1_NAME,
                           'age',  :P1_AGE )
                       );
END;