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

前
 
次
 

18 APEX_PLUGIN

APEX_PLUGINパッケージには、インタフェース宣言と、プラグインを処理するいくつかのユーティリティ・ファンクションが用意されています。

トピック:

データ型

このセクションでは、APEX_PLUGINパッケージで使用するデータ型について説明します。

データ型:

c_*

次の定数は、ページ・アイテム検証ファンクションの結果の型t_page_item_validation_resultdisplay_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 */
    );

GET_AJAX_IDENTIFIERファンクション

このファンクションは、プラグインに定義されたAJAXコールバック・ファンクションをコールする場合に使用されるAJAX識別子を戻します。


注意:

このファンクションは、プラグインのレンダリング・ファンクションのコールを行うコンテキストでのみ動作し、プラグインの定義でAJAXファンクション・コールバックが定義されている場合にのみ動作します。

構文

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;

GET_INPUT_NAME_FOR_PAGE_ITEMファンクション

アイテム・タイプのプラグインのレンダリング・ファンクションで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のパラメータ

パラメータ 説明

p_is_multi_value

HTML入力要素が複数の値を持つ場合は、TRUEを設定します。そうでない場合は、FALSEを設定します。複数の値を持つ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"')||' />' );