プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 16.4 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;

パラメータ

表16-4 MESSAGEのパラメータ

パラメータ | 説明
--- | ---
`p_name` | Oracle Application Expressでアプリケーションの「共有コンポーネント」の下にある「テキスト・メッセージ」で定義されたメッセージの名前。
`p0`から`p9` | 動的置換値: p0は翻訳文字列の%0に、p1は翻訳文字列の%1に、p2は翻訳文字列の%2に対応します(以降同様)。
`p_lang` | 取得されるメッセージの言語コード。指定しない場合、Oracle Application Expressは、アプリケーション言語の派生元属性で定義されているとおり、ユーザーの現行の言語を使用します。 参照: Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのアプリケーションへのプライマリ言語の指定
`p_application_id` | 現在のワークスペース内で返される翻訳済みメッセージを所有するアプリケーションIDを指定します。データベース・ジョブからコールされるパッケージなど、Oracle Application Expressの範囲外でコールされるパッケージをコーディングする際に便利です。

例

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

関連項目:

Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドのアプリケーションへのプライマリ言語の指定