ヘッダーをスキップ
Oracle® Application Express APIリファレンス
リリース4.2 for Oracle Database 12c
B71340-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

19 APEX_PLUGIN_UTIL

APEX_PLUGIN_UTILパッケージには、プラグインを記述する際の共通の問題を解決するユーティリティ・ファクションが用意されています。

トピック:

DEBUG_DYNAMIC _ACTIONプロシージャ

このプロシージャは、デバッグが有効な場合に、動的アクション・メタデータのデータをデバッグ出力に書き込みます。

構文

APEX_PLUGIN_UTIL.DEBUG_DYNAMIC_ACTION (
    p_plugin         IN apex_plugin.t_plugin,
    p_dynamic_action IN apex_plugin.t_dynamic_action);

パラメータ

表19-2では、DEBUG_DYNAMIC_ACTIONプロシージャで使用可能なパラメータについて説明します。

表19-1 DEBUG_DYNAMIC_ACTIONのパラメータ

パラメータ 説明

p_plugin

プラグイン・ファンクションのp_pluginパラメータです。

p_dynamic_action

プラグイン・ファンクションのp_dynamic_actionパラメータです。


次の例に、プラグイン開発サイクル中に役に立つデバッグ情報を収集して、プラグインのレンダリングされたファンクションまたはAJAXコールバック・ファンクションに実際に渡された値を確認する方法を示します。

apex_plugin_util.debug_dynamic_action (
    p_plugin         => p_plugin,
    p_dynamic_action => p_dynamic_action );

DEBUG_PAGE_ITEMプロシージャのシグネチャ1

このプロシージャは、デバッグが有効な場合に、ページ・アイテム・メタデータのデータをデバッグ出力に書き込みます。

構文

APEX_PLUGIN_UTIL.DEBUG_PAGE_ITEM (
    p_plugin    IN apex_plugin.t_plugin,
    p_page_item IN apex_plugin.t_page_item);

パラメータ

表19-2では、DEBUG_PAGE_ITEMプロシージャで使用可能なパラメータについて説明します。

表19-2 DEBUG_PAGE_ITEMのパラメータ

パラメータ 説明

p_plugin

プラグイン・ファンクションのp_pluginパラメータです。

p_page_item

プラグイン・ファンクションのp_page_itemパラメータです。


次の例に、プラグイン開発サイクル中に役に立つデバッグ情報を収集して、レンダラ、AJAXコールバックまたは検証ファンクションに実際に渡された値を確認する方法を示します。

apex_plugin_util.debug_page_item (
    p_plugin    => p_plugin,
    p_page_item => p_page_item );

DEBUG_PAGE_ITEMプロシージャのシグネチャ2

このプロシージャは、デバッグが有効な場合に、ページ・アイテム・メタデータのデータをデバッグ出力に書き込みます。

構文

APEX_PLUGIN_UTIL.DEBUG_PAGE_ITEM (
    p_plugin              IN apex_plugin.t_plugin,
    p_page_item           IN apex_plugin.t_page_item,
    p_value               IN VARCHAR2,
    p_is_readonly         IN BOOLEAN,
    p_is_printer_friendly IN BOOLEAN);

パラメータ

表19-3では、DEBUG_PAGE_ITEMプロシージャで使用可能なパラメータについて説明します。

表19-3 DEBUG_PAGE_ITEMのパラメータ

パラメータ 説明

p_plugin

プラグイン・ファンクションのp_pluginパラメータです。

p_page_item

プラグイン・ファンクションのp_page_itemパラメータです。

p_value

プラグイン・ファンクションのp_valueパラメータです。

p_is_readonly

プラグイン・ファンクションのp_is_readonlyパラメータです。

p_is_printer_friendly

プラグイン・ファンクションのp_is_printer_friendlyパラメータです。


次の例に、プラグイン開発サイクル中に役に立つデバッグ情報を収集して、レンダラ、AJAXコールバックまたは検証ファンクションに実際に渡された値を確認する方法を示します。

apex_plugin_util.debug_page_item (
    p_plugin         => p_plugin,
    p_page_item      => p_page_item, 
    p_value          => p_value,
    p_is_readonly    => p_is_readonly,
    p_is_printer_friendly => p_is_printer_friendly);

DEBUG_PROCESSプロシージャ

このプロシージャは、デバッグが有効な場合に、プロセス・メタデータのデータをデバッグ出力に書き込みます。

構文

APEX_PLUGIN_UTIL.DEBUG_PROCESS (
    p_plugin         IN apex_plugin.t_plugin,
    p_process        IN apex_plugin.t_process);

パラメータ

表19-4では、DEBUG_PROCESSプロシージャで使用可能なパラメータについて説明します。

表19-4 DEBUG_PROCESSのパラメータ

パラメータ 説明

p_plugin

プラグイン・ファンクションのp_pluginパラメータです。

p_process

プラグイン・ファンクションのp_processパラメータです。


次の例に、プラグイン開発サイクル中に役に立つデバッグ情報を収集して、プラグインの実行ファンクションに実際に渡された値を確認する方法を示します。

apex_plugin_util.debug_process (
    p_plugin         => p_plugin,
    p_process        => p_process);

DEBUG_REGIONプロシージャのシグネチャ1

このプロシージャは、デバッグが有効な場合に、リージョン・メタデータのデータをデバッグ出力に書き込みます。

構文

APEX_PLUGIN_UTIL.DEBUG_REGION (
    p_plugin              IN apex_plugin.t_plugin,
    p_region              IN apex_plugin.t_region);

パラメータ

表19-5では、DEBUG_REGIONプロシージャで使用可能なパラメータについて説明します。

表19-5 DEBUG_REGIONのシグネチャ1のパラメータ

パラメータ 説明

p_plugin

プラグイン・ファンクションのp_pluginパラメータです。

p_region

プラグイン・ファンクションのp_regionパラメータです。


次の例に、プラグイン開発サイクル中に役に立つデバッグ情報を収集して、プラグインのレンダリング・ファンクションまたはAJAXコールバック・ファンクションに実際に渡された値を確認する方法を示します。

apex_plugin_util.debug_process (
    p_plugin         => p_plugin,
    p_region        => p_region);

DEBUG_REGIONプロシージャのシグネチャ2

このプロシージャは、デバッグが有効な場合に、リージョン・メタデータのデータをデバッグ出力に書き込みます。これは、リージョン・プラグインのレンダリング・ファンクションに使用する高度なバージョンのデバッグ・プロシージャです。

構文

APEX_PLUGIN_UTIL.DEBUG_REGION (
    p_plugin              IN apex_plugin.t_plugin,
    p_region              IN apex_plugin.t_region,
    p_is_printer_friendly IN BOOLEAN);

パラメータ

表19-6では、DEBUG_REGIONプロシージャで使用可能なパラメータについて説明します。

表19-6 DEBUG_REGIONのシグネチャ2のパラメータ

パラメータ 説明

p_plugin

プラグイン・ファンクションのp_pluginパラメータです

p_region

プラグイン・ファンクションのp_regionパラメータです

p_is_printer_friendly

プラグイン・ファンクションのp_is_printer_friendlyパラメータです


次の例に、プラグイン開発サイクル中に役に立つデバッグ情報を収集して、プラグインのレンダリング・ファンクションまたはAJAXコールバック・ファンクションに実際に渡された値を確認する方法を示します。

apex_plugin_util.debug_process (
    p_plugin              => p_plugin,
    p_region              => p_region,
    p_is_printer_friendly => p_is_printer_friendly);

ESCAPEファンクション

このファンクションは、アイテム・タイプのプラグインの標準属性である「エスケープ出力属性を指定」オプションが選択されていて、出力をエスケープするかどうかを開発者が指定できる場合に使用します。

構文

APEX_PLUGIN_UTIL.ESCAPE (
    p_value  IN VARCHAR2,
    p_escape IN BOOLEAN)
RETURN VARCHAR2;

パラメータ

表19-7では、ESCAPEファンクションで使用可能なパラメータについて説明します。

表19-7 ESCAPEのパラメータ

パラメータ 説明

p_value

p_escapeパラメータに従ってエスケープする値です。

p_escape

TRUEを設定すると、戻り値はエスケープされます。FALSEを設定すると、値はエスケープされません。


次の例では、配列l_display_value_listのすべての値をHTMLリストとして出力し、プラグインの使用時に開発者が選択した設定に応じて、この配列の値をエスケープします。

for i in 1 .. l_display_value_list.count
loop
    sys.htp.prn (
        '<li>'||
        apex_plugin_util.escape (
            p_value  => l_display_value_list(i),
            p_escape => p_item.escape_output )||
        '</li>' );
end loop;

EXECUTE_PLSQL_CODEプロシージャ

このプロシージャは、PL/SQLコード・ブロックを実行し、提供されたPL/SQLコード内のバインド変数のバインディングを実行します。通常、このプロシージャはタイプが「PL/SQLコード」のプラグイン属性に使用します。

構文

APEX_PLUGIN_UTIL.EXECUTE_PLSQL_CODE (
    p_plsql_code  IN VARCHAR2);

パラメータ

表19-8では、EXECUTE_PLSQL_CODEプロシージャで使用可能なパラメータについて説明します。

表19-8 EXECUTE_PLSQL_CODEのパラメータ

パラメータ 説明

p_plsql_code

実行されるPL/SQLコード。


エスケープしてから、HTTPバッファに出力する必要があるテキスト。

declare
    l_plsql_code VARCHAR(32767) := p_process.attribute_01;
begin
    apex_plugin_util.execute_plsql_code (
        p_plsql_code => l_plsql_code );
end;

GET_DATAファンクションのシグネチャ1

提供された検索文字列で制限される指定済のSQL問合せを実行し(オプション)、各列の値を戻します。すべての列値は、データ型に関係なく文字列として戻されます。検索列は、p_search_column_noパラメータに列番号を指定することによって識別されます。

構文

APEX_PLUGIN_UTIL.GET_DATA (
    p_sql_statement    IN VARCHAR2,
    p_min_columns      IN NUMBER,
    p_max_columns      IN NUMBER,
    p_component_name   IN VARCHAR2,
    p_search_type      IN VARCHAR2 DEFAULT 2,
    p_search_column_no IN VARCHAR2 DEFAULT 2,
    p_search_string    IN VARCHAR2 DEFAULT NULL,
    p_first_row        IN NUMBER DEFAULT NULL,
    p_max_rows         IN NUMBER DEFAULT NULL)
RETURN t_column_value_list;

パラメータ

表19-9では、GET_DATAファンクションのシグネチャ1で使用可能なパラメータについて説明します。

表19-9 GET_DATAファンクションのシグネチャ1のパラメータ

パラメータ 説明

p_sql_statement

参照に使用されるSQL文。

p_min_columns

戻り列の最小数。

p_max_columns

戻り列の最大数。

p_component_name

エラーが戻される場合、エラー・メッセージが表示される際のページ・アイテムまたはレポート列の名前として、この値が使用されます。

p_search_type

c_search_*定数のいずれかである必要があります。c_search_*定数は、c_search_contains_casec_search_contains_ignorec_search_exact_casec_search_exact_ignoreです。

p_search_column_no

SQL文を制限するために使用する列の数。p_min_columnsからp_max_columnsの範囲内である必要があります。

p_search_string

問合せを制限するために使用する値。

p_first_row

指定した行から問合せを開始します。指定した行より前の行はすべてスキップされます。

p_max_rows

可能な戻り行の最大数。


戻り値

表19-10では、GET_DATAファンクションのシグネチャ1の戻り値について説明します。

表19-10 GET_DATAファンクションのシグネチャ1の戻り値

戻り値 説明

t_column_value_list

列番号で索引付けされたapex_application_global.vc_arr2の表。


次の例に、簡単なアイテム・タイプのプラグインのレンダリング・ファンクションを示します。このファンクションは、ページ・アイテムに定義されたLOVを実行し、ページ・アイテムの現在の値を使用して大/小文字が区別されるLIKEフィルタ処理を実行します。また、結果をHTMLリストとして生成します。

function render_list (
    p_item                in apex_plugin.t_page_item,
    p_value               in varchar2,
    p_is_readonly         in boolean,
    p_is_printer_friendly in boolean )
    return apex_plugin.t_page_item_render_result
is
    l_column_value_list   apex_plugin_util.t_column_value_list;
begin
    l_column_value_list :=
        apex_plugin_util.get_data (
            p_sql_statement    => p_item.lov_definition,
            p_min_columns      => 2,
            p_max_columns      => 2,
            p_component_name   => p_item.name,
            p_search_type      => apex_plugin_util.c_search_contains_case,
            p_search_column_no => 1,
            p_search_string    => p_value );
 
    sys.htp.p('<ul>');
    for i in 1 .. l_column_value_list(1).count
    loop
        sys.htp.p(
            '<li>'||
            sys.htf.escape_sc(l_column_value_list(1)(i))|| -- display column
            '-'||
            sys.htf.escape_sc(l_column_value_list(2)(i))|| -- return column
            '</li>');
    end loop;
    sys.htp.p('</ul>');
end render_list;

GET_DATAファンクションのシグネチャ2

提供された検索文字列で制限される指定済のSQL問合せを実行し(オプション)、各列の値を戻します。すべての列値は、データ型に関係なく文字列として戻されます。検索列は、p_search_column_nameパラメータに列名を指定することによって識別されます。

構文

APEX_PLUGIN_UTIL.GET_DATA (
    p_sql_statement      IN VARCHAR2,
    p_min_columns        IN NUMBER,
    p_max_columns        IN NUMBER,
    p_component_name     IN VARCHAR2,
    p_search_type        IN VARCHAR2 DEFAULT NULL,
    p_search_column_name IN VARCHAR2 DEFAULT NULL,
    p_search_string      IN VARCHAR2 DEFAULT NULL,
    p_first_row          IN NUMBER DEFAULT NULL,
    p_max_rows           IN NUMBER DEFAULT NULL)
RETURN t_column_value_list;

パラメータ

表19-11では、GET_DATAファンクションのシグネチャ2で使用可能なパラメータについて説明します。

表19-11 GET_DATAファンクションのシグネチャ2のパラメータ

パラメータ 説明

p_sql_statement

参照に使用されるSQL文。

p_min_columns

戻り列の最小数。

p_max_columns

戻り列の最大数。

p_component_name

エラーが戻される場合、エラー・メッセージが表示される際のページ・アイテムまたはレポート列の名前として、この値が使用されます。

p_search_type

c_search_*定数のいずれかである必要があります。c_search_*定数は、c_search_contains_casec_search_contains_ignorec_search_exact_casec_search_exact_ignoreです。

p_search_column_name

これは、SQL文を制限するために使用する列名です。

p_search_string

問合せを制限するために使用する値。

p_first_row

指定した行から問合せを開始します。指定した行より前の行はすべてスキップされます。

p_max_rows

可能な戻り行の最大数。


戻り値

表19-12では、GET_DATAファンクションのシグネチャ2の戻り値について説明します。

表19-12 GET_TABLEファンクションのシグネチャ2

パラメータ 説明

t_column_value_list

列番号で索引付けされたapex_application_global.vc_arr2の表。


次の例に、簡単なアイテム・タイプのプラグインのレンダリング・ファンクションを示します。このファンクションは、ページ・アイテムに定義されたLOVを実行し、ページ・アイテムの現在の値を使用して大/小文字が区別されるLIKEフィルタ処理を実行します。また、結果をHTMLリストとして生成します。

function render_list (
    p_item                in apex_plugin.t_page_item,
    p_value               in varchar2,
    p_is_readonly         in boolean,
    p_is_printer_friendly in boolean )
    return apex_plugin.t_page_item_render_result
is
    l_column_value_list   apex_plugin_util.t_column_value_list;
begin
    l_column_value_list :=
        apex_plugin_util.get_data (
            p_sql_statement    => p_item.lov_definition,
            p_min_columns      => 2,
            p_max_columns      => 2,
            p_component_name   => p_item.name,
            p_search_type      => apex_plugin_util.c_search_contains_case,
            p_search_column_name => 'ENAME',
            p_search_string    => p_value );
 
    sys.htp.p('<ul>');
    for i in 1 .. l_column_value_list(1).count
    loop
        sys.htp.p(
            '<li>'||
            sys.htf.escape_sc(l_column_value_list(1)(i))|| -- display column
            '-'||
            sys.htf.escape_sc(l_column_value_list(2)(i))|| -- return column
            '</li>');
    end loop;
    sys.htp.p('</ul>');
end render_list;

GET_DATA2ファンクションのシグネチャ1

提供された検索文字列で制限される指定済のSQL問合せを実行し(オプション)、各列の値を戻します。すべての列値は、元のデータ型に従って戻されます。検索列は、p_search_column_noパラメータに列番号を指定することによって識別されます。

構文

APEX_PLUGIN_UTIL.GET_DATA2 (
    p_sql_statement    IN VARCHAR2,
    p_min_columns      IN NUMBER,
    p_max_columns      IN NUMBER,
    p_data_type_list   IN WWV_GLOBAL.VC_ARR2 DEFAULT C_EMPTY_DATA_TYPE_LIST,
    p_component_name   IN VARCHAR2,
    p_search_type      IN VARCHAR2 DEFAULT 2,
    p_search_column_no IN VARCHAR2 DEFAULT 2,
    p_search_string    IN VARCHAR2 DEFAULT NULL,
    p_first_row        IN NUMBER DEFAULT NULL,
    p_max_rows         IN NUMBER DEFAULT NULL)
RETURN t_column_value_list2;

パラメータ

表19-13では、GET_DATA2ファンクションで使用可能なパラメータについて説明します。

表19-13 GET_DATA2のパラメータ

パラメータ 説明

p_sql_statement

参照に使用されるSQL文。

p_min_columns

戻り列の最小数。

p_max_columns

戻り列の最大数。

p_data_type_list

指定する場合は、各列のデータ型が配列内の指定されたデータ型と一致することを確認します。使用可能なデータ型の定数c_data_type_*を使用します。

p_component_name

エラーが戻される場合、エラー・メッセージが表示される際のページ・アイテムまたはレポート列の名前として、この値が使用されます。

p_search_type

c_search_*定数のいずれかである必要があります。c_search_*定数は、c_search_contains_casec_search_contains_ignorec_search_exact_casec_search_exact_ignoreです。

p_search_column_no

SQL文を制限するために使用する列の数。p_min_columnsからp_max_columnsの範囲内である必要があります。

p_search_string

問合せを制限するために使用する値。

p_first_row

指定した行から問合せを開始します。指定した行より前の行はすべてスキップされます。

p_max_rows

可能な戻り行の最大数。


戻り値

表19-14では、GET_DATA2ファンクションの戻り値について説明します。

表19-14 GET_DATA2の戻り値

戻り値 説明

t_column_value_list2

列番号で索引付けされたt_column_valuesの表


次の例は、簡単なアイテム・タイプのプラグインのレンダリング・ファンクションを示します。このファンクションは、ページ・アイテムに定義されたLOVを実行し、ページ・アイテムの現在の値を使用して大/小文字が区別されるLIKEフィルタ処理を実行します。また、結果をHTMLリストとして生成します。ここでは、LOV SQL文の最初の列がVARCHAR2型であり、2つ目の列が数値型であることを確認します。

function render_list (
    p_item                in apex_plugin.t_page_item,
    p_value               in varchar2,
    p_is_readonly         in boolean,
    p_is_printer_friendly in boolean )
    return apex_plugin.t_page_item_render_result
is
    l_data_type_list    apex_application_global.vc_arr2;
    l_column_value_list apex_plugin_util.t_column_value_list2;
begin
    -- The first LOV column has to be a string and the second a number
    l_data_type_list(1) := apex_plugin_util.c_data_type_varchar2;
    l_data_type_list(2) := apex_plugin_util.c_data_type_number;
    --
    l_column_value_list :=
        apex_plugin_util.get_data2 (
            p_sql_statement    => p_item.lov_definition,
            p_min_columns      => 2,
            p_max_columns      => 2,
            p_data_type_list   => l_data_type_list,
            p_component_name   => p_item.name,
            p_search_type      => apex_plugin_util.c_search_contains_case,
            p_search_column_no => 1,
            p_search_string    => p_value );
    --
    sys.htp.p('<ul>');
    for i in 1 .. l_column_value_list.count(1)
    loop
        sys.htp.p(
            '<li>'||
            sys.htf.escape_sc(l_column_value_list(1).value_list(i).varchar2_value)|| -- display column
            '-'||
            sys.htf.escape_sc(l_column_value_list(2).value_list(i).number_value)|| -- return column
            '</li>');
    end loop;
    sys.htp.p('</ul>');
end render_list;

GET_DATA2ファンクションのシグネチャ2

提供された検索文字列で制限される指定済のSQL問合せを実行し(オプション)、各列の値を戻します。すべての列値は、元のデータ型に従って戻されます。検索列は、p_search_column_noパラメータに列番号を指定することによって識別されます。

構文

APEX_PLUGIN_UTIL.GET_DATA2 (
    p_sql_statement      IN VARCHAR2,
    p_min_columns        IN NUMBER,
    p_max_columns        IN NUMBER,
    p_data_type_list     IN WWV_GLOBAL.VC_ARR2 DEFAULT C_EMPTY_DATA_TYPE_LIST,
    p_component_name     IN VARCHAR2,
    p_search_type        IN VARCHAR2 DEFAULT 2,
    p_search_column_name IN VARCHAR2 DEFAULT 2,
    p_search_string      IN VARCHAR2 DEFAULT NULL,
    p_first_row          IN NUMBER DEFAULT NULL,
    p_max_rows           IN NUMBER DEFAULT NULL)
RETURN t_column_value_list2;

パラメータ

表19-15では、GET_DATA2ファンクションのシグネチャ2で使用可能なパラメータについて説明します。

表19-15 GET_DATA2ファンクションのシグネチャ2

パラメータ 説明

p_sql_statement

参照に使用されるSQL文。

p_min_columns

戻り列の最小数。

p_max_columns

戻り列の最大数。

p_data_type_list

指定する場合は、各列のデータ型が配列内の指定されたデータ型と一致することを確認します。使用可能なデータ型の定数c_data_type_*を使用します。

p_component_name

エラーが戻される場合、エラー・メッセージが表示される際のページ・アイテムまたはレポート列の名前として、この値が使用されます。

p_search_type

c_search_*定数のいずれかである必要があります。c_search_*定数は、c_search_contains_casec_search_contains_ignorec_search_exact_casec_search_exact_ignoreです。

p_search_column_name

SQL文を制限するために使用する列名。

p_search_string

問合せを制限するために使用する値。

p_first_row

指定した行から問合せを開始します。指定した行より前の行はすべてスキップされます。

p_max_rows

可能な戻り行の最大数。


戻り値

表19-16では、GET_DATA2ファンクションのシグネチャ2の戻り値について説明します。

表19-16 GET_DATA2ファンクションのシグネチャ2の戻り値

パラメータ 説明

t_column_value_list2

列番号で索引付けされたt_column_valuesの表


次の例は、簡単なアイテム・タイプのプラグインのレンダリング・ファンクションを示します。このファンクションは、ページ・アイテムに定義されたLOVを実行し、ページ・アイテムの現在の値を使用して大/小文字が区別されるLIKEフィルタ処理を実行します。また、結果をHTMLリストとして生成します。ここでは、LOV SQL文の最初の列がVARCHAR2型であり、2つ目の列が数値型であることを確認します。

function render_list (
    p_item                in apex_plugin.t_page_item,
    p_value               in varchar2,
    p_is_readonly         in boolean,
    p_is_printer_friendly in boolean )
    return apex_plugin.t_page_item_render_result
is
    l_data_type_list    apex_application_global.vc_arr2;
    l_column_value_list apex_plugin_util.t_column_value_list2;
begin
    -- The first LOV column has to be a string and the second a number
    l_data_type_list(1) := apex_plugin_util.c_data_type_varchar2;
    l_data_type_list(2) := apex_plugin_util.c_data_type_number;
    --
    l_column_value_list :=
        apex_plugin_util.get_data2 (
            p_sql_statement    => p_item.lov_definition,
            p_min_columns      => 2,
            p_max_columns      => 2,
            p_data_type_list   => l_data_type_list,
            p_component_name   => p_item.name,
            p_search_type      => apex_plugin_util.c_search_contains_case,
            p_search_column_name => 'ENAME',
            p_search_string    => p_value );
    --
    sys.htp.p('<ul>');
    for i in 1 .. l_column_value_list.count(1)
    loop
        sys.htp.p(
            '<li>'||
            sys.htf.escape_sc(l_column_value_list(1).value_list(i).varchar2_value)|| -- display column
            '-'||
            sys.htf.escape_sc(l_column_value_list(2).value_list(i).number_value)|| -- return column
            '</li>');
    end loop;
    sys.htp.p('</ul>');
end render_list;

GET_DISPLAY_DATAファンクションのシグネチャ1

このファンクションは、p_search_stringに指定される値の表示参照値を取得します。

構文

APEX_PLUGIN_UTIL.GET_DISPLAY_DATA (
    p_sql_statement    IN VARCHAR2,
    p_min_columns      IN NUMBER,
    p_max_columns      IN NUMBER,
    p_component_name   IN VARCHAR2,
    p_display_column_no IN BINARY_INTEGER DEFAULT 1,
    p_search_column_no  IN BINARY_INTEGER DEFAULT 2,
    p_search_string    IN VARCHAR2 DEFAULT NULL,
    p_display_extra    IN BOOLEAN DEFAULT TRUE)
RETURN VARCHAR2;

パラメータ

表19-17では、GET_DISPLAY_DATAファンクションのシグネチャ1で使用可能なパラメータについて説明します。

表19-17 GET_DISPLAY_DATAのシグネチャ1のパラメータ

パラメータ 説明

p_sql_statement

参照に使用されるSQL文。

p_min_columns

戻り列の最小数。

p_max_columns

戻り列の最大数。

p_component_name

エラーが戻される場合、エラー・メッセージが表示される際のページ・アイテムまたはレポート列の名前として、この値が使用されます。

p_display_column_no

SQL文から戻される列の数。p_min_columnsからp_max_columnsの範囲内である必要があります。

p_search_column_no

SQL文を制限するために使用する列の数。p_min_columnsからp_max_columnsの範囲内である必要があります。

p_search_string

問合せを制限するために使用する値。

p_display_extra

TRUEを設定すると、値が見つからなかい場合に、かわりに検索値が結果に追加されます。


戻り値

表19-18では、GET_DISPLAY_DATAファンクションのシグネチャ1の戻り値について説明します。

表19-18 GET_DISPLAY_DATAのシグネチャ1の戻り値

戻り値 説明

VARCHAR2

p_display_column_noで指定した列の最初のレコードの値。パラメータp_display_extraにTRUEが設定されていると、レコードが見つからない場合にp_search_stringの値が含まれます。そうでない場合は、NULLが戻されます。


次の例では、p_valueで提供された値で参照を実行し、LOV問合せの表示列を戻します。

function render_value (
    p_item                in apex_plugin.t_page_item,
    p_value               in varchar2,
    p_is_readonly         in boolean,
    p_is_printer_friendly in boolean )
    return apex_plugin.t_page_item_render_result
is
begin
    sys.htp.p(sys.htf.escape_sc(
        apex_plugin_util.get_display_data (
            p_sql_statement     => p_item.lov_definition,
            p_min_columns       => 2,
            p_max_columns       => 2,
            p_component_name    => p_item.name,
            p_display_column_no => 1,
            p_search_column_no  => 2,
            p_search_string     => p_value )));
end render_value;

GET_DISPLAY_DATAファンクションのシグネチャ2

このファンクションは、1つの値参照ではなく、p_search_value_listで提供されるすべての値を参照します。

構文

APEX_PLUGIN_UTIL.GET_DISPLAY_DATA (
    p_sql_statement    IN VARCHAR2,
    p_min_columns      IN NUMBER,
    p_max_columns      IN NUMBER,
    p_component_name   IN VARCHAR2,
    p_display_column_no IN BINARY_INTEGER DEFAULT 1,
    p_search_column_no  IN BINARY_INTEGER DEFAULT 2,
    p_search_value_list IN ww_flow_global.vc_arr2,
    p_display_extra     IN BOOLEAN DEFAULT TRUE)
RETURN apex_application_global.vc_arr2;

パラメータ

表19-19では、GET_DISPLAY_DATAファンクションのシグネチャ2で使用可能なパラメータについて説明します。

表19-19 GET_DISPLAY_DATAのシグネチャ2のパラメータ

パラメータ 説明

p_sql_statement

参照に使用されるSQL文。

p_min_columns

戻り列の最小数。

p_max_columns

戻り列の最大数。

p_component_name

エラーが戻される場合、エラー・メッセージが表示される際のページ・アイテムまたはレポート列の名前として、この値が使用されます。

p_display_column_no

SQL文から戻される列の数。p_min_columnsからp_max_columnsの範囲内である必要があります。

p_search_column_no

SQL文を制限するために使用する列の数。p_min_columnsからp_max_columnsの範囲内である必要があります。

p_search_value_list

参照する値の配列。

p_display_extra

TRUEを設定すると、値が見つからなかい場合に、かわりに検索値が結果に追加されます。


戻り値

表19-20では、GET_DISPLAY_DATAファンクションのシグネチャ2の戻り値について説明します。

表19-20 GET_DISPLAY_DATAのシグネチャ2の戻り値

戻り値 説明

apex_application_global.vc_arr2

pls_integerで索引付けされるVARCHAR2のリスト。p_search_value_listのエントリごとに、p_display_column_noで指定された列の最初のレコードの値が、p_search_value_listと同じ順序で結果の配列に含まれます。パラメータp_display_extraにTRUEが設定されていると、レコードが見つからない場合にp_search_stringの値が含まれます。そうでない場合は、値がスキップされます。


値7863、7911および7988を参照し、LOV問合せの対応する表示列の値で、HTMLリストを生成します。

function render_list (
    p_plugin              in apex_plugin.t_plugin,
    p_item                in apex_plugin.t_page_item,
    p_value               in varchar2,
    p_is_readonly         in boolean,
    p_is_printer_friendly in boolean )
    return apex_plugin.t_page_item_render_result
is
    l_search_list apex_application_global.vc_arr2;
    l_result_list apex_application_global.vc_arr2;
begin
    l_search_list(1) := '7863';
    l_search_list(2) := '7911';
    l_search_list(3) := '7988';
    --
    l_result_list :=
        apex_plugin_util.get_display_data (
            p_sql_statement     => p_item.lov_definition,
            p_min_columns       => 2,
            p_max_columns       => 2,
            p_component_name    => p_item.name,
            p_search_column_no  => 1,
            p_search_value_list => l_search_list );
    --
    sys.htp.p('<ul>');
    for i in 1 .. l_result_list.count
    loop
        sys.htp.p(
            '<li>'||
            sys.htf.escape_sc(l_result_list(i))||
            '</li>');
    end loop;
    sys.htp.p('</ul>');
end render_list;

GET_ELEMENT_ATTRIBUTESファンクション

このファンクションは、一貫性のある属性セットを取得するためにHTMLのinput、select、textareaなどのタグを生成する場合に使用される、いくつかのHTML要素の標準属性(id、name、required、placeholder、aria-error-attributes、classなど)を戻します。

構文

APEX_PLUGIN_UTIL.GET_ELEMENT_ATTRIBUTES (
    p_item           IN APEX_PLUGIN.T_PAGE_ITEM,
    p_name           IN VARCHAR2 DEFAULT NULL,
    p_default_class  IN VARCHAR2 DEFAULT NULL,
    p_add_id         in boolean  default true )
    return varchar2;

パラメータ

表19-21では、GET_ELEMENT_ATTRIBUTESファンクションで使用可能なパラメータについて説明します。

表19-21 GET_ELEMENT_ATTRIBUTESファンクションのパラメータ

パラメータ 説明

p_item

これは、プラグイン・ファンクションのp_itemパラメータです。

p_name

これは、apex_plugin.get_input_name_or_page_itemによって戻される値です。

p_default_class

結果文字列に含む必要があるデフォルトのCSSクラス。

p_add_id

TRUEを設定すると、結果文字列にID属性も含まれます。


この例では、最も一般的な属性が自動的に含まれるように、apex_plugin_util.get_element_attributesを使用するテキスト・タイプのINPUTタグを生成します。

sys.htp.prn (
        '<input type="text" ' ||
        apex_plugin_util.get_element_attributes(p_item, l_name, 'text_field') ||
        'value="'||l_escaped_value||'" '||
        'size="'||p_item.element_width||'" '||
        'maxlength="'||p_item.element_max_length||'" '||
        ' />');

GET_PLSQL_EXPRESSION_RESULTファンクション

このファンクションは、PL/SQL式を実行して結果を戻します。このファンクションは、提供されたPL/SQL式の任意のバインド変数のバインディングも実行します。通常、このファンクションはタイプがPL/SQL式であるプラグイン属性に使用されます。

構文

APEX_PLUGIN_UTIL.GET_PLSQL_EXPRESSION_RESULT (
    p_plsql_expression IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

表19-22では、GET_PLSQL_EXPRESSION_RESULTファンクションで使用可能なパラメータについて説明します。

表19-22 GET_PLSQL_EXPRESSION_RESULTのパラメータ

パラメータ 説明

p_plsql_expression_result

文字列を戻すPL/SQL式。


戻り値

表19-23では、GET_PLSQL_EXPRESSION_RESULTファンクションの戻り値について説明します。

表19-23 GET_PLSQL_EXPRESSION_RESULTの戻り値

戻り値 説明

VARCHAR2

PL/SQL式から戻される文字列の結果値。


次の例では、タイプが「PL/SQL式」であるアイテム・タイプ・プラグインの属性のattribute_03で指定されるPL/SQL式を実行し、結果を戻します。

l_result := apex_plugin_util.get_plsql_expression_result (
    p_plsql_expression => p_item.attribute_03 );

GET_PLSQL_FUNCTION_RESULTファンクション

このファンクションは、PL/SQLファンクション・ブロックを実行して結果を戻します。このファンクションは、提供されたPL/SQLファンクション本体のバインド変数のバインディングも実行します。通常、このファンクションはタイプが「PL/SQLファンクション本体」のプラグイン属性に使用されます。

構文

APEX_PLUGIN_UTIL.GET_PLSQL_FUNCTION_RESULT (
    p_plsql_function IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

表19-24では、GET_PLSQL_FUNCTION_RESULTファンクションで使用可能なパラメータについて説明します。

表19-24 GET_PLSQL_FUNCTION_RESULTのパラメータ

パラメータ 説明

p_plsql_function

文字列型の結果を戻すPL/SQLファンクション・ブロック。


戻り値

表19-25では、GET_PLSQL_FUNCTION_RESULTファンクションの戻り値について説明します。

表19-25 GET_PLSQL_FUNCTION_RESULTの戻り値

戻り値 説明

VARCHAR2

PL/SQLファンクション・ブロックから戻される文字列の結果値。


次の例では、タイプがPL/SQLファンクション本体であるアイテム・タイプ・プラグインの属性のattribute_03で指定されるPL/SQLファンクション本体を実行し、結果を戻します。

l_result := apex_plugin_util.get_plsql_function_result (
    p_plsql_function => p_item.attribute_03 );

GET_POSITION_IN_LISTファンクション

このファンクションは、p_valueが格納されるリスト内の位置を戻します。見つからない場合は、nullが戻されます。

構文

APEX_PLUGIN_UTIL.GET_POSITION_IN_LIST(
    p_list IN apex_application_global.vc_arr2,
    p_value IN VARCHAR2)
RETURN NUMBER;

パラメータ

表19-26では、GET_POSITION_IN_LISTファンクションで使用可能なパラメータについて説明します。

表19-26 GET_POSITION_IN_LISTのパラメータ

パラメータ 説明

p_list

VARCHAR2型のエントリを含むapex_application_global.vc_arr2型の配列。

p_value

p_list配列に配置される値。


戻り値

表19-27では、GET_POISTION_IN_LISTファンクションの戻り値について説明します。

表19-27 GET_POSITION_IN_LISTの戻り値

戻り値 説明

NUMBER

配列p_listでのp_valueの位置を戻します。見つからない場合は、NULLが戻されます。


次の例では、提供されたリスト内でNew Yorkを検索し、l_position2を戻します。

declare
    l_list     apex_application_global.vc_arr2;
    l_position number;
begin
    l_list(1) := 'Rome';
    l_list(2) := 'New York';
    l_list(3) := 'Vienna';
    
    l_position := apex_plugin_util.get_position_in_list (
                      p_list  => l_list,
                      p_value => 'New York' );
end;

GET_SEARCH_STRINGファンクション

p_search_type内の提供された値に基づいて、p_search_stringに渡された値が変更されずに戻されるか、大文字に変換されます。このファンクションは、get_dataおよびget_data2p_search_stringパラメータとともに使用します。

構文

APEX_PLUGIN_UTIL.GET_SEARCH_STRING(
    p_search_type IN VARCHAR2,
    p_search_string IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

表19-28では、GET_SEARCH_STRINGファンクションで使用可能なパラメータについて説明します。

表19-28 GET_SEARCH_STRINGのパラメータ

パラメータ 説明

p_search_type

get_dataおよびget_data2で使用する場合の検索のタイプ。c_search_*定数のいずれかを使用します。

p_search_string

get_dataおよびget_data2での検索に使用される検索文字列。


戻り値

表19-29では、GET_SEARCH_STRINGファンクションの戻り値について説明します。

表19-29 GET_SEARCH_STRINGの戻り値

戻り値 説明

VARCHAR2

p_search_typec_search_contains_ignore型またはc_search_exact_ignore型の場合、p_search_stringは変更されずに戻されるか、大文字で戻されます。


次の例では、get_dataまたはget_data2へのコールを使用して、検索文字列の大文字と小文字が正しいことを確認します。

l_column_value_list :=
    apex_plugin_util.get_data (
        p_sql_statement    => p_item.lov_definition,
        p_min_columns      => 2,
        p_max_columns      => 2,
        p_component_name   => p_item.name,
        p_search_type      => apex_plugin_util.c_search_contains_ignore,
        p_search_column_no => 1,
        p_search_string    => apex_plugin_util.get_search_string (
            p_search_type   => apex_plugin_util.c_search_contains_ignore,
            p_search_string => p_value ) );

IS_EQUALファンクション

このファンクションは、両方の値が等しい場合にTRUEを戻し、等しくない場合にFALSEを戻します。両方の値がNULLの場合は、TRUEが戻されます。

構文

APEX_PLUGIN_UTIL.IS_EQUAL (
    p_value1 IN VARCHAR2
    p_value2 IN VARCHAR2)
RETURN BOOLEAN;

パラメータ

表19-30では、IS_EQUALファンクションで使用可能なパラメータについて説明します。

表19-30 IS_EQUALのパラメータ

パラメータ 説明

p_value1

比較する最初の値。

p_value2

比較する2つ目の値。


戻り値

表19-31では、IS_EQUALファンクションの戻り値について説明します。

表19-31 IS_EQUALの戻り値

戻り値 説明

BOOLEAN

両方の値が等しいか、両方の値がNULLの場合、TRUEを戻します。そうでない場合は、FALSEを戻します。


次の例では、データベースの値が入力内容と異なる場合に、if文のコードが実行されます。

if NOT apex_plugin_util.is_equal(l_database_value, l_current_value) then
    -- value has changed, do something
    null;
end if;

PAGE_ITEM_NAMES_TO_JQUERYファンクション

このファンクションは、ページ・アイテム名のカンマ区切り文字列に基づいて、jQueryセレクタを戻します。たとえば、JavaScriptコードが指定されたページ・アイテムの値を読み取る必要がある「送信するページ・アイテム」というプラグイン属性に対して、このファンクションを使用できます。

構文

APEX_PLUGIN_UTIL.PAGE_ITEM_NAMES_TO_JQUERY (
    p_page_item_names IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

表19-32では、PAGE_ITEM_NAMES_TO_JQUERYファンクションで使用可能なパラメータについて説明します。

表19-32 PAGE_ITEM_NAMES_TO_JQUERYのパラメータ

パラメータ 説明

p_page_item_names

ページ・アイテム名のカンマ区切りリスト。


戻り値

表19-31では、PAGE_ITEM_NAMES_TO_JQUERYファンクションからの戻り値について説明します。

表19-33 PAGE_ITEM_NAMES_TO_JQUERYの戻り値

戻り値 説明

VARCHAR2

p_page_item_namesに指定されたページ・アイテムをjQueryセレクタに変換します。


次の例は、myOwnWidget.というJavaScriptファンクションの初期化コールを作成するコードを示しています。このファンクションは、いくつかの属性を持つオブジェクトを取得しますが、この属性のうちの1つは、jQueryセレクタとなるpageItemsToSubmitです。

apex_javascript.add_onload_code (
    p_code => 'myOwnWidget('||
                  '"#'||p_item.name||'",'||
                  '{'||
                  apex_javascript.add_attribute('ajaxIdentifier',      apex_plugin.get_ajax_identifier)||
                  apex_javascript.add_attribute('dependingOnSelector', apex_plugin_util.page_item_names_to_jquery(p_item.lov_cascade_parent_items))||
                  apex_javascript.add_attribute('optimizeRefresh',     p_item.ajax_optimize_refresh)||
                  apex_javascript.add_attribute('pageItemsToSubmit',   apex_plugin_util.page_item_names_to_jquery(p_item.ajax_items_to_submit))||
                  apex_javascript.add_attribute('nullValue',           p_item.lov_null_value, false, false)||
                  '});' );

PRINT_DISPLAY_ONLYプロシージャ

このプロシージャは、表示のみのフィールド用のSPANタグを出力します。

構文

APEX_PLUGIN_UTIL.PRINT_DISPLAY_ONLY (
    p_item_name        IN VARCHAR2,
    p_display_value    IN VARCHAR2,
    p_show_line_breaks IN BOOLEAN,
    p_attributes       IN VARCHAR2,
    p_id_postfix       IN VARCHAR2 DEFAULT '_DISPLAY');

パラメータ

表19-34では、PRINT_DISPLAY_ONLYプロシージャで使用可能なパラメータについて説明します。

表19-34 PRINT_DISPLAY_ONLYのパラメータ

パラメータ 説明

p_item_name

ページ・アイテムの名前。このパラメータは、p_item.nameでコールされる必要があります。

p_display_value

表示されるテキスト。

p_show_line_breaks

TRUEを設定すると、p_display_valueの改行は<br />に変更され、ブラウザで改行としてレンダリングされます。

p_attributes

SPANタグに追加されるその他の属性。

p_id_postfix

SPANタグのIDを取得するためにp_item_nameの値に追加される接尾辞。デフォルトは、_DISPLAYです。


次のコードは、アイテム・タイプ・プラグインで表示のみのページ・アイテムをレンダリングする場合に使用できます。

apex_plugin_util.print_display_only (
    p_item_name        => p_item.name,
    p_display_value    => p_value,
    p_show_line_breaks => false,
    p_escape           => true,
    p_attributes       => p_item.element_attributes );

PRINT_ESCAPED_VALUEプロシージャ

このプロシージャは、値をエスケープされた形式で、文字数の多い場合は文字列をより小さいチャンクに分割して出力します。

構文

APEX_PLUGIN_UTIL.PRINT_ESCAPED_VALUE (
    p_value   IN VARCHAR2);

パラメータ

表19-35では、PRINT_ESCAPED_VALUEプロシージャで使用可能なパラメータについて説明します。

表19-35 PRINT_ESCAPED_VALUEのパラメータ

パラメータ 説明

p_value

エスケープしてから、HTTPバッファに出力する必要があるテキスト。


ページ・アイテムの現在の値で、非表示フィールドを出力します。

sys.htp.prn('<input type="hidden" name="'||l_name||'" id="'||p_item_name||'" value="');
print_escaped_value(p_value);
sys.htp.prn('">');

PRINT_HIDDEN_IF_READONLYプロシージャ

ページ・アイテムが読取り専用としてレンダリングされ、プリンタ用ではない場合、このプロシージャはページ・アイテム値を格納する非表示フィールドを出力します。このプロシージャがアイテム・タイプ・プラグインでコールされる場合、プラグイン・インタフェースのパラメータは直接渡される必要があります。

構文

APEX_PLUGIN_UTIL.PRINT_HIDDEN_IF_READ_ONLY (
    p_item_name   IN VARCHAR2,
    p_value       IN VARCHAR2,
    p_is_readonly IN BOOLEAN,
    p_is_printer_friendly IN BOOLEAN,
    p_id_postfix  IN VARCHAR2 DEFAULT NULL);

パラメータ

表19-36では、PRINT_HIDDEN_IF_READONLYプロシージャで使用可能なパラメータについて説明します。

表19-36 PRINT_HIDDEN_IF_READONLYのパラメータ

パラメータ 説明

p_item_name

ページ・アイテムの名前。このパラメータに対してp_item.nameが渡される必要があります。

p_value

ページ・アイテムの現在の値。このパラメータに対してp_valueを渡す必要があります。

p_is_readonly

読取り専用でレンダリングされるアイテムかどうか。このパラメータに対してp_is_readonlyを渡す必要があります。

p_is_printer_friendly

プリンタ用でレンダリングされるアイテムかどうか。このパラメータに対してp_is_printer_friendlyを渡す必要があります。

p_id_postfix

非表示フィールドのID属性の生成に使用されます。p_item_namep_id_postfixの値に基づいて作成されます。


p_is_readonlyがTRUEで、p_printer_friendlyがFALSEの場合、現在の値が含まれる非表示フィールドをHTTP出力に書き込みます。

apex_plugin_util.print_hidden_if_readonly (
    p_item_name           => p_item.name,
    p_value               => p_value,
    p_is_readonly         => p_is_readonly,
    p_is_printer_friendly => p_is_printer_friendly );

PRINT_JSON_HTTP_HEADERプロシージャ

このプロシージャは、JSON出力の標準HTTPヘッダーを出力します。

構文

APEX_PLUGIN_UTIL.PRINT_JSON_HTTP_HEADER;

パラメータ

なし。

次の例に、プラグインのAJAXコールバック・ファンクションでこのプロシージャを使用する方法を示します。このコードは、JSONの構造を[{"d":"Display 1","r":"Return 1"},{"d":"Display 2","r":"Return 2"}]という形式で出力します。

-- Write header for the JSON stream.
apex_plugin_util.print_json_http_header;
-- initialize the JSON structure
sys.htp.p('[');
-- loop through the value array
for i in 1 .. l_values.count
loop
    -- add array entry
    sys.htp.p (
        case when i > 1 then ',' end||
        '{'||
        apex_javascript.add_attribute('d', sys.htf.escape_sc(l_values(i).display_value), false, true)||
        apex_javascript.add_attribute('r', sys.htf.escape_sc(l_values(i).return_value), false, false)||
        '}' );
end loop;
-- close the JSON structure
sys.htp.p(']');

PRINT_LOV_AS_JSONプロシージャ

このプロシージャは、2つの列のLOVの結果に基づいて、JSONレスポンスを次の形式で出力します。

[{"d:"display","r":"return"},{"d":....,"r":....},....]

注意:

HTTPヘッダーも、MIMEタイプの「application/json」で初期化されます。

構文

APEX_PLUGIN_UTIL.PRINT_LOV_AS_JSON (
    p_sql_statement         IN VARCHAR2,
    p_component_name        IN VARCHAR2,
    p_escape                IN BOOLEAN,
    p_replace_substitutions IN BOOLEAN DEFAULT FALSE);

パラメータ

表19-37では、PRINT_LOV_AS_JSONプロシージャで使用可能なパラメータについて説明します。

表19-37 PRINT_LOV_AS_JSONのパラメータ

パラメータ 説明

p_sql_statement

SELECTから2つの列を戻すSQL文。

p_component_name

エラーが表示される場合に使用されるページ・アイテムまたはレポート列の名前。

p_escape

TRUEを設定すると、表示列の値はエスケープされ、そうでない場合は、そのまま出力されます。

p_replace_substitutions

TRUEに設定すると、表示列の値としてapex_plugin_util.replace_substitutionsがコールされますが、そうでない場合は、そのまま出力されます。


次の例に、アイテム・タイプ・プラグインのAJAXコールバック・ファンクションでプロシージャを使用する方法を示します。次のコールはLOVの結果をJSON配列としてHTTP出力に書き込みます。

apex_plugin_util.print_lov_as_json (
    p_sql_statement  => p_item.lov_definition,
    p_component_name => p_item.name,
    p_escape         => true );

PRINT_OPTIONプロシージャ

このプロシージャは、OPTIONタグを出力します。

構文

APEX_PLUGIN_UTIL.PRINT_OPTION (
    p_display_value       IN VARCHAR2,
    p_return_value        IN VARCHAR2,
    p_is_selected         IN BOOLEAN,
    p_attributes          IN VARCHAR2,
    p_escape              IN BOOLEAN DEFAULT TRUE);

パラメータ

表19-38では、PRINT_OPTIONプロシージャで使用可能なパラメータについて説明します。

表19-38 PRINT_OPTIONのパラメータ

パラメータ 説明

p_display_value

オプションで表示されるテキスト。

p_return_value

オプションが選択されると設定される値。

p_is_selected

選択した属性をこのオプションに対して設定する必要がある場合は、TRUEを設定します。

p_attributes

OPTIONタグに設定する必要がある追加のHTML属性。

p_escape

p_display_valueの特殊文字をエスケープする必要がある場合は、TRUEを設定します。


次の例は、アイテム・タイプのプラグインで選択リストを作成するために使用されています。apex_plugin_util.is_equalを使用して、現行のものとしてマークする必要があるリスト・エントリを検索します。

sys.htp.p('<select id="'||p_item.name||'" size="'||nvl(p_item.element_height, 5)||'" '||coalesce(p_item.element_attributes, 'class="new_select_list"')||'>');
-- loop through the result and add list entries
for i in 1 .. l_values.count
loop
    apex_plugin_util.print_option (
        p_display_value => l_values(i).display_value,
        p_return_value  => l_values(i).return_value,
        p_is_selected   => apex_plugin_util.is_equal(l_values(i).return_value, p_value),
        p_attributes    => p_item.element_option_attributes,
        p_escape        => true );
end loop;
sys.htp.p('</select>');

REPLACE_SUBSTITUTIONSファンクション

次のファンクションは、&ITEM.置換参照を実際の値と置換します。p_escapeTRUEに設定すると、参照されたアイテムの値に含まれるすべての特殊文字がエスケープされるため、クロスサイト・スクリプティング(XSS)攻撃を防ぐことができます。

構文

apex_plugin_util.replace_substitutions (
    p_value    in varchar2,
    p_escape   in boolean default true )
    return varchar2;

パラメータ

表19-39に、REPLACE_SUBSTITUTIONファンクションで使用可能なパラメータを示します。

表19-39 REPLACE_SUBSTITUTIONのパラメータ

パラメータ 説明

p_value

この値は、実際のページ・アイテムの値によって置換される&ITEM.参照をいくつか含むことができる文字列です。

p_escape

TRUEに設定すると、参照されたアイテムの値に含まれるすべての特殊文字がエスケープされるため、クロスサイト・スクリプティング(XSS)攻撃を防ぐことができます。FALSEに設定すると、参照されたアイテムはエスケープされません。


次の例では、リージョン・プラグインattribute 05内の置換構文の参照を、実際の値と置換します。値の中の特殊文字はすべてエスケープされます。

l_advanced_formatting  := apex_plugin_util.replace_substitutions (
                              p_value => p_region.attribute_05,
                              p_escape => true );