APEX_PLUGINパッケージには、インタフェース宣言と、プラグインを処理するいくつかのユーティリティ・ファンクションが用意されています。
トピック:
このセクションでは、APEX_PLUGINパッケージで使用するデータ型について説明します。
データ型:
c_*
次の定数は、ページ・アイテム検証ファンクションの結果の型t_page_item_validation_resultのdisplay_locationで使用します。
c_inline_with_field constant varchar2(40) := 'INLINE_WITH_FIELD'; c_inline_with_field_and_notif constant varchar2(40) := 'INLINE_WITH_FIELD_AND_NOTIFICATION'; c_inline_in_notification constant varchar2(40) := 'INLINE_IN_NOTIFICATION'; c_on_error_page constant varchar2(40) := 'ON_ERROR_PAGE';
t_authentication
type t_authentication is record (
id number,
name varchar2(255),
invalid_session_url varchar2(4000),
logout_url varchar2(4000),
plsql_code clob,
attribute_01 varchar2(32767),
attribute_02 varchar2(32767),
attribute_03 varchar2(32767),
attribute_04 varchar2(32767),
attribute_05 varchar2(32767),
attribute_06 varchar2(32767),
attribute_07 varchar2(32767),
attribute_08 varchar2(32767),
attribute_09 varchar2(32767),
attribute_10 varchar2(32767),
attribute_11 varchar2(32767),
attribute_12 varchar2(32767),
attribute_13 varchar2(32767),
attribute_14 varchar2(32767),
attribute_15 varchar2(32767),
--
session_id number,
username varchar2(255) );
t_authentication_ajax_result
type t_authentication_ajax_result is record (
dummy boolean );
t_authentication_auth_result
type t_authentication_auth_result is record (
is_authenticated boolean,
redirect_url varchar2(4000),
log_code number,
log_text varchar2(4000),
display_text varchar2(4000) );
t_authentication_inval_result
type t_authentication_inval_result is record (
redirect_url varchar2(4000) );
t_authentication_logout_result
type t_authentication_logout_result is record (
redirect_url varchar2(4000) );
t_authentication_sentry_result
type t_authentication_sentry_result is record (
is_valid boolean );
t_dynamic_action
次の型は、すべての動的アクションのプラグイン・ファンクションに渡されます。現在の動的アクションに関する情報を含みます。
type t_dynamic_action is record (
id number,
action varchar2(50),
attribute_01 varchar2(32767),
attribute_02 varchar2(32767),
attribute_03 varchar2(32767),
attribute_04 varchar2(32767),
attribute_05 varchar2(32767),
attribute_06 varchar2(32767),
attribute_07 varchar2(32767),
attribute_08 varchar2(32767),
attribute_09 varchar2(32767),
attribute_10 varchar2(32767) );
t_dynamic_action_ajax_result
次の型は、動的アクション・タイプのプラグインのAJAXファンクションの結果の型として使用されます。
type t_dynamic_action_ajax_result is record (
dummy boolean /* not used yet */
);
t_dynamic_action_render_result
次の型は、動的アクション・プラグインのレンダリング・ファンクションの結果の型として使用されます。
type t_dynamic_action_render_result is record (
javascript_function varchar2(32767),
ajax_identifier varchar2(255),
attribute_01 varchar2(32767),
attribute_02 varchar2(32767),
attribute_03 varchar2(32767),
attribute_04 varchar2(32767),
attribute_05 varchar2(32767),
attribute_06 varchar2(32767),
attribute_07 varchar2(32767),
attribute_08 varchar2(32767),
attribute_09 varchar2(32767),
attribute_10 varchar2(32767) );
t_page_item
次の型は、すべてのアイテム・タイプのプラグイン・ファンクションに渡されます。現在のページ・アイテムに関する情報を含みます。
type t_page_item is record (
id number,
name varchar2(255),
label varchar2(4000),
plain_label varchar2(4000),
placeholder varchar2(255),
format_mask varchar2(255),
is_required boolean,
lov_definition varchar2(4000),
lov_display_extra boolean,
lov_display_null boolean,
lov_null_text varchar2(255),
lov_null_value varchar2(255),
lov_cascade_parent_items varchar2(255),
ajax_items_to_submit varchar2(255),
ajax_optimize_refresh boolean,
element_width number,
element_max_length number,
element_height number,
element_css_classes varchar2(255),
element_attributes varchar2(2000),
element_option_attributes varchar2(4000),
escape_output boolean,
attribute_01 varchar2(32767),
attribute_02 varchar2(32767),
attribute_03 varchar2(32767),
attribute_04 varchar2(32767),
attribute_05 varchar2(32767),
attribute_06 varchar2(32767),
attribute_07 varchar2(32767),
attribute_08 varchar2(32767),
attribute_09 varchar2(32767),
attribute_10 varchar2(32767) );
t_page_item_ajax_result
次の型は、アイテム・タイプのプラグインのAJAXファンクションの結果の型として使用されます。
type t_page_item_ajax_result is record (
dummy boolean /* not used yet */
);
t_page_item_render_result
次の型は、アイテム・タイプのプラグインのレンダリング・ファンクションの結果の型として使用されます。
type t_page_item_render_result is record (
is_navigable boolean default false,
navigable_dom_id varchar2(255) /* should only be set if navigable element is not equal to item name */
);
t_page_item_validation_result
次の型は、アイテム・タイプのプラグインの検証ファンクションの結果の型として使用されます。
type t_page_item_validation_result is record (
message varchar2(32767),
display_location varchar2(40), /* if not set the application default is used */
page_item_name varchar2(255) ); /* if not set the validated page item name is used */
t_plugin
次の型は、すべてのプラグイン・ファンクションに渡されます。現在のプラグインに関する情報を含みます。
type t_plugin is record (
name varchar2(45),
file_prefix varchar2(4000),
attribute_01 varchar2(32767),
attribute_02 varchar2(32767),
attribute_03 varchar2(32767),
attribute_04 varchar2(32767),
attribute_05 varchar2(32767),
attribute_06 varchar2(32767),
attribute_07 varchar2(32767),
attribute_08 varchar2(32767),
attribute_09 varchar2(32767),
attribute_10 varchar2(32767) );
t_process
次の型は、すべてのプロセス・タイプのプラグイン・ファンクションに渡されます。現在のプロセスに関する情報を含みます。
type t_process is record (
id number,
name varchar2(255),
success_message varchar2(32767),
attribute_01 varchar2(32767),
attribute_02 varchar2(32767),
attribute_03 varchar2(32767),
attribute_04 varchar2(32767),
attribute_05 varchar2(32767),
attribute_06 varchar2(32767),
attribute_07 varchar2(32767),
attribute_08 varchar2(32767),
attribute_09 varchar2(32767),
attribute_10 varchar2(32767) );
t_process_exec_result
次の型は、プロセス・タイプのプラグインの実行ファンクションの結果の型として使用されます。
type t_process_exec_result is record (
success_message varchar2(32767)
);
t_region
次の型は、すべてのリージョン・タイプのプラグイン・ファンクションに渡されます。現在のリージョンに関する情報を含みます。
type t_region is record (
id number,
static_id varchar2(255),
name varchar2(255),
type varchar2(255),
source varchar2(32767),
ajax_items_to_submit varchar2(32767),
fetched_rows pls_integer,
escape_output boolean,
no_data_found_message varchar2(32767),
attribute_01 varchar2(32767),
attribute_02 varchar2(32767),
attribute_03 varchar2(32767),
attribute_04 varchar2(32767),
attribute_05 varchar2(32767),
attribute_06 varchar2(32767),
attribute_07 varchar2(32767),
attribute_08 varchar2(32767),
attribute_09 varchar2(32767),
attribute_10 varchar2(32767),
attribute_11 varchar2(32767),
attribute_12 varchar2(32767),
attribute_13 varchar2(32767),
attribute_14 varchar2(32767),
attribute_15 varchar2(32767),
attribute_16 varchar2(32767),
attribute_17 varchar2(32767),
attribute_18 varchar2(32767),
attribute_19 varchar2(32767),
attribute_20 varchar2(32767),
attribute_21 varchar2(32767),
attribute_22 varchar2(32767),
attribute_23 varchar2(32767),
attribute_24 varchar2(32767),
attribute_25 varchar2(32767));
t_region_ajax_result
次の型は、リージョン・タイプのプラグインのAJAXファンクションの結果の型として使用されます。
type t_region_ajax_result is record (
dummy boolean /* not used yet */
);
t_region_render_result
次の型は、リージョン・タイプのプラグインのレンダリング・ファンクションの結果の型として使用されます。
type t_region_render_result is record (
dummy boolean /* not used yet */
);
構文
APEX_PLUGIN.GET_AJAX_IDENTIFIER RETURN VARCHAR2;
パラメータ
なし。
例
これは、AJAXコールバックをサポートする動的アクションのプラグインのレンダリング・ファンクションの例です。
function render_set_value (
p_dynamic_action in apex_plugin.t_dynamic_action )
return apex_plugin.t_dynamic_action_render_result
is
l_result apex_plugin.t_dynamic_action_render_result;
begin
l_result.javascript_function := 'com_oracle_apex_set_value';
l_result.ajax_identifier := wwv_flow_plugin.get_ajax_identifier;
return l_result;
end;
アイテム・タイプのプラグインのレンダリング・ファンクションでHTML入力要素をレンダリングする場合に、このファンクションを使用します。HTML入力要素(<input type="text" id="P1_TEST" name="xxx">など)のname属性の値を提供して、Oracle Application Expressが送信された値をセッション・ステートの実際のページ・アイテムにマップできるようにする必要があります。このファンクションは、ページ・アイテムにマップするnameを戻します。HTML入力要素が複数の値を持つ場合は(multiple="multiple"を含む選択リストなど)、p_is_multi_valueにtrueを設定します。
|
注意: このファンクションは、アイテム・タイプのプラグインのレンダリング・ファンクションでコールされる場合にのみ役立ちます。 |
構文
APEX_PLUGIN.GET_INPUT_NAME_FOR_PAGE_ITEM (
p_is_multi_value IN BOOLEAN)
RETURN VARCHAR2;
パラメータ
表18-1に、GET_INPUT_NAME_FOR_PAGE_ITEMファンクションで使用可能なパラメータを示します。
表18-1 GET_INPUT_NAME_FOR_PAGE_ITEMのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
HTML入力要素が複数の値を持つ場合は、 |
例
次の例では、ページの送信時にセッション・ステートで値が格納されるテキスト・フィールドをレンダリングするために必要なHTMLコードを出力します。
sys.htp.prn (
'<input type="text" id="'||p_item.name||'" '||
'name="'||wwv_flow_plugin.get_input_name_for_page_item(false)||'" '||
'value="'||sys.htf.escape_sc(p_value)||'" '||
'size="'||p_item.element_width||'" '||
'maxlength="'||p_item.element_max_length||'" '||
coalesce(p_item.element_attributes, 'class="text_field"')||' />' );