ヘッダーをスキップ
Oracle Database Application Expressユーザーズ・ガイド
リリース3.0
E05699-01
  目次
目次
索引
索引

前へ
前へ
 
次へ
次へ
 

15 Oracle Application Express API

このセクションでは、Oracle Application Expressで使用可能なAPIについて説明します。


注意:

リリース2.2では、Oracle Application ExpressのAPIは、接頭辞APEX_によってリネームされました。APIの以前の接頭辞HTMLDB_も、下位互換性のためにサポートされます。ただし、Oracle Application Expressの旧バージョンでAPIを実行する場合を除き、新規アプリケーションでは新しいAPI名を使用することをお薦めします。

このセクションの内容は次のとおりです。

APEX_UTIL

APEX_UTILパッケージは、Oracle Application Express環境でプログラミングする際に使用可能なユーティリティを提供します。APEX_UTILパッケージを使用すると、セッション・ステートの取得と設定、ファイルの取得、ユーザーの認可の確認、ユーザーへの別のステートの再設定、およびユーザーのプリファレンスの取得と設定を行うことができます。

このセクションの構成は次のとおりです。

CHANGE_CURRENT_USER_PWプロシージャ

このプロシージャは、Application Expressユーザー・アカウントが使用中であることを前提として、現在認証されているユーザーのパスワードを変更します。

構文

APEX_UTIL.CHANGE_CURRENT_USER_PW(
    p_new_password IN VARCHAR2);

パラメータ

表15-1に、CHANGE_CURRENT_USER_PWプロシージャで使用可能なパラメータを示します。

表15-1 CHANGE_CURRENT_USER_PWのパラメータ

パラメータ 説明

p_new_password

クリア・テキストでの新しいパスワード値


BEGIN
APEX_UTIL.CHANGE_CURRENT_USER_PW ('secret99');
END;

CACHE_GET_DATE_OF_PAGE_CACHEプロシージャ

このプロシージャは、ページがユーザーにキャッシュされるように設定されていない場合、指定したアプリケーション・ページがコールを発行したユーザーまたはすべてのユーザーのいずれかに対してキャッシュされた時間および日付を戻します。

構文

APEX_UTIL.CACHE_GET_DATE_OF_PAGE_CACHE (
    p_application  IN    NUMBER,
    p_page         IN    NUMBER,
RETURN DATE;

パラメータ

表15-2 に、CACHE_GET_DATE_OF_PAGE_CACHEプロシージャで使用可能なパラメータを示します。

表15-2 CACHE_GET_DATE_OF_PAGE_CACHEのパラメータ

パラメータ 説明

p_application

アプリケーションの識別番号(ID)

p_page

ページ番号(ID)


CACHE_GET_DATE_OF_REGION_CACHEプロシージャ

このプロシージャは、ページがユーザーにキャッシュされるように設定されていない場合、指定したリージョンがコールを発行したユーザーまたはすべてのユーザーのいずれかに対してキャッシュされた日付および時間を戻します。

構文

APEX_UTIL.CACHE_GET_DATE_OF_REGION_CACHE  (
    p_application  IN    NUMBER,
    p_page         IN    NUMBER,
    p_region_name  IN    VARCHAR2)
RETURN DATE;

パラメータ

表15-3に、CACHE_GET_DATE_OF_REGION_CACHEプロシージャで使用可能なパラメータを示します。

表15-3 CACHE_GET_DATE_OF_REGION_CACHEのパラメータ

パラメータ 説明

p_application

アプリケーションの識別番号(ID)

p_page

ページ番号(ID)

p_region_name

リージョン名


CACHE_PURGE_BY_APPLICATIONプロシージャ

このプロシージャは、特定のアプリケーションのすべてのキャッシュされたページおよびリージョンを削除します。

構文

APEX_UTIL.CACHE_PURGE_BY_APPLICATION (
    p_application  IN  NUMBER;

パラメータ

表15-4に、CACHE_PURGE_BY_APPLICATIONプロシージャで使用可能なパラメータを示します。

表15-4 CACHE_PURGE_BY_APPLICATIONのパラメータ

パラメータ 説明

p_application

アプリケーションの識別番号(ID)


CACHE_PURGE_BY_PAGEプロシージャ

このプロシージャは、特定のアプリケーションおよびページのすべてのキャッシュされたページおよびリージョンを削除します。

構文

APEX_UTIL.CACHE_PURGE_BY_PAGE (
    p_application  IN    NUMBER,
    p_page         IN    NUMBER,
    p_user_name    IN    VARCHAR2 DEFAULT NULL);

パラメータ

表15-5に、CACHE_PURGE_BY_PAGEプロシージャで使用可能なパラメータを示します。

表15-5 CACHE_PURGE_BY_PAGEのパラメータ

パラメータ 説明

p_application

アプリケーションの識別番号(ID)

p_page

ページ番号(ID)

p_user_name

キャッシュされたページおよびリージョンと関連付けられたユーザー


CACHE_PURGE_STALEプロシージャ

このプロシージャは、定義済のアクティブな期間を渡した指定したアプリケーションに対してキャッシュされたページおよびリージョンすべてを削除します。ページまたはリージョンをキャッシュする際、アクティブな期間(または「キャッシュ・タイムアウト」)を指定します。一度期間が経過するとキャッシュは使用されなくなるため、キャッシュから使用できないページまたはリージョンを削除します。

構文

APEX_UTIL.CACHE_PURGE_STALE (
    p_application  IN    NUMBER,

パラメータ

表15-6に、CACHE_PURGE_STALEプロシージャで使用可能なパラメータを示します。

表15-6 CACHE_PURGE_STALEのパラメータ

CACHE_PURGE_STALEプロシージャで使用可能なパラメータについて説明します。
パラメータ 説明

p_application

アプリケーションの識別番号(ID)


CHANGE_PASSWORD_ON_FIRST_USEファンクション

このプロパティがエンド・ユーザー・アカウントに対して有効か無効かを、管理者がチェックできるようにします。このファンクションは、パスワードが初期設定されてユーザーの編集ページの「管理サービス」で変更された後に、アカウント・パスワードを初回使用時に変更する必要がある場合(認証成功後)、TRUEを戻します。アカウントにこのプロパティが含まれていない場合は、FALSEを戻します。

このファンクションは、すべての認証済ユーザーによってページ・リクエストのコンテキストで実行される場合があります。

構文

APEX_UTIL.CHANGE_PASSWORD_ON_FIRST_USE (
    p_user_name IN VARCHAR2
    ) RETURN BOOLEAN
    ;

パラメータ

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

表15-7 CHANGE_PASSWORD_ON_FIRST_USEのパラメータ

CHANGE_PASSWORD_ON_FIRST_USEファンクションで使用可能なパラメータについて説明します。
パラメータ 説明

p_user_name

ユーザー・アカウントのユーザー名


次の例に、CHANGE_PASSWORD_ON_FIRST_USEファンクションを使用する方法を示します。このファンクションを使用して、現行の作業領域におけるApplication Expressのユーザー・アカウント(作業領域管理者、開発者またはエンド・ユーザー)のパスワードが、ユーザーが初めて使用する場合に変更される必要があるかどうかをチェックします。

BEGIN
  FOR c1 IN (SELECT user_name FROM wwv_flow_users) LOOP
    IF APEX_UTIL.CHANGE_PASSWORD_ON_FIRST_USE(p_user_name => c1.user_name) THEN
        htp.p('User:'||c1.user_name||' requires password to be changed the first time it is used.');
    END IF;
  END LOOP;
END;

CLEAR_APP_CACHEプロシージャ

このプロシージャは、カレント・セッションに指定したアプリケーションのセッション・ステートを削除します。

構文

APEX_UTIL.CLEAR_APP_CACHE (
    p_app_id    IN    VARCHAR2 DEFAULT NULL);

パラメータ

表15-8に、CLEAR_APP_CACHEプロシージャで使用可能なパラメータを示します。

表15-8 CLEAR_APP_CACHEのパラメータ

パラメータ 説明

p_app_id

セッション・ステートをクリアするカレント・セッションのアプリケーションのID


BEGIN
        APEX_UTIL.CLEAR_APP_CACHE('100');
END;

CLEAR_PAGE_CACHEプロシージャ

このプロシージャは、カレント・セッションに指定したページのセッション・ステートを削除します。

構文

APEX_UTIL.CLEAR_PAGE_CACHE (
    p_page IN NUMBER DEFAULT NULL);

パラメータ

表15-9に、CLEAR_PAGE_CACHEプロシージャで使用可能なパラメータを示します。

表15-9 CLEAR_PAGE_CACHEのパラメータ

パラメータ 説明

p_page

セッション・ステートをクリアするカレント・セッションのカレント・アプリケーションでのページのID


BEGIN
APEX_UTIL.CLEAR_PAGE_CACHE('10');
END;

CLEAR_USER_CACHEプロシージャ

このプロシージャは、カレント・ユーザー・セッションのセッション・ステートおよびアプリケーション・システムのプリファレンスを削除します。セッションIDを再利用し、既存のセッション・ステートを使用せずにアプリケーションを実行する場合にこのプロシージャを実行します。

構文

APEX_UTIL.CLEAR_USER_CACHE;

パラメータ

なし。

BEGIN
       APEX_UTIL.CLEAR_USER_CACHE;
END;

COUNT_CLICKプロシージャ

このプロシージャは、アプリケーション・ビルダーに組み込まれたアプリケーションから外部サイトへのクリックをカウントします。また、APEX_UTIL.COUNT_CLICKのかわりに、短縮版のプロシージャZを使用できます。

構文

APEX_UTIL.COUNT_CLICK (
    p_url         IN    VARCHAR2,
    p_cat         IN    VARCHAR2,
    p_id          IN    VARCHAR2    DEFAULT NULL,
    p_user        IN    VARCHAR2    DEFAULT NULL,
    p_workspace   IN    VARCHAR2    DEFAULT NULL);

パラメータ

表15-10に、COUNT_CLICKプロシージャで使用可能なパラメータを示します。

表15-10 COUNT_CLICKのパラメータ

パラメータ 説明

p_url

リダイレクト先のURL

p_cat

クリックを分類するためのカテゴリ

p_id

クリックに関連付けられたセカンダリID(オプション)

p_user

アプリケーション・ユーザーID(オプション)

p_workspace

アプリケーションに関連付けられた作業領域(オプション)


BEGIN
htp.p('<a href=APEX_UTIL.COUNT_CLICK?p_url=http://yahoo.com&p_cat=yahoo&p_workspace=NNN> Click</a>'); end; 

ここで、NNNは作業領域IDです。

COUNT_STALE_REGIONSファンクション

期限切れのリージョンの数をカウントします。

構文

APEX_UTIL.COUNT_STALE_REGIONS (
     p_application IN NUMBER,
RETURN NUMBER;

パラメータ

表15-11に、COUNT_STALE_REGIONSで使用可能なパラメータを示します。

表15-11 COUNT_STALE_REGIONSのパラメータ

パラメータ 説明

p_application

アプリケーションの識別番号(ID)


CREATE_USERプロシージャ

このプロシージャは、Application Expressユーザー・アカウント表に新しいアカウント・レコードを作成します。このプロシージャを実行するには、カレント・ユーザーに管理権限が必要です。

構文

APEX_UTIL.CREATE_USER(
    p_user_id                      NUMBER                  IN     DEFAULT NULL
    p_user_name                    VARCHAR2                IN
    p_first_name                   VARCHAR2                IN     DEFAULT NULL
    p_last_name                    VARCHAR2                IN     DEFAULT NULL
    p_description                  VARCHAR2                IN     DEFAULT NULL
    p_email_address                VARCHAR2                IN     DEFAULT NULL
    p_web_password                 VARCHAR2                IN
    p_web_password_format          VARCHAR2                IN     DEFAULT NULL
    p_group_ids                    VARCHAR2                IN     DEFAULT NULL
    p_attribute_01                 VARCHAR2                IN     DEFAULT NULL
    p_attribute_02                 VARCHAR2                IN     DEFAULT NULL
    p_attribute_03                 VARCHAR2                IN     DEFAULT NULL
    p_attribute_04                 VARCHAR2                IN     DEFAULT NULL
    p_attribute_05                 VARCHAR2                IN     DEFAULT NULL
    p_attribute_06                 VARCHAR2                IN     DEFAULT NULL
    p_attribute_07                 VARCHAR2                IN     DEFAULT NULL
    p_attribute_08                 VARCHAR2                IN     DEFAULT NULL
    p_attribute_09                 VARCHAR2                IN     DEFAULT NULL
    p_attribute_10                 VARCHAR2                IN     DEFAULT NULL)

パラメータ

表15-12に、CREATE_USERプロシージャで使用可能なパラメータを示します。

表15-12 CREATE_USERプロシージャのパラメータ

パラメータ 説明

p_user_id

ユーザー・アカウントの数値の主キー

p_user_name

ログインに使用する英数字の名前

p_first_name

情報

p_last_name

情報

p_description

情報

p_email_address

電子メール・アドレス

p_web_address

クリア・テキストのパスワード

p_group_ID

コロンで区切られた数値のグループIDのリスト

p_attribute_01

...

p_attribute_10

APIを使用してアクセスできる任意のテキスト


BEGIN
APEX_UTIL.CREATE_USER 
    P_USER_NAME    => 'NEWUSER1',
    P_WEB_PASSWORD => 'secret99'); 
END;

CREATE_USER_GROUPプロシージャ

Application Express認証を使用している場合、このプロシージャによりユーザー・グループを作成できます。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。

構文

APEX_UTIL.CREATE_USER_GROUP(
    p_id                       NUMBER                  IN
    p_group_name               VARCHAR2                IN
    p_security_group_id        NUMBER                  IN
    p_group_desc               VARCHAR2                IN);

パラメータ

表15-13に、CREATE_USER_GROUPプロシージャで使用可能なパラメータを示します。

表15-13 CREATE_USER_GROUPのパラメータ

パラメータ 説明

p_id

グループの主キー

p_group_name

任意の名前

p_security_group_id

作業領域ID

p_group_desc

説明テキスト


BEGIN
APEX_UTIL.CREATE_USER_GROUP (
    p_id                => 0 - trigger will assign PK,
    p_group_name        => 'Managers',
    p_security_group_id => null, -- defaults to current workspace ID
    p_group_desc        => 'text');
END;

CURRENT_USER_IN_GROUPファンクション

このファンクションは、カレント・ユーザーが指定したグループのメンバーかどうかに基づいてブール結果を戻します。グループの指定には、グループ名またはグループIDを使用できます。

構文

APEX_UTIL.CURRENT_USER_IN_GROUP(
    p_group_name    IN VARCHAR2)
RETURN BOOLEAN;

APEX_UTIL.CURRENT_USER_IN_GROUP(
    p_group_id    IN NUMBER)
RETURN BOOLEAN;

パラメータ

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

表15-14 CURRENT_USER_IN_GROUPのパラメータ

パラメータ 説明

p_group_name

作業領域内の既存グループの名前を指定します。

p_group_id

作業領域内の既存グループの数値のIDを指定します。


DECLARE VAL BOOLEAN;
BEGIN
  VAL := APEX_UTIL.CURRENT_USER_IN_GROUP(p_group_name=>'Managers');
END;

EDIT_USERプロシージャ

このプロシージャを使用すると、ユーザー・アカウント・レコードを変更できます。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。

構文

EDIT_USER (
    p_user_id                      NUMBER                  IN
    p_user_name                    VARCHAR2                IN
    p_first_name                   VARCHAR2                IN     DEFAULT
    p_last_name                    VARCHAR2                IN     DEFAULT
    p_web_password                 VARCHAR2                IN     DEFAULT
    p_new_password                 VARCHAR2                IN     DEFAULT
    p_email_address                VARCHAR2                IN     DEFAULT
    p_start_date                   VARCHAR2                IN     DEFAULT
    p_end_date                     VARCHAR2                IN     DEFAULT
    p_employee_id                  VARCHAR2                IN     DEFAULT
    p_allow_access_to_schemas      VARCHAR2                IN     DEFAULT
    p_person_type                  VARCHAR2                IN     DEFAULT
    p_default_schema               VARCHAR2                IN     DEFAULT
    p_group_idS                    VARCHAR2                IN     DEFAULT
    P_DEVELOPER_ROLES              VARCHAR2                IN     DEFAULT
    P_DESCRIPTION                  VARCHAR2                IN     DEFAULTIN);

パラメータ

表15-15に、EDIT_USERプロシージャで使用可能なパラメータを示します。

表15-15 EDIT_USERのパラメータ

パラメータ 説明

p_user_id

ユーザー・アカウントの数値の主キー

p_user_name

ログインに使用する英数字の名前

p_first_name

情報

p_last_name

情報

p_web_password

クリア・テキストのパスワード

p_start_date

未使用

p_end_date

未使用

p_employee_id

未使用

p_allow_access_to_schemas

ユーザーの作業領域に割り当てられ、ユーザーによるアクセスが制限されているスキーマのリスト

p_person_type

未使用

p_default_schema

ユーザーの作業領域に割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ

p_group_ids

コロンで区切られた数値のグループIDのリスト

p_developer_privs

コロンで区切られた開発者権限のリスト(Application ExpressではADMIN:のみが有効)

p_description

情報


END_USER_ACCOUNT_DAYS_LEFTファンクション

エンド・ユーザー・アカウント・パスワードの期限が切れるまでの残りの日数を返します。このファンクションは、すべての認証済ユーザーのページ・リクエストのコンテキストで実行される可能性があります。

構文

APEX_UTIL.END_USER_ACCOUNT_DAYS_LEFT (
    p_user_name IN VARCHAR2
    )RETURN NUMBER
    ;

パラメータ

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

表15-16 END_USER_ACCOUNT_DAYS_LEFTのパラメータ

END_USER_ACCOUNT_DAYS_LEFTファンクションで使用可能なパラメータについて説明します。
パラメータ 説明

p_user_name

ユーザー・アカウントのユーザー名


次の例に、END_USER_ACCOUNT_DAYS_LEFTファンクションを使用する方法を示します。このファンクションを使用して、現行の作業領域のApplication Expressエンド・ユーザー・アカウントの期限が切れるまでの残りの日数を決定します。

DECLARE
  l_days_left NUMBER;
BEGIN
  FOR c1 IN (SELECT user_name from wwv_flow_users) LOOP
    l_days_left := APEX_UTIL.END_USER_ACCOUNT_DAYS_LEFT(p_user_name => c1.user_name) THEN
    htp.p('End User Account:'||c1.user_name||' will expire in '||l_days_left||' days.');    
  END LOOP;
END;

EXPIRE_END_USER_ACCOUNTプロシージャ

作業領域エンド・ユーザーとして使用するログイン・アカウントを期限切れにします。これは、ページ・リクエストのコンテキストで認証済作業領域管理者によって実行される必要があります。

構文

APEX_UTIL.EXPIRE_END_USER_ACCOUNT (
    p_user_name IN VARCHAR2
    );

パラメータ

表15-17に、EXPIRE_END_USER_ACCOUNTプロシージャで使用可能なパラメータを示します。

表15-17 EXPIRE_END_USER_ACCOUNTのパラメータ

で使用可能なパラメータについて説明します。
パラメータ 説明

p_user_name

ユーザー・アカウントのユーザー名


次の例に、EXPIRE_END_USER_ACCOUNTプロシージャを使用する方法を示します。このプロシージャを使用して、現行の作業領域のApplication Expressアカウント(作業領域管理者、開発者またはエンド・ユーザー)を期限切れにします。このアクションは、開発済のアプリケーションへの認証用にエンド・ユーザーが使用するアカウントを期限切れにしますが、作業領域へのログイン用に開発者または管理者が使用するアカウントも期限切れにします。

このプロシージャは、現行の作業領域で管理権限を持つユーザーによって実行される必要があることに注意してください。

BEGIN
  FOR c1 IN (select user_name from wwv_flow_users) LOOP
    APEX_UTIL.EXPIRE_END_USER_ACCOUNT(p_user_name => c1.user_name);
    htp.p('End User Account:'||c1.user_name||' is now expired.');    
  END LOOP;
END;    

EXPIRE_WORKSPACE_ACCOUNTプロシージャ

開発者または作業領域管理者のログイン・アカウントを期限切れにします。これは、ページ・リクエストのコンテキストで認証済作業領域管理者によって実行される必要があります。

構文

APEX_UTIL.EXPIRE_WORKSPACE_ACCOUNT (
    p_user_name IN VARCHAR2
    );

パラメータ

表15-18に、EXPIRE_WORKSPACE_ACCOUNTプロシージャで使用可能なパラメータを示します。

表15-18 EXPIRE_WORKSPACE_ACCOUNTのパラメータ

パラメータ 説明

p_user_name

ユーザー・アカウントのユーザー名


次の例に、EXPIRE_WORKSPACE_ACCOUNTプロシージャを使用する方法を示します。このプロシージャを使用して、現行の作業領域のApplication Expressアカウント(作業領域管理者、開発者またはエンド・ユーザー)を期限切れにします。このアクションは、作業領域へのログイン用に開発者または管理者が使用するアカウントを期限切れにしますが、開発済のアプリケーションへの認証用にエンド・ユーザーが使用するアカウントも期限切れにします。

BEGIN
  FOR c1 IN (SELECT user_name FROM wwv_flow_users) LOOP
    APEX_UTIL.EXPIRE_WORKSPACE_ACCOUNT(p_user_name => 
c1.user_name);
    htp.p('Workspace Account:'||c1.user_name||' is now expired.');  
  END LOOP;
END;

EXPORT_USERSプロシージャ

このプロシージャはページからコールされると、現行の作業領域の定義、作業領域ユーザーおよび作業領域グループのエクスポート・ファイルを作成します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。

構文

APEX_UTIL.EXPORT_USERS(
    p_export_format in VARCHAR2 DEFAULT 'UNIX')

パラメータ

表15-19に、EXPORT_USERSプロシージャで使用可能なパラメータを示します。

表15-19 EXPORT_USERSのパラメータ

パラメータ 説明

p_export_format

エクスポート・ファイルの行を形式化する方法を指定します。UNIXを指定すると、ライン・フィードで区切られた行が含まれるファイルが生成されます。DOSを指定すると、キャリッジ・リターンおよびライン・フィードで区切られた行が含まれるファイルが生成されます。


BEGIN
  APEX_UTIL.EXPORT_USERS;
END;

FETCH_APP_ITEMファンクション

このファンクションは、カレント・セッションまたは指定したセッション内のカレント・アプリケーションまたは指定したアプリケーションのセッション・ステートをフェッチします。

構文

APEX_UTIL.FETCH_APP_ITEM(
    p_item    IN VARCHAR2,
    p_app     IN NUMBER DEFAULT NULL,
    p_session IN NUMBER DEFAULT NULL)
RETURN VARCHAR2;

パラメータ

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

表15-20 FETCH_APP_ITEMのパラメータ

パラメータ 説明

p_item

現行の値がフェッチされるアプリケーション・レベル・アイテム(ページ・アイテムではない)の名前

p_app

アイテムを所有するアプリケーションのID(カレント・アプリケーションの場合はNULLのまま)

p_session

値を取得するセッションID(カレント・セッションの場合はNULLのまま)


DECLARE VAL VARCHAR2(30);
BEGIN
VAL := APEX_UTIL.FETCH_APP_ITEM (p_item=>'F300_NAME',p_app=>300);
END;

FETCH_USERプロシージャ

このプロシージャは、ユーザー・アカウント・レコードをフェッチします。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。

構文

FETCH_USER (
    p_user_id                      NUMBER                  IN
    p_workspace                    VARCHAR2                OUT
    p_user_name                    VARCHAR2                OUT
    p_first_name                   VARCHAR2                OUT
    p_last_name                    VARCHAR2                OUT
    p_web_password                 VARCHAR2                OUT
    p_email_address                VARCHAR2                OUT
    p_start_date                   VARCHAR2                OUT
    p_end_date                     VARCHAR2                OUT
    p_employee_id                  VARCHAR2                OUT
    p_allow_access_to_schemas      VARCHAR2                OUT
    p_person_type                  VARCHAR2                OUT
    p_default_schema               VARCHAR2                OUT
    p_groups                       VARCHAR2                OUT
    p_developer_role               VARCHAR2                OUT);

パラメータ

表15-21に、FETCH_USERプロシージャで使用可能なパラメータを示します。

表15-21 Fetch_Userのパラメータ

パラメータ 説明

p_user_id

ユーザー・アカウントの数値の主キー

p_workspace

作業領域の名前

p_user_name

ログインに使用する英数字の名前

p_first_name

情報

p_last_name

情報

p_description

情報

p_email_address

電子メール・アドレス

p_start_date

未使用

p_end_date

未使用

p_employee_id

未使用

p_allow_access_to_schemas

ユーザーの作業領域に割り当てられ、ユーザーによるアクセスが制限されているスキーマのリスト

p_person_type

未使用

p_default_schema

ユーザーの作業領域に割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ

p_groups

未使用

p_developer_role

未使用


FIND_SECURITY_GROUP_IDファンクション

このファンクションは、指定した作業領域の数値のセキュリティ・グループIDを戻します。

構文

APEX_UTIL.FIND_SECURITY_GROUP_ID(
    p_workspace    IN VARCHAR2
RETURN NUMBER;

パラメータ

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

表15-22 FIND_SECURITY_GROUP_IDのパラメータ

パラメータ 説明

p_workspace

作業領域の名前


DECLARE VAL NUMBER;
BEGIN
  VAL := APEX_UTIL.FIND_SECURITY_GROUP_ID (p_workspace=>'DEMOS');
END;

FIND_WORKSPACEファンクション

このファンクションは、セキュリティ・グループIDに関連付けられた作業領域名を戻します。

構文

APEX_UTIL.FIND_WORKSPACE(
    p_security_group_id    IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表15-23 FIND_WORKSPACEのパラメータ

パラメータ 説明

p_security_group_id

作業領域のセキュリティ・グループID


DECLARE VAL NUMBER;
BEGIN
  VAL := APEX_UTIL.FIND_WORKSPACE (p_security_group_id =>'20');
END;

GET_ACCOUNT_LOCKED_STATUSファンクション

アカウントがロック解除済の場合、およびアカウントがロック済でFALSEの場合、TRUEを戻します。これは、ページ・リクエストのコンテキストで認証済作業領域管理者によって実行される必要があります。

構文

APEX_UTIL.GET_ACCOUNT_LOCKED_STATUS (
     p_user_name IN VARCHAR2
     ) return boolean
     ;

パラメータ

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

表15-24 GET_ACCOUNT_LOCKED_STATUSのパラメータ

GET_ACCOUNT_LOCKED_STATUSファンクションで使用可能なパラメータについて説明します。
パラメータ 説明

p_user_name

ユーザー・アカウントのユーザー名


次の例に、GET_ACCOUNT_LOCKED_STATUSファンクションを使用する方法を示します。このファンクションを使用して、現行の作業領域のApplication Expressユーザー・アカウント(作業領域管理者、開発者またはエンド・ユーザー)がロック済かどうかをチェックします。

BEGIN
  FOR c1 IN (SELECT user_name FROM wwv_flow_users) loop
    IF APEX_UTIL.GET_ACCOUNT_LOCKED_STATUS(p_user_name => 
c1.user_name) THEN
      htp.p('User Account:'||c1.user_name||' is locked.'); 
    END IF;   
  END LOOP;
END;

GET_ATTRIBUTEファンクション

このファンクションは、Application Expressアカウント表内の指定したユーザーの1つの属性値(1から10)を戻します。

構文

APEX_UTIL.GET_ATTRIBUTE(
    p_username                IN VARCHAR2
    p_attribute_number        IN NUMBER)
RETURN VARCHAR2;

パラメータ

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

表15-25 GET_ATTRIBUTEのパラメータ

パラメータ 説明

p_username

アカウント内のユーザー名

p_attribute_number

ユーザー・レコードの属性番号(1から10)


DECLARE VAL VARCHAR2(30);
BEGIN
  VAL := APEX_UTIL.GET_ATTRIBUTE (
                          p_username => 'SCOTT',
                          p_attribute_number => 1);
END;

GET_AUTHENTICATION_RESULTファンクション

このファンクションを使用して、カレント・セッションの認証結果を取得します。すべての認証済ユーザーは、ページ・リクエストのコンテキストでこのファンクションをコールできます。

構文

APEX_UTIL.GET_AUTHENTICATION_RESULT
    RETURN NUMBER
    ;

パラメータ

なし。

次の例に、アプリケーションの認証スキームの認証後プロセスを使用して、認証時に設定される認証結果コードを取得する方法を示します。

APEX_UTIL.SET_SESSION_STATE('MY_AUTH_STATUS','Authentication result:'||APEX_UTIL.GET_AUTHENTICATION_RESULT);

GET_CURRENT_USER_IDファンクション

このファンクションは、カレント・ユーザーの数値のユーザーIDを戻します。

構文

APEX_UTIL.GET_CURRENT_USER_ID
RETURN NUMBER;

パラメータ

なし。

DECLARE VAL NUMBER;
BEGIN
  VAL := APEX_UTIL.GET_CURRENT_USER_ID;
END;

GET_DEFAULT_SCHEMAファンクション

このファンクションは、カレント・ユーザーに関連付けられたデフォルトのスキーマ名を戻します。

構文

APEX_UTIL.GET_DEFAULT_SCHEMA
RETURN VARCHAR2;

パラメータ

なし。

DECLARE VAL VARCHAR2;
BEGIN
  VAL := APEX_UTIL. GET_DEFAULT_SCHEMA;
END;

GET_EMAILファンクション

このファンクションは、指定したユーザーに関連付けられた電子メール・アドレスを戻します。

構文

APEX_UTIL.GET_EMAIL(
   p_username IN VARCHAR2);
RETURN VARCHAR2;

パラメータ

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

表15-26 GET_EMAILのパラメータ

パラメータ 説明

p_username

アカウント内のユーザー名


DECLARE VAL VARCHAR2;
BEGIN
  VAL := APEX_UTIL.GET_EMAIL(p_username => 'SCOTT');
END;

GET_FILEプロシージャ

このプロシージャは、Oracle Application Expressファイル・リポジトリからファイルをダウンロードします。

構文

APEX_UTIL.GET_FILE (
    p_file_id    IN   VARCHAR2,
    p_mime_type  IN   VARCHAR2 DEFAULT NULL,
    p_inline     IN   VARCHAR2 DEFAULT 'NO');

パラメータ

表15-27に、GET_FILEプロシージャで使用可能なパラメータを示します。

表15-27 GET_FILEのパラメータ

パラメータ 説明

p_file_id

ダウンロードするファイルのAPEX_APPLICATION_FILES内のID。APEX_APPLICATION_FILESは、作業領域にアップロードされるすべてのファイルのビューです。次の例では、APEX_APPLICATION_FILESを使用する方法を示します。

DECLARE
    l_file_id NUMBER;
BEGIN
        SELECT id INTO l_file_id FROM APEX_APPLICATION_FILES
WHERE filename = 'myxml';
        --
        APEX_UTIL.GET_FILE(
              p_file_id   => l_file_id, 
              p_mime_type => 'text/xml',
              p_inline    => 'YES');  
END;

p_mime_type

ダウンロードするファイルのMIMEタイプ

p_inline

有効値はYESおよびNOです。YESを選択すると、ブラウザでインライン表示されます。NOを選択すると、添付としてダウンロードされます。


BEGIN
        APEX_UTIL.GET_FILE(
              p_file_id   => '8675309', 
              p_mime_type => 'text/xml',
              p_inline    => 'YES');    
END;

GET_FILE_IDファンクション

このファンクションは、Oracle Application Expressファイル・リポジトリ内のファイルの主キーを取得します。

構文

APEX_UTIL.GET_FILE_ID (
    p_fname    IN   VARCHAR2)
RETURN NUMBER;

パラメータ

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

表15-28 GET_FILE_IDのパラメータ

パラメータ 説明

p_fname

ダウンロードするファイルのAPEX_APPLICATION_FILES内の名前。APEX_APPLICATION_FILESは、作業領域にアップロードされるすべてのファイルのビューです。


DECLARE
        l_name VARCHAR2(255);
        l_file_id NUMBER;
BEGIN
        SELECT name INTO l_name FROM APEX_APPLICATION_FILES
        WHERE filename = 'F125.sql';
--
        l_file_id := APEX_UTIL.GET_FILE_ID(p_fname => l_name);
END;

GET_FIRST_NAMEファンクション

このファンクションは、指定したユーザー・アカウント・レコードに格納されるFIRST_NAMEフィールドを戻します。

構文

APEX_UTIL.GET_FIRST_NAME
   p_username IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表15-29 GET_FIRST_NAMEのパラメータ

パラメータ 説明

p_username

アカウント内のユーザー名を指定します。


DECLARE VAL VARCHAR2;
BEGIN
  VAL := APEX_UTIL.GET_FIRST_NAME(p_username => 'SCOTT');
END;

GET_GROUPS_USER_BELONGS_TOファンクション

このファンクションは、指定したユーザーがメンバーであるグループ名のコロンで区切られたリストを戻します。

構文

APEX_UTIL.GET_GROUPS_USER_BELONGS_TO(
   p_username IN VARCHAR2);
RETURN VARCHAR2;

パラメータ

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

表15-30 GET_GROUPS_USER_BELONGS_TOのパラメータ

パラメータ 説明

p_username

アカウント内のユーザー名を指定します。


DECLARE VAL VARCHAR2;
BEGIN
  VAL := APEX_UTIL.GET_GROUPS_USER_BELONGS_TO(p_username => 'SCOTT');
END;

GET_GROUP_IDファンクション

このファンクションは、作業領域内の指定したグループの数値のIDを戻します。

構文

APEX_UTIL.GET_GROUP_ID(
   p_group_name)
RETURN VARCHAR2;

パラメータ

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

表15-31 GET_GROUP_IDのパラメータ

パラメータ 説明

p_group_name

アカウント内のユーザー名を指定します。


DECLARE VAL NUMBER;
BEGIN
  VAL := APEX_UTIL.GET_GROUP_ID(p_group_name => 'Managers');
END;

GET_GROUP_NAMEファンクション

このファンクションは、数値のIDで指定したグループの名前を戻します。

構文

APEX_UTIL.GET_GROUP_NAME(
   p_group_id)
RETURN NUMBER;

パラメータ

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

表15-32 GET_GROUP_NAMEのパラメータ

パラメータ 説明

p_group_id

作業領域内のグループの数値のIDを指定します。


DECLARE VAL VARCHAR2;
BEGIN
  VAL := APEX_UTIL.GET_GROUP_NAME(p_group_id => 8922003);
END;

GET_LAST_NAMEファンクション

このファンクションは、指定したユーザー・アカウント・レコードに格納されるLAST_NAMEフィールドを戻します。

構文

APEX_UTIL.GET_LAST_NAME(
   p_username IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表15-33 GET_LAST_NAMEのパラメータ

パラメータ 説明

p_username

ユーザー・アカウント・レコードのユーザー名


DECLARE VAL VARCHAR2;
BEGIN
  VAL := APEX_UTIL.GET_LAST_NAME(p_username => 'SCOTT');
END;

GET_USERNAMEファンクション

このファンクションは、数値のIDで指定したユーザー・アカウントのユーザー名を戻します。

構文

APEX_UTIL.GET_USERNAME(
   p_userid)
RETURN VARCHAR2;

パラメータ

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

表15-34 GET_USERNAMEのパラメータ

パラメータ 説明

p_userid

作業領域内のユーザー・アカウントの数値のIDを指定します。


DECLARE VAL VARCHAR2;
BEGIN
  VAL := APEX_UTIL.GET_USERNAME(p_userid => 228922003);
END;

GET_NUMERIC_SESSION_STATEファンクション

このファンクションは、数値アイテムの数値を戻します。PL/SQLまたはSQLが使用可能な場合に、このファンクションをOracle Application Expressアプリケーションで使用できます。また、APEX_UTIL.GET_NUMERIC_SESSION_STATEのかわりに、短縮版のファンクションNVを使用できます。

構文

APEX_UTIL.GET_NUMERIC_SESSION_STATE (
    p_item     IN VARCHAR2) 
    RETURN NUMBER;

パラメータ

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

表15-35 GET_NUMERIC_SESSION_STATEのパラメータ

パラメータ 説明

p_item

セッション・ステートをフェッチするアイテムの名前(大/小文字の区別なし)


DECLARE
      l_item_value    Number;
BEGIN
      l_item_value := APEX_UTIL.GET_NUMERIC_SESSION_STATE('my_item');
END;

GET_PREFERENCEファンクション

このファンクションは、指定したユーザーについて、以前保存されたプリファレンスの値を取得します。

構文

APEX_UTIL.GET_PREFERENCE (
    p_preference  IN    VARCHAR2 DEFAULT NULL,
    p_user        IN    VARCHAR2 DEFAULT V('USER')) 
    RETURN VARCHAR2;

パラメータ

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

表15-36 GET_PREFERENCEのパラメータ

パラメータ 説明

p_preference

値を取得するプリファレンスの名前

p_value

プリファレンスの値

p_user

プリファレンスが取得されるユーザー


DECLARE
      l_default_view    VARCHAR2(255);
BEGIN
      l_default_view := APEX_UTIL.GET_PREFERENCE(      
                   p_preference => 'default_view',
                   p_user       => :APP_USER);
END;

GET_SESSION_STATEファンクション

このファンクションはアイテムの値を戻します。PL/SQLまたはSQLが使用可能な場合に、このファンクションをOracle Application Expressアプリケーションで使用できます。また、APEX_UTIL.GET_SESSION_STATEのかわりに、短縮版のファンクションVを使用できます。

構文

APEX_UTIL.GET_SESSION_STATE (
    p_item    IN   VARCHAR2) 
    RETURN VARCHAR2;

パラメータ

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

表15-37 GET_SESSION_STATEのパラメータ

パラメータ 説明

p_item

セッション・ステートをフェッチするアイテムの名前(大/小文字の区別なし)


DECLARE
      l_item_value  VARCHAR2(255);
BEGIN
      l_item_value := APEX_UTIL.GET_SESSION_STATE('my_item');
END;

GET_USER_IDファンクション

このファンクションは、作業領域内の指定したユーザーの数値のIDを戻します。

構文

APEX_UTIL.GET_USER_ID(
   p_username)
RETURN VARCHAR2;

パラメータ

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

表15-38 GET_USER_IDのパラメータ

パラメータ 説明

p_username

作業領域内のユーザー名を指定します。


DECLARE VAL NUMBER;
BEGIN  VAL := APEX_UTIL.GET_USER_ID(p_username => 'Managers');
END;

GET_USER_ROLESファンクション

このファンクションは、指定したユーザー・アカウント・レコードに格納されるDEVELOPER_ROLEフィールドを戻します。

構文

APEX_UTIL.GET_USER_ROLES(
   p_username IN VARCHAR2);
RETURN VARCHAR2;

パラメータ

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

表15-39 GET_USER_ROLESのパラメータ

パラメータ 説明

p_username

アカウント内のユーザー名を指定します。


DECLARE VAL VARCHAR2;
BEGIN
  VAL := APEX_UTIL.GET_USER_ROLES(p_username=>'SCOTT');
END;

IS_LOGIN_PASSWORD_VALIDファンクション

このファンクションは、現在の作業領域内の指定したユーザー・アカウントのパスワードの検証に基づいてブール結果を戻します。パスワードが一致した場合はtrueを、パスワードが一致しない場合はfalseを戻します。

構文

APEX_UTIL.IS_LOGIN_PASSWORD_VALID(
   p_username IN VARCHAR2,
   p_password IN VARCHAR2);
RETURN BOOLEAN;

パラメータ

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

表15-40 IS_LOGIN_PASSWORD_VALIDのパラメータ

パラメータ 説明

p_username

アカウント内のユーザー名

p_password

アカウントに格納されているパスワードと比較されるパスワード


DECLARE VAL BOOLEAN;
BEGIN
  VAL := APEX_UTIL. IS_LOGIN_PASSWORD_VALID (
             p_username=>'SCOTT'
             p_password=>'tiger');
END;

IS_USERNAME_UNIQUEファンクション

このファンクションは、指定したユーザー・アカウントが作業領域内で一意であるかどうかに基づいてブール結果を戻します。

構文

APEX_UTIL.IS_USERNAME_UNIQUE(
   p_username IN VARCHAR2)
RETURN BOOLEAN;

パラメータ

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

表15-41 IS_USERNAME_UNIQUEのパラメータ

パラメータ 説明

p_username

テストするユーザー名を指定します。


DECLARE VAL BOOLEAN;
BEGIN
  VAL := APEX_UTIL.IS_USERNAME_UNIQUE(
             p_username=>'SCOTT');
END;

KEYVAL_NUMファンクション

このファンクションは、APEX_UTIL.SAVEKEY_NUMによって設定されたパッケージ変数(wwv_flow_utilities.g_val_num)の値を取得します。

構文

APEX_UTIL.KEYVAL_NUM;

パラメータ

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

表15-42 KEYVAL_NUMのパラメータ

パラメータ 説明

p_val

以前に保存した数値


DECLARE
VAL BOOLEAN;
BEGIN
    VAL := APEX_UTIL.KEYVAL_NUM;
END;

KEYVAL_VC2ファンクション

このファンクションは、APEX_UTIL.SAVEKEY_VC2によって設定されたパッケージ変数(wwv_flow_utilities.g_val_vc2)の値を取得します。

構文

APEX_UTIL.KEYVAL_VC2;

パラメータ

p_valは以前に保存されたVARCHAR2値です。

DECLARE
VAL VARCHAR2(4000);
BEGIN
    VAL := APEX_UTIL.KEYVAL_VC2;

END;

LOCK_ACCOUNTプロシージャ

ユーザーのアカウント・ステータスを「ロック済」に設定します。これは、ページ・リクエストのコンテキストで認証済作業領域管理者によって実行される必要があります。

構文

APEX_UTIL.LOCK_ACCOUNT (
     p_user_name IN VARCHAR2
     ); 

パラメータ

表15-43に、LOCK_ACCOUNTプロシージャで使用可能なパラメータを示します。

表15-43 LOCK_ACCOUNTのパラメータ

パラメータ 説明

p_user_name

ユーザー・アカウントのユーザー名


次の例に、LOCK_ACCOUNTプロシージャを使用する方法を示します。このプロシージャを使用して、現行の作業領域のApplication Expressアカウント(作業領域管理者、開発者またはエンド・ユーザー)をロックします。このアクションは、管理者、開発者およびエンド・ユーザーが使用するアカウントをロックします。

BEGIN
  FOR c1 IN (SELECT user_name from wwv_flow_users) LOOP
    APEX_UTIL.LOCK_ACCOUNT(p_user_name => c1.user_name);
    htp.p('End User Account:'||c1.user_name||' is now locked.');    
  END LOOP;
END;

PASSWORD_FIRST_USE_OCCURREDファンクション

アカウント作成後にアカウント・パスワードが変更された場合は、TRUEを戻します。Oracle Application Express管理者が、アカウント保持者に新しいパスワードを電子メールで送信してパスワードのリセット操作を実行するか、あるいはユーザーがパスワードのリセット操作を開始します。このファンクションは、前述のイベントのどちらかが実行されてから、アカウントのパスワードが変更されていない場合は、FALSEを戻します。

このファンクションは、すべての認証済ユーザーによってページ・リクエストのコンテキストで実行される場合があります。

構文

APEX_UTIL.PASSWORD_FIRST_USE_OCCURRED (
    p_user_name IN VARCHAR2
    ) RETURN BOOLEAN
    ;

パラメータ

表15-44に、PASSWORD_FIRST_USE_OCCURREDプロシージャに使用可能なパラメータを示します。

表15-44 PASSWORD_FIRST_USE_OCCURREDのパラメータ

PASSWORD_FIRST_USE_OCCURREDファンクションで使用可能なパラメータについて説明します。
パラメータ 説明

p_user_name

ユーザー・アカウントのユーザー名


次の例に、PASSWORD_FIRST_USE_OCCURREDファンクションを使用する方法を示します。このファンクションを使用して、現行の作業領域のApplication Expressユーザー・アカウント(作業領域管理者、開発者またはエンド・ユーザー)のパスワードが、アカウント作成中にパスワードが最初に設定された後に最初のログイン時にユーザーによって変更されたか、または前述のパスワードのリセット操作の1つによって変更されたかをチェックします。これは、CHANGE_PASSWORD_ON_FIRST_USE属性が「はい」に設定されているアカウントでのみ有効です。

BEGIN
  FOR c1 IN (SELECT user_name from wwv_flow_users) LOOP
    IF APEX_UTIL.PASSWORD_FIRST_USE_OCCURRED(p_user_name => 
c1.user_name) THEN
        htp.p('User:'||c1.user_name||' has logged in and updated the password.');
    END IF;
  END LOOP;
END;    

PREPARE_URLファンクション

このファンクションは、レンダリング可能なf?p相対URLを指定すると、セッション・ステート保護チェックサム引数(&cs=)が必要な場合に追加します。


注意:

PREPARE_URLファンクションは、&cs=<large hex value>を追加したf?p URLを戻します。たとえば、この戻り値をJavaScriptで使用する場合、特定のコンテクストの構文規則に従うため、URLのアンパサンドをエスケープする必要があります。PREPARE_URLのコールを含むSVGチャートのSQL問合せでは、このエスケープが必要な場合があります。

構文

APEX_UTIL.PREPARE_URL (
   p_url           IN VARCHAR2
   p_url_charset   IN VARCHAR2 default null,
   p_checksum_type IN VARCHAR2 default null)
RETURN VARCHAR2;

パラメータ

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

表15-45 PREPARE_URLのパラメータ

パラメータ 説明

p_url

すべての置換が解決されているf?p相対URL

p_url_charset

引数値に含まれている特殊文字をエスケープする場合に使用するキャラクタ・セット名(UTF-8など)

p_checksum type

NULL、あるいは6つの値(SESSIONまたは3PRIVATE_BOOKMARKまたは2、あるいはPUBLIC_BOOKMARKまたは1)のいずれか


DECLARE
l_url varchar2(2000);
l_session number := v('APP_SESSION');
BEGIN
l_url := 
APEX_UTIL.PREPARE_URL('f?p=100:1:'||l_session||'::NO::P1_ITEM:xyz');
END;

PUBLIC_CHECK_AUTHORIZATIONファンクション

セキュリティ・スキーム名を指定すると、このファンクションによってカレント・ユーザーがセキュリティ・チェックを通過するかどうかが判断されます。

構文

APEX_UTIL.PUBLIC_CHECK_AUTHORIZATION (
    p_security_scheme    IN    VARCHAR2) 
    RETURN BOOLEAN;

パラメータ

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

表15-46 PUBLIC_CHECK_AUTHORIZATIONのパラメータ

パラメータ 説明

p_security_name

ユーザーがセキュリティ・チェックを通過するかどうかを判断するセキュリティ・スキームの名前


DECLARE
      l_check_security  BOOLEAN;
BEGIN
      l_check_security := APEX_UTIL.PUBLIC_CHECK_AUTHORIZATION('my_auth_scheme');
END;

PURGE_REGIONS_BY_APPプロシージャ

アプリケーションのすべてのキャッシュされたリージョンを削除します。

構文

APEX_UTIL.PURGE_REGIONS_BY_APP (
     p_application IN NUMBER,

パラメータ

表15-47に、PURGE_REGIONS_BY_APPで使用可能なパラメータを示します。

表15-47 PURGE_REGIONS_BY_APPのパラメータ

で使用可能なパラメータについて説明します。
パラメータ 説明

p_application

アプリケーションの識別番号(ID)


APEX_UTILITIES.PURGE_REGIONS_BY_APP(p_application=>123);

PURGE_REGIONS_BY_IDプロシージャ

リージョンのすべてのキャッシュされた値を削除します。

構文

APEX_UTIL.PURGE_REGIONS_BY_ID (
     p_application IN NUMBER,
     p_region_id   IN NUMBER);

パラメータ

表15-48に、PURGE_REGIONS_BY_IDで使用可能なパラメータを示します。

表15-48 PURGE_REGIONS_BY_IDのパラメータ

で使用可能なパラメータについて説明します。
パラメータ 説明

p_application

アプリケーションの識別番号(ID)

p_region_id

キャッシュされた値を削除するリージョンの識別番号


PURGE_REGIONS_BY_NAMEプロシージャ

アプリケーション名およびページ番号で識別されるすべてのキャッシュされたリージョンを削除します。

構文

APEX_UTIL.PURGE_REGIONS_BY_NAME (
     p_application  IN NUMBER,
     p_page      IN NUMBER,
     p_region_name  IN VARCHAR2);

パラメータ

表15-49に、PURGE_REGIONS_BY_NAMEで使用可能なパラメータを示します。

表15-49 PURGE_REGIONS_BY_NAMEのパラメータ

で使用可能なパラメータについて説明します。
パラメータ 説明

p_application

アプリケーションの識別番号(ID)

p_page

削除されるリージョンを含んだページ番号

p_region_name

削除されるリージョン


PURGE_REGIONS_BY_PAGEプロシージャ

アプリケーションおよびページによってキャッシュされたリージョンすべてを削除します。

構文

APEX_UTIL.PURGE_REGIONS_BY_PAGE (
     p_application IN NUMBER,
     p_page     IN NUMBER);

パラメータ

表15-50に、PURGE_REGIONS_BY_PAGEで使用可能なパラメータを示します。

表15-50 PURGE_REGIONS_BY_PAGEのパラメータ

で使用可能なパラメータについて説明します。
パラメータ 説明

p_application

アプリケーションの識別番号(ID)

p_page

リージョンを含んだページの識別番号


PURGE_STALE_REGIONSプロシージャ

期限切れまたは使用できないすべてのキャッシュされたリージョンを削除します。

構文

APEX_UTIL.PURGE_STALE_REGIONS (
     p_application IN NUMBER,

パラメータ

表15-51に、PURGE_STALE_REGIONSで使用可能なパラメータを示します。

表15-51 PURGE_STALE_REGIONSのパラメータ

パラメータ 説明

p_application

アプリケーションの識別番号(ID)


REMOVE_PREFERENCEプロシージャ

このファンクションは指定したユーザーのプリファレンスを削除します。

構文

APEX_UTIL.REMOVE_PREFERENCE(
    p_preference    IN    VARCHAR2 DEFAULT NULL,
    p_user          IN    VARCHAR2 DEFAULT V('USER'));

パラメータ

表15-52に、REMOVE_PREFERENCEプロシージャで使用可能なパラメータを示します。

表15-52 REMOVE_PREFERENCEのパラメータ

パラメータ 説明

p_preference

削除するプリファレンスの名前

p_user

プリファレンス定義の対象ユーザー


BEGIN
       APEX_UTIL.REMOVE_PREFERENCE(
                    p_preference => 'default_view',
                    p_user       => :APP_USER);    
END;

REMOVE_SORT_PREFERENCESプロシージャ

このプロシージャは、ユーザーの列ヘッダーのソート・プリファレンスの値を削除します。

構文

APEX_UTIL.REMOVE_SORT_PREFERENCES (
    p_user  IN   VARCHAR2 DEFAULT V('USER'));

パラメータ

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

表15-53 REMOVE_SORT_PREFERENCESのパラメータ

パラメータ 説明

p_user

ソート・プリファレンスを削除するユーザーを指定します。


BEGIN
      APEX_UTIL.REMOVE_SORT_PREFERENCES(:APP_USER);
END;

REMOVE_USERプロシージャ

このプロシージャは、主キーまたはユーザー名で指定したユーザー・アカウントを削除します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。

構文

APEX_UTIL.REMOVE_USER(
    p_user_id   IN NUMBER,
    p_user_name IN VARCHAR2);

パラメータ

表15-54に、REMOVE_USERプロシージャで使用可能なパラメータを示します。

表15-54 REMOVE_USERのパラメータ

パラメータ 説明

p_user_id

ユーザー・アカウント・レコードの数値の主キー

p_user_name

ユーザー・アカウントのユーザー名


BEGIN
APEX_UTIL.REMOVE_USER(p_user_id=>'99997');
END;

BEGIN
APEX_UTIL.REMOVE_USER(p_user_name => 'SCOTT');
END;

RESET_AUTHORIZATIONSプロシージャ

Oracle Application Expressは、パフォーマンスを向上させるために、認可スキームの評価後、その結果をキャッシュします。このプロシージャを使用すると、キャッシュを元に戻して、次にページ表示または受入れ処理中に認可スキームが適用された際に各認可スキームの再検証を要求できます。このプロシージャは、ユーザーがアプリケーション内で自らの信頼性(認可プロファイル)を変更できるようにする場合に使用できます。

構文

APEX_UTIL.RESET_AUTHORIZATIONS; 

パラメータ

なし。

BEGIN
APEX_UTIL.RESET_AUTHORIZATIONS;
END;

RESET_PWプロシージャ

このプロシージャは、指定したユーザーのパスワードを再設定し、そのパスワードをメッセージとして現行の作業領域内の指定したアカウントのアドレスに電子メールを送信します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。

構文

APEX_UTIL.RESET_PW(
    p_user IN VARCHAR2,
    p_msg  IN VARCHAR2);

パラメータ

表15-55に、RESET_PWプロシージャで使用可能なパラメータを示します。

表15-55 RESET_PWのパラメータ

パラメータ 説明

p_user

ユーザー・アカウントのユーザー名

p_msg

ユーザーに電子メール送信するメッセージ・テキスト


BEGIN
APEX_UTIL.RESET_PW(
    p_user => 'SCOTT',
    p_msg => 'Contact help desk at 555-1212 with questions');
END;

SAVEKEY_NUMファンクション

このファンクションは、パッケージ変数(wwv_flow_utilities.g_val_num)を、ファンクションKEYVAL_NUMを使用して取得できるように設定します。

構文

APEX_UTIL.SAVEKEY_NUM( 
    p_val IN NUMBER);

パラメータ

表15-56に、SAVEKEY_NUMプロシージャで使用可能なパラメータを示します。

表15-56 SAVEKEY_NUMのパラメータ

パラメータ 説明

p_val

保存する数値


DECLARE
VAL NUMBER;
BEGIN
    VAL := APEX_UTIL.SAVEKEY_NUM(
        p_val => 10);
END;

SAVEKEY_VC2ファンクション

このファンクションは、パッケージ変数(wwv_flow_utilities.g_val_vc2)を、ファンクションKEYVAL_VC2を使用して取得できるように設定します。

構文

APEX_UTIL.SAVEKEY_VC2
    p_val IN VARCHAR2);

パラメータ

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

表15-57 SAVEKEY_VC2のパラメータ

パラメータ 説明

p_val

保存するVARCHAR2の値


DECLARE
VAL VARCHAR2(4000);
BEGIN
    VAL := APEX_UTIL.SAVEKEY_VC2(
        p_val => 'XXX');
END;

SET_ATTRIBUTEプロシージャ

このプロシージャは、Application Expressアカウント表内のユーザーのいずれかの属性値の値(1から10)を設定します。

構文

APEX_UTIL.SET_ATTRIBUTE( 
    p_userid           IN NUMBER, 
    p_attribute_number IN NUMBER,
    p_attribute_value  IN VARCHAR2); 

パラメータ

表15-58に、SET_ATTRIBUTEプロシージャで使用可能なパラメータを示します。

表15-58 SET_ATTRIBUTEのパラメータ

パラメータ 説明

p_userid

ユーザー・アカウントの数値のID

p_attribute_number

ユーザー・レコードの属性番号(1から10)

p_attribute_value

ユーザー・レコードに設定する、p_attribute_numberで指定した属性の値


DECLARE VAL VARCHAR2(30); 
BEGIN 
    APEX_UTIL.SET_ATTRIBUTE ( 
        p_userid => apex_util.get_user_id(p_username => 'SCOTT'), 
        p_attribute_number => 1, 
        p_attribute_value => 'foo'); 
END; 

SET_AUTHENTICATION_RESULTプロシージャ

このプロシージャは、アプリケーションのカスタム認証ファンクション(資格証明の検証ファンクション)からコールできます。このプロシージャに渡されたステータスは、「ログイン・アクセス・ログ」にログ出力されます。

構文

APEX_UTIL.SET_AUTHENTICATION_RESULT(
    p_code IN NUMBER
    );

パラメータ

表15-59に、SET_AUTHENTICATION_RESULTプロシージャで使用可能なパラメータを示します。

表15-59 SET_AUTHENTICATION_RESULTのパラメータ

パラメータ 説明

p_code

開発者が選択するすべての数値。このプロシージャを使用してセッションでこの値が設定された後、APEX_UTIL.GET_AUTHENTICATION_RESULTファンクションを使用して取得できます。


このプロシージャを使用する1つの方法に、アプリケーション認証スキームにプロシージャを含める方法があります。この例では、テキストおよび数値ステータス値がどのようにロギングへ登録可能かについて説明します。この例では、資格証明の検証は実行されません。テキストおよび数値ステータス値がどのようにロギング用に登録できるかについて説明します。

このプロシージャを使用するステータス設定は、作業領域およびサイト管理者に対して使用可能であるこのビューのapex_user_access_logビューおよびレポートに表示されることに注意してください。

CREATE OR REPLACE FUNCTION MY_AUTH(p_username IN VARCHAR2, 
p_password IN VARCHAR2)
RETURN BOOLEAN
IS
BEGIN
  APEX_UTIL.SET_CUSTOM_AUTH_STATUS(p_status=>'User: 
'||p_username||' is back.');
  IF UPPER(p_username) = 'GOOD' THEN
    APEX_UTIL.SET_AUTHENTICATION_RESULT(24567);
    RETURN TRUE;
ELSE
    APEX_UTIL.SET_AUTHENTICATION_RESULT(-666);
      RETURN FALSE;
  END IF;
END;

SET_CUSTOM_AUTH_STATUSプロシージャ

このプロシージャは、アプリケーションのカスタム認証ファンクション(資格証明の検証ファンクション)からコールできます。このプロシージャに渡されたステータスは、「ログイン・アクセス・ログ」にログ出力されます。

構文

APEX_UTIL.SET_CUSTOM_AUTH_STATUS(
    p_status  IN VARCHAR2
    );

パラメータ

表15-60に、SET_CUSTOM_AUTH_STATUSプロシージャで使用可能なパラメータを示します。

表15-60 SET_CUSTOM_AUTH_STATUSのパラメータ

パラメータ 説明

p_status

認証試行の結果を示す開発者が選択したすべてのテキスト(最大4,000字)


SET_CUSTOM_AUTH_STATUSプロシージャを使用する1つの方法に、アプリケーション認証スキームをプロシージャに含める方法があります。この例は、テキストおよび数値ステータス値がどのようにロギング用に登録できるかについて説明します。資格証明の認証は実行されないことに注意してください。このプロシージャを使用するステータス設定は、作業領域およびサイト管理者に対して使用可能なこのビューのapex_user_access_logビューおよびレポートに表示されます。

CREATE OR REPLACE FUNCTION MY_AUTH(p_username IN VARCHAR2, 
p_password IN VARCHAR2)
RETURN BOOLEAN
IS
BEGIN
  APEX_UTIL.SET_CUSTOM_AUTH_STATUS(p_status=>'User: 
'||p_username||' is back.');
  IF UPPER(p_username) = 'GOOD' THEN
    APEX_UTIL.SET_AUTHENTICATION_RESULT(24567);
    RETURN TRUE;
ELSE
    APEX_UTIL.SET_AUTHENTICATION_RESULT(-666);
      RETURN FALSE;
  END IF;
END;

SET_EMAILプロシージャ

このプロシージャは、新しい電子メール・アドレスを使用してユーザー・アカウントを更新します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。

構文

APEX_UTIL.SET_EMAIL(
    p_userid IN NUMBER,
    p_email  IN VARCHAR2);

パラメータ

表15-61に、SET_EMAILプロシージャで使用可能なパラメータを示します。

表15-61 SET_EMAILのパラメータ

パラメータ 説明

p_userid

ユーザー・アカウントの数値のID

p_email

ユーザー・アカウントに保存する電子メール・アドレス


BEGIN
APEX_UTIL.SET_EMAIL(
    p_userid  => '888883232',
    P_email   => 'scott.scott@oracle.com');
END;

SET_FIRST_NAMEプロシージャ

このプロシージャは、ユーザー・アカウントを新しいFIRST_NAME値に更新します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。

構文

APEX_UTIL.SET_FIRST_NAME(
    p_userid      IN NUMBER,
    p_first_name  IN VARCHAR2);

パラメータ

表15-62に、SET_FIRST_NAMEプロシージャで使用可能なパラメータを示します。

表15-62 SET_FIRST_NAMEのパラメータ

パラメータ 説明

p_userid

ユーザー・アカウントの数値のID

p_first_name

ユーザー・アカウントに保存するFIRST_NAME


BEGIN     
APEX_UTIL.SET_FIRST_NAME(
    p_userid       => '888883232',
    P_first_name   => 'Scott');
END;

SET_LAST_NAMEプロシージャ

このプロシージャは、ユーザー・アカウントを新しいLAST_NAME値に更新します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。

構文

APEX_UTIL.SET_LAST_NAME(
    p_userid      IN NUMBER,
    p_last_name   IN VARCHAR2);

パラメータ

表15-63に、SET_LAST_NAMEプロシージャで使用可能なパラメータを示します。

表15-63 SET_LAST_NAMEのパラメータ

パラメータ 説明

p_userid

ユーザー・アカウントの数値のID

p_last_name

ユーザー・アカウントに保存するLAST_NAME


BEGIN     
APEX_UTIL.SET_LAST_NAME(
    p_userid       => '888883232',
    p_last_name   => 'SMITH');
END;

SET_PREFERENCEプロシージャ

このプロシージャは、ユーザーのカレント・セッション以降に保持されるプリファレンスを設定します。

構文

APEX_UTIL.SET_PREFERENCE (
    p_preference   IN    VARCHAR2 DEFAULT NULL,
    p_value        IN    VARCHAR2 DEFAULT NULL,
    p_user         IN    VARCHAR2 DEFAULT NULL);

パラメータ

表15-64に、SET_PREFERENCEプロシージャで使用可能なパラメータを示します。

表15-64 SET_PREFERENCEのパラメータ

パラメータ 説明

p_preference

プリファレンスの名前(大/小文字の区別あり)

p_value

プリファレンスの値

p_user

プリファレンスが設定されるユーザー


BEGIN
       APEX_UTIL.SET_PREFERENCE(        
             p_preference => 'default_view',
             p_value      => 'WEEKLY',      
             p_user       => :APP_USER); 
END;

SET_SESSION_STATEプロシージャ

このプロシージャは、現在のOracle Application Expressセッションのセッション・ステートを設定します。

構文

APEX_UTIL.SET_SESSION_STATE (
    p_name     IN    VARCHAR2 DEFAULT NULL,
    p_value    IN    VARCHAR2 DEFAULT NULL);

パラメータ

表15-65に、SET_SESSION_STATEプロシージャで使用可能なパラメータを示します。

表15-65 SET_SESSION_STATEのパラメータ

パラメータ 説明

p_name

セッション・ステートを設定する、アプリケーション・レベルまたはページ・レベルのアイテムの名前

p_value

設定するセッション・ステートの値


BEGIN
APEX_UTIL.SET_SESSION_STATE('my_item','myvalue');
END;

SET_USERNAMEプロシージャ

このプロシージャは、ユーザー・アカウントを新しいUSER_NAME値に更新します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。

構文

APEX_UTIL.USERNAME(
    p_userid   IN NUMBER,
    p_username   IN VARCHAR2);

パラメータ

表15-66に、SET_USERNAMEプロシージャで使用可能なパラメータを示します。

表15-66 SET_USERNAMEのパラメータ

パラメータ 説明

p_userid

ユーザー・アカウントの数値のID

p_username

ユーザー・アカウントに保存するUSER_NAME


BEGIN     
APEX_UTIL.SET_USERNAME(
    p_userid       => '888883232',
    P_username   => 'USER-XRAY');
END;

STRING_TO_TABLEファンクション

文字列を指定すると、このファンクションによって型がAPEX_APPLICATION_GLOBAL.VC_ARR2のPL/SQL配列が戻されます。この配列はVARCHAR2(32767)表です。

構文

APEX_UTIL.STRING_TO_TABLE (
    p_string       IN VARCHAR2,
    p_separator    IN VARCHAR2 DEFAULT ':') 
    RETURN APEX_APPLICATION_GLOBAL.VC_ARR2;

パラメータ

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

表15-67 STRING_TO_TABLEのパラメータ

パラメータ 説明

p_string

型がAPEX_APPLICATION_GLOBAL.VC_ARR2のPL/SQL表に変換される文字列

p_separator

文字列のセパレータ(デフォルトはコロン)


DECLARE
       l_vc_arr2    APEX_APPLICATION_GLOBAL.VC_ARR2;
BEGIN
       l_vc_arr2 := APEX_UTIL.STRING_TO_TABLE('One:Two:Three');
       FOR z IN 1..l_vc_arr2.count LOOP
                htp.p(l_vc_arr2(z));
       END LOOP;
END;

TABLE_TO_STRINGファンクション

型がAPEX_APPLICATION_GLOBAL.VC_ARR2のPL/SQL表を指定すると、このファンクションによって、指定したセパレータかデフォルトのセパレータ(コロン(:))で区切られた文字列が戻されます。

構文

APEX_UTIL.TABLE_TO_STRING (
    p_table       IN     APEX_APPLICATION_GLOBAL.VC_ARR2,
    p_string      IN     VARCHAR2 DEFAULT ':') 
    RETURN VARCHAR2;

パラメータ

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

表15-68 TABLE_TO_STRINGのパラメータ

パラメータ 説明

p_string

文字列のセパレータ(デフォルトはコロン(:))

p_table

区切られた文字列に変換されるPL/SQL表


DECLARE
       l_string     VARCHAR2(255);
       l_vc_arr2    APEX_APPLICATION_GLOBAL.VC_ARR2;
BEGIN
       l_vc_arr2 := APEX_UTIL.STRING_TO_TABLE('One:Two:Three');

       l_string := APEX_UTIL.TABLE_TO_STRING(l_vc_arr2);
END;

UNEXPIRE_END_USER_ACCOUNTプロシージャ

期限切れのエンド・ユーザー・アカウントおよび関連付けられたパスワードを使用可能にして、エンド・ユーザーが作業領域へログインできるようにします。

構文

APEX_UTIL.UNEXPIRE_END_USER_ACCOUNT (
    p_user_name IN VARCHAR2
    );

パラメータ

表15-69に、UNEXPIRE_END_USER_ACCOUNTプロシージャで使用可能なパラメータを示します。

表15-69 UNEXPIRE_END_USER_ACCOUNTのパラメータ

で使用可能なパラメータについて説明します。
パラメータ 説明

p_user_name

ユーザー・アカウントのユーザー名


次の例に、UNEXPIRE_END_USER_ACCOUNTプロシージャを使用する方法を示します。このプロシージャを使用して、現行の作業領域のApplication Expressエンド・ユーザー・アカウントを更新(有効に)します。このアクションは、開発されたアプリケーションへの認証用にエンド・ユーザーが使用するアカウントを更新します。また、作業領域へのログイン用に開発者または管理者が使用するアカウントも更新できます。

このプロシージャは、現行の作業領域で管理権限を持つユーザーによって実行される必要があります。

BEGIN
  FOR c1 IN (SELECT user_name from wwv_flow_users) LOOP
    APEX_UTIL.UNEXPIRE_END_USER_ACCOUNT(p_user_name => c1.user_name);
    htp.p('End User Account:'||c1.user_name||' is now valid.');   
  END LOOP;
END;   

UNEXPIRE_WORKSPACE_ACCOUNTプロシージャ

開発者および作業領域管理者のアカウントおよび関連付けられたパスワードを有効にして、開発者または管理者が作業領域へログインできるようにします。

構文

APEX_UTIL.UNEXPIRE_WORKSPACE_ACCOUNT (
    p_user_name IN VARCHAR2
    );

パラメータ

表15-70に、UNEXPIRE_WORKSPACE_ACCOUNTプロシージャで使用可能なパラメータを示します。

表15-70 UNEXPIRE_WORKSPACE_ACCOUNTのパラメータ

パラメータ 説明

p_user_name

ユーザー・アカウントのユーザー名


次の例に、UNEXPIRE_WORKSPACE_ACCOUNTプロシージャを使用する方法を示します。このプロシージャを使用して、現行の作業領域のApplication Express作業領域管理者のアカウントを更新(有効に)します。このアクションは、作業領域へのログイン用に開発者または管理者が使用するアカウントを更新します。また、開発されたアプリケーションへの認証用にエンド・ユーザーが使用するアカウントも更新します。

このプロシージャは、現行の作業領域で管理権限を持つユーザーによって実行される必要があります。

BEGIN
  FOR c1 IN (select user_name from wwv_flow_users) loop
    APEX_UTIL.UNEXPIRE_WORKSPACE_ACCOUNT(p_user_name => c1.user_name);
    htp.p('Workspace Account:'||c1.user_name||' is now valid.'); 
  END LOOP;
END;   

UNLOCK_ACCOUNTプロシージャ

ユーザーのアカウント・ステータスを「ロック解除済」に設定します。これは、ページ・リクエストのコンテキストで認証済作業領域管理者によって実行される必要があります。

構文

APEX_UTIL.UNLOCK_ACCOUNT (
     p_user_name IN VARCHAR2
     ); 

パラメータ

表15-71に、UNLOCK_ACCOUNTプロシージャで使用可能なパラメータを示します。

表15-71 UNLOCK_ACCOUNTのパラメータ

パラメータ 説明

p_user_name

ユーザー・アカウントのユーザー名


次の例では、UNLOCK_ACCOUNTプロシージャを使用する方法を示します。このプロシージャを使用して、現行の作業領域でApplication Expressアカウントをロック解除します。このアクションは、管理者、開発者およびエンド・ユーザーが使用するアカウントをロック解除します。このプロシージャは、現行の作業領域で管理権限を持つユーザーにより実行される必要があります。

BEGIN
  FOR c1 IN (SELECT user_name from wwv_flow_users) LOOP
    APEX_UTIL.UNLOCK_ACCOUNT(p_user_name => c1.user_name);
    htp.p('End User Account:'||c1.user_name||' is now unlocked.');    
  END LOOP;
END;

URL_ENCODEファンクション

このファンクションは、空白、疑問符、アンパサンドを含むすべての特殊文字を16進数にエンコードします。

構文

APEX_UTIL.URL_ENCODE (
    p_url   IN    VARCHAR2) 
    RETURN VARCHAR2;

パラメータ

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

表15-72 URL_ENCODEのパラメータ

パラメータ 説明

p_url

エンコードする文字列


DECLARE
      l_url  VARCHAR2(255);
BEGIN
      l_url := APEX_UTIL.URL_ENCODE('http://www.myurl.com?id=1&cat=foo');
END;

WORKSPACE_ACCOUNT_DAYS_LEFTファンクション

開発者または作業領域管理者アカウント・パスワードの期限が切れるまでの残りの日数を戻します。このファンクションは、すべての認証済ユーザーのページ・リクエストのコンテキストで実行される可能性があります。

構文

APEX_UTIL.WORKSPACE_ACCOUNT_DAYS_LEFT (
    p_user_name IN VARCHAR2
    RETURN NUMBER
    ;

パラメータ

表15-73に、WORKSPACE_ACCOUNT_DAYS_LEFTプロシージャで使用可能なパラメータを示します。

表15-73 WORKSPACE_ACCOUNT_DAYS_LEFTのパラメータ

パラメータ 説明

p_user_name

ユーザー・アカウントのユーザー名


次の例に、WORKSPACE_ACCOUNT_DAYS_LEFTファンクションを使用する方法を示します。現行の作業領域でApplication Express管理者または開発者のアカウントの期限が切れるまでの残りの日数を検索するために使用できます。

DECLARE
  l_days_left NUMBER;
BEGIN
  FOR c1 IN (SELECT user_name from wwv_flow_users) LOOP
    l_days_left := APEX_UTIL.WORKSPACE_ACCOUNT_DAYS_LEFT(p_user_name => 
c1.user_name) THEN
    htp.p('Workspace Account:'||c1.user_name||' will expire in '||l_days_left||' days.');    
  END LOOP;
END;     

APEX_MAIL

APEX_MAILパッケージを使用してOracle Application Expressアプリケーションから電子メールを送信できます。このパッケージは、Oracleで提供されるUTL_SMTPパッケージをベースとして構築されています。このような依存性があるため、APEX_MAILを使用するには、UTL_SMTPパッケージがインストールされており、機能している必要があります。


参照:

UTL_SMTPパッケージの詳細は、『Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。

APEX_MAILには2つのプロシージャが含まれています。アプリケーションから外部へ電子メール・メッセージを送信するには、APEX_MAIL.SENDを使用します。APEX_MAIL_QUEUEに格納されたメール・メッセージを配信するには、APEX_MAIL.PUSH_QUEUEを使用します。

このセクションの構成は次のとおりです。


注意:

電子メールを送信するための最も有効な方法は、バックグラウンド・ジョブ(DBMS_JOBパッケージを使用)を作成して、アクティブなメール・キューに格納されているすべてのメール・メッセージを定期的に送信することです。

SENDプロシージャ

このプロシージャは、アプリケーションから外部へ電子メール・メッセージを送信します。このプロシージャを使用してVARCHAR2またはCLOBp_bodyおよびp_body_htmlに渡すことができますが、データ型は同じである必要があります。つまり、CLOBP_BODYに、VARCHAR2p_body_htmlに渡すことはできません。

APEX_MAIL.SENDを使用する際は、次の点に注意してください。

  • 1行は1000文字以下にしてください。 SMTP/MIME仕様によると、1行は1000文字以下にしてください。この制限に準拠するには、キャリッジ・リターンまたはライン・フィード文字を追加してp_bodyまたはp_body_htmlパラメータを1000文字以下のチャンクに分割する必要があります。そうしないと、不完全なメッセージ、不要な感嘆符を含むメッセージなど、電子メール・メッセージにエラーが発生します。

  • プレーン・テキストおよびHTML電子メール・コンテンツ。値をp_body_htmlではなくp_bodyに渡すと、プレーン・テキスト・メッセージが作成されます。値をp_bodyおよびp_body_htmlに渡すと、プレーン・テキストとHTMLの両方のコンテンツを含むマルチパート・メッセージが作成されます。受信者の電子メール・クライアントの設定および機能によって表示内容が決定されます。ほとんどの最新の電子メール・クライアントはHTML形式の電子メールを読むことができますが、セキュリティ問題に対処するため、この機能を無効にしているユーザーがいることに注意してください。

  • イメージを使用しないでください。<img />タグを使用してp_body_htmlでイメージを参照する場合、受信者がそのイメージを表示するには、受信者の電子メール・クライアントがそのイメージにアクセスできる必要があることに注意してください。

    たとえば、次のようにネットワーク上にあるhello.gifというイメージを参照すると想定します。

    <img src="http://someserver.com/hello.gif" alt="Hello" />]
    

    この例では、イメージは電子メールに添付されるのではなく、電子メールによって参照されます。受信者がこのイメージを表示するには、Webブラウザを使用してこのイメージにアクセスできる必要があります。イメージがファイアウォールの内側にあり、受信者がファイアウォールの外側にいる場合、イメージは表示されません。このため、イメージは使用しないでください。イメージを含める必要がある場合は、イメージにアクセスできない場合にテキストの説明を提供できるようにALT属性を含めるようにしてください。

構文

APEX_MAIL.SEND(
    p_to                        IN    VARCHAR2,
    p_from                      IN    VARCHAR2,
    p_body                      IN  [ VARCHAR2 | CLOB ],
    p_body_html                 IN  [ VARCHAR2 | CLOB ] DEFAULT,
    p_subj                      IN    VARCHAR2 DEFAULT)
    p_cc                        IN    VARCHAR2 DEFAULT)
    p_bcc                       IN    VARCHAR2 DEFAULT);
    p_replyto                   IN    VARCHAR2 DEFAULT);

パラメータ

表15-74に、SENDプロシージャで使用可能なパラメータを示します。

表15-74 SENDのパラメータ

パラメータ 説明

p_to

電子メールの送信先となる有効な電子メール・アドレス(必須)。電子メール・アドレスが複数の場合、カンマで区切られたリストを使用します。

p_from

電子メールの送信元となる電子メール・アドレス(必須)。この電子メール・アドレスは有効なアドレスである必要があります。有効でない場合、メッセージは送信されません。

p_body

HTML形式ではなく、プレーン・テキスト形式の電子メールの本文(必須)。値がp_body_htmlに渡された場合、受信者に表示されるテキストはこれだけです。値がp_body_htmlに渡されなかった場合、このテキストは、HTMLをサポートしていない電子メール・クライアント、またはHTMLが無効になっている電子メール・クライアントに対してのみ表示されます。キャリッジ・リターンまたはライン・フィード(CRLF)を1000文字ごとに含める必要があります。

p_body_html

HTML形式の電子メールの本文。これは、<html>タグおよび<body>タグを含む完全なHTMLドキュメントである必要があります。キャリッジ・リターンまたはライン・フィード(CRLF)を使用しない場合、1行は1000文字以下にする必要があります。

p_subj

電子メールの件名

p_cc

電子メールの内容のコピー先となる有効な電子メール・アドレス。電子メール・アドレスが複数の場合、カンマで区切られたリストを使用します。

p_bcc

電子メールの内容のブラインド・コピー先となる有効な電子メール・アドレス。電子メール・アドレスが複数の場合、カンマで区切られたリストを使用します。

p_replyto

返信先のメール・ヘッダーのアドレス。このパラメータの使用方法は次のとおりです。

  • p_replytoパラメータを省略した場合、返信先のメール・ヘッダーにはp_fromパラメータに指定された値が設定されます。

  • p_replytoパラメータにNULLを指定した場合、返信先のメール・ヘッダーにはNULLが設定されます。この結果、電子メールの自動返信は行われません。

  • p_replytoパラメータにNULL以外の値(有効な電子メール・アドレスなど)を指定した場合、メッセージを送信しても、自動返信は指定されたアドレスに対して行われます(有効な電子メール・アドレスなど)


次の例では、APEX_MAIL.SENDを使用してアプリケーションからプレーン・テキストの電子メール・メッセージを送信する方法を示します。

-- Example One: Plain Text only message
DECLARE
    l_body      CLOB;
BEGIN
    l_body := 'Thank you for your interest in the APEX_MAIL 
package.'||utl_tcp.crlf||utl_tcp.crlf;
    l_body := l_body ||'  Sincerely,'||utl_tcp.crlf;
    l_body := l_body ||'  The APEX Dev Team'||utl_tcp.crlf;
    apex_mail.send(
        p_to       => 'some_user@somewhere.com',   -- change to your email address
        p_from     => 'some_sender@somewhere.com', -- change to a real senders email address
        p_body     => l_body,
        p_subj     => 'APEX_MAIL Package - Plain Text message');
END;
/

次の例では、APEX_MAIL.SENDを使用してアプリケーションからHTML形式の電子メール・メッセージを送信する方法を示します。キャリッジ・リターンまたはライン・フィード(CRLF)を 1000文字ごとに含める必要があります。次の例では、utl_tcp.crlfを使用します。

-- Example Two: Plain Text / HTML message
DECLARE
    l_body      CLOB;
    l_body_html CLOB;
BEGIN
    l_body := 'To view the content of this message, please use an HTML enabled mail client.'||utl_tcp.crlf;

    l_body_html := '<html>
                      <head>
                        <style type="text/css">
                          body{
                               font-size:10pt;
                               margin:30px;
                               background-color:#ffffff;}

                          span.sig{font-style:italic;
                                   font-weight:bold;
                                   color:#811919;}
                        </style>
                      </head>
                      <body>'||utl_tcp.crlf;
    l_body_html := l_body_html ||'<p>Thank you for your interest in the <strong>APEX_MAIL</strong> package.</p>'||utl_tcp.crlf;
    l_body_html := l_body_html ||'  Sincerely,<br />'||utl_tcp.crlf;
    l_body_html := l_body_html ||'  <span class="sig">The HTMLDB Dev Team</span><br />'||utl_tcp.crlf;
    apex_mail.send(
     p_to        => 'some_user@somewhere.com',   -- change to your email address
     p_from      => 'some_sender@somewhere.com', -- change to a real senders email address
     p_body      => l_body,
     p_body_html => l_body_html,
     p_subj      => 'APEX_MAIL Package - HTML formatted message');
END;
/

PUSH_QUEUEプロシージャ

Oracle Application Expressでは、APEX_MAIL_QUEUEという名前の表に未送信の電子メール・メッセージが格納されます。APEX_MAIL.PUSH_QUEUEプロシージャを呼び出して、このキューに格納されているメール・メッセージを指定のSMTPゲートウェイに手動で送信できます。

Oracle Application Expressによって、正常に送信されたメッセージのログが、サーバーのローカル時間でのタイムスタンプとともにHTMLDB_MAIL_LOGに作成されます。電子メールを送信するための最も有効な方法は、バックグラウンド・ジョブ(DBMS_JOBパッケージを使用)を作成して、アクティブなメール・キューに格納されているすべてのメール・メッセージを定期的に送信することです。

構文

APEX_MAIL.PUSH_QUEUE(
    p_smtp_hostname             IN    VARCHAR2 DEFAULT,
    p_smtp_portno               IN    NUMBER   DEFAULT;

パラメータ

表15-75に、PUSH_QUEUEプロシージャで使用可能なパラメータを示します。

表15-75 PUSH_QUEUEのパラメータ

パラメータ 説明

p_smtp_hostname

SMTPゲートウェイのホスト名

p_smtp_portno

SMTPゲートウェイのポート番号


これらのパラメータの値は下位互換性を確保するために提供されていますが、各パラメータの値は無視されます。電子メールを送信する際のSMTPゲートウェイのホスト名およびSMTPゲートウェイのポート番号は、「環境設定の管理」で入力された値のみが使用されます。

次の例に、シェル・スクリプトを使用してAPEX_MAIL.PUSH_QUEUEプロシージャを使用する方法を示します。この例はUNIX/LINUXインストールにのみ適用します。

SQLPLUS / <<EOF
APEX_MAIL.PUSH_QUEUE;
DISCONNECT
EXIT
EOF

APEX_ITEM

APEX_ITEMパッケージを使用すると、ページごとに個別にアイテムを作成するかわりに、SQL問合せに基づいてフォーム要素を動的に作成できます。

このセクションの構成は次のとおりです。

CHECKBOXファンクション

このファンクションはチェック・ボックスを作成します。

構文

APEX_ITEM.CHECKBOX(
    p_idx                       IN    NUMBER,
    p_value                     IN    VARCHAR2 DEFAULT,
    p_attributes                IN    VARCHAR2 DEFAULT,
    p_checked_values            IN    VARCHAR2 DEFAULT,
    p_checked_values_delimiter  IN    VARCHAR2 DEFAULT)
    RETURN VARCHAR2;

パラメータ

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

表15-76 CHECKBOXのパラメータ

パラメータ 説明

p_idx

どのAPEX_APPLICATIONグローバル変数を使用するかを決定する番号。値の有効範囲は、1から50です。たとえば、1を指定するとF01、2を指定するとF02が作成されます。

p_value

チェック・ボックス、非表示フィールドまたは入力フォーム・アイテムの値

p_attributes

HTMLタグ属性を制御(無効にするなど)します。

p_checked_values

デフォルトで選択される値

p_checked_values_delimiter

前述のパラメータp_checked_valuesの値を区切ります。


デフォルトのチェック・ボックスの動作

次の例に、emp表の各従業員に対して選択された状態のチェック・ボックスを作成する方法を示します。

SELECT APEX_ITEM.CHECKBOX(1,empno,'CHECKED') " ",
       ename,
       job
FROM   emp
ORDER BY 1

次の例に、従業員のすべてのチェック・ボックスが選択されていない状態で表示する方法を示します。

SELECT APEX_ITEM.CHECKBOX(1,empno) " ",
       ename,
       job
FROM   emp
ORDER BY 1

次の例に、部門10の従業員のチェック・ボックスを選択する方法を示します。

SELECT APEX_ITEM.CHECKBOX(1,empno,DECODE(deptno,10,'CHECKED',null)) " ",
       ename,
       job
FROM   emp
ORDER BY 1

次の例に、部門10または20の従業員のチェック・ボックスを選択する方法を示します。

SELECT APEX_ITEM.CHECKBOX(1,deptno,NULL,'10:20',':') " ",
       ename,
       job
FROM   emp
ORDER BY 1

送信時プロセスの作成

アプリケーションでチェック・ボックスを使用する場合、送信時プロセスを作成して、選択した行で特定のタイプのアクションを実行する必要がある場合があります。たとえば、次のロジックを使用する「削除」ボタンを使用できます。

SELECT APEX_ITEM.CHECKBOX(1,empno) " ",
       ename,
       job
FROM   emp
ORDER  by 1

次に送信時プロセスの例を示します。

FOR I in 1..APEX_APPLICATION.G_F01.COUNT LOOP
    DELETE FROM emp WHERE empno = to_number(APEX_APPLICATION.G_F01(i));
END LOOP;

DATE_POPUPファンクション

日付フィールドを含むフォームでこのファンクションを使用します。DATE_POPUPファンクションは、ポップアップ・カレンダのボタンが付いた日時フィールドを動的に生成します。

構文

APEX_ITEM.DATE_POPUP(
    p_idx          IN    NUMBER,
    p_row          IN    NUMBER,
    p_value        IN    VARCHAR2 DEFAULT,
    p_date_format  IN    DATE DEFAULT,
    p_size         IN    NUMBER DEFAULT,
    p_maxlength    IN    NUMBER DEFAULT,
    p_attributes   IN    VARCHAR2 DEFAULT)
    RETURN VARCHAR2;

パラメータ

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

表15-77 DATE_POPUPのパラメータ

パラメータ 説明

p_idx

どのAPEX_APPLICATIONグローバル変数を使用するかを決定する番号。値の有効範囲は、1から50です。たとえば、1を指定するとF01、2を指定するとF02が作成されます。

p_row

このパラメータは使用できません。この値を指定しても無視されます。

p_value

フィールド・アイテムの値

p_date_format

有効なデータベースの日付書式

p_size

HTMLタグ属性を制御(無効にするなど)します。

p_maxlength

入力可能な最大文字数を決定します。<input> HTMLタグの最大長の属性になります

p_attributes

追加するHTMLパラメータ



参照:

To_CharまたはTO_DATEファンクションの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

次の例に、APEX_ITEM.DATE_POPUPを使用して、hiredate列のポップアップ・カレンダのボタンを作成する方法を示します。

SELECT 
  empno, 
  APEX_ITEM.HIDDEN(1,empno)||
  APEX_ITEM.TEXT(2,ename) ename, 
  APEX_ITEM.TEXT(3,job) job, 
  mgr, 
  APEX_ITEM.DATE_POPUP(4,rownum,hiredate,'dd-mon-yyyy') hd,
  APEX_ITEM.TEXT(5,sal) sal, 
  APEX_ITEM.TEXT(6,comm) comm,
  deptno
FROM emp
ORDER BY 1

DISPLAY_AND_SAVEファンクション

このファンクションを使用して、アイテムをテキストとして表示します。ただし、その値はセッション・ステートに保存されます。

構文

APEX_ITEM.DISPLAY_AND_SAVE(
    p_idx         IN    NUMBER,
    p_value       IN    VARCHAR2 DEFAULT NULL,
    p_item_id     IN    VARCHAR2 DEFAULT NULL,
    p_item_label  IN    VARCHAR2 DEFAULT NULL)
    RETURN VARCHAR2;

パラメータ

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

表15-78 DISPLAY_AND_SAVEのパラメータ

パラメータ 説明

p_idx

どのAPEX_APPLICATIONグローバル変数を使用するかを決定する番号。値の有効範囲は、1から50です。たとえば、1を指定するとF01、2を指定するとF02が作成されます。

p_value

現在の値

p_item_id

<input>タグのHTML属性のID

p_item_label

テキスト・フィールド・アイテムのラベル


次の例に、APEX_ITEM.DISPLAY_AND_SAVEファンクションの使用方法を示します。

SELECT APEX_ITEM.DISPLAY_AND_SAVE(10,empno) c FROM emp

HIDDENファンクション

このファンクションは、非表示のフォーム・アイテムを動的に生成します。

構文

APEX_ITEM.HIDDEN(
    p_idx     IN    NUMBER,
    p_value   IN    VARCHAR2 DEFAULT)
    RETURN VARCHAR2;

パラメータ

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

表15-79 HIDDENのパラメータ

パラメータ 説明

p_idx

生成するアイテムの識別番号。この番号によって、どのG_FXXグローバルが移入されるかが決定されます

参照: 「APEX_APPLICATION」

p_value

非表示の入力フォーム・アイテムの値


通常、表の主キーは非表示列として格納され、後続の更新処理で使用されます。次に例を示します。

SELECT
  empno, 
  APEX_ITEM.HIDDEN(1,empno)||
  APEX_ITEM.TEXT(2,ename) ename,
  APEX_ITEM.TEXT(3,job) job, 
  mgr, 
  APEX_ITEM.DATE_POPUP(4,rownum,hiredate,'dd-mon-yyyy') hiredate,
  APEX_ITEM.TEXT(5,sal) sal, 
  APEX_ITEM.TEXT(6,comm) comm, 
  deptno
FROM emp
ORDER BY 1

前述の問合せは、次のページ・プロセスを使用して結果を処理します。

BEGIN 
  FOR i IN 1..APEX_APPLICATION.G_F01.COUNT LOOP
    UPDATE emp
    SET
      ename=APEX_APPLICATION.G_F02(i),
      job=APEX_APPLICATION.G_F03(i),
      hiredate=to_date(APEX_APPLICATION.G_F04(i),'dd-mon-yyyy'),
      sal=APEX_APPLICATION.G_F05(i),
      comm=APEX_APPLICATION.G_F06(i)
    WHERE empno=to_number(APEX_APPLICATION.G_F01(i));
  END LOOP;
END;

G_F01列(非表示のEMPNOに対応)は、各行を更新するキーとして使用されることに注意してください。

MD5_CHECKSUMファンクション

このファンクションは、APEX_ITEM.MULTI_ROW_UPDATEに値を渡し、ロストした更新の検出に使用されます。ロストした更新の検出によって、データに同時にアクセスできるアプリケーションのデータ整合性が保証されます。

構文

APEX_ITEM.MD5_CHECKSUM(
    p_value01   IN    VARCHAR2 DEFAULT,
    p_value02   IN    VARCHAR2 DEFAULT,
    p_value03   IN    VARCHAR2 DEFAULT,
    ...
    p_value50   IN    VARCHAR2 DEFAULT,
    p_col_sep   IN    VARCHAR2 DEFAULT)
    RETURN VARCHAR2;

パラメータ

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

表15-80 MD5_CHECKSUMのパラメータ

パラメータ 説明

p_value01

...

p_value50

50個の値が入力可能です。このパラメータを指定しない場合、デフォルトはNULLになります

p_col_sep

p_valueの入力を区切るために使用する文字列。デフォルトは縦線(|)です


SELECT APEX_ITEM.MD5_CHECKSUM(ename,job,sal)
FROM emp

MD5_HIDDENファンクション

このファンクションは、ロストした更新の検出に使用されます。ロストした更新の検出によって、データに同時にアクセスできる複数のアプリケーションのデータの整合性が保証されます。

このファンクションは、非表示のフォーム・フィールドを作成し、50個の入力値を含みます。APEX_ITEM.MD5_HIDDENでも、Oracle DatabaseのDBMS_OBFUSCATION_TOOLKITを使用して、MD5チェックサムが生成されます。

UTL_RAW.CAST_TO_RAW(DBMS_OBFUSCATION_TOOLKIT.MD5())

MD5チェックサムでは、データがネットワークを介して転送される際に、ハッシュやシーケンスによってデータ整合性が確保され、データが改ざんまたは盗用されていないことが保証されます。

構文

APEX_ITEM.MD5_HIDDEN(
    p_idx       IN    NUMBER,
    p_value01   IN    VARCHAR2 DEFAULT,
    p_value02   IN    VARCHAR2 DEFAULT,
    p_value03   IN    VARCHAR2 DEFAULT,
    ...
    p_value50   IN    VARCHAR2 DEFAULT,
    p_col_sep   IN    VARCHAR2 DEFAULT)
    RETURN VARCHAR2;

パラメータ

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

表15-81 MD5_HIDDENのパラメータ

パラメータ 説明

p_idx

生成されるフォーム要素を示します。たとえば、1はF01、2はF02です。通常、p_idxパラメータは指定した列の定数です

p_value01

...

p_value50

50個の値が入力可能です。このパラメータを指定しない場合、デフォルトはNULLになります

p_col_sep

p_valueの入力を区切るために使用する文字列。デフォルトは縦線(|)です


p_idxパラメータは生成されるFXXフォーム要素を指定します。次の例では、7はF07を生成します。また、HTML非表示フォーム要素が生成されることにも注意してください。

SELECT APEX_ITEM.MD5_HIDDEN(7,ename,job,sal), ename, job, sal FROM emp

MULTI_ROW_UPDATEプロシージャ

このプロシージャは、複数行を更新するプロセス・タイプ内で使用します。このプロシージャでは、次の形式で複数行の更新定義を含む文字列を指定します。

OWNER:TABLE:pk_column1,pk_idx:pk_column2,pk_idx2|col,idx:col,idx...  

構文

APEX_ITEM.MULTI_ROW_UPDATE(
    p_mru_string    IN    VARCHAR2 DEFAULT)
    RETURN VARCHAR2;

このプロシージャをアプリケーション・レベルのプロセスで間接的に使用するには、問合せを作成して、データベース・データのフォームを生成する必要があります。次の例に、emp表で複数行の更新を作成する方法を示します。

SELECT 
empno,
APEX_ITEM.HIDDEN(1,empno),
APEX_ITEM.HIDDEN(2,deptno),
APEX_ITEM.TEXT(3,ename),
APEX_ITEM.SELECT_LIST_FROM_QUERY(4,job,'SELECT DISTINCT job FROM emp'),
APEX_ITEM.TEXT(5,sal),
APEX_ITEM.TEXT(7,comm),
APEX_ITEM.MD5_CHECKSUM(ename,job,sal,comm),
deptno
FROM emp
WHERE deptno = 20

APEX_ITEM.MD5_HIDDENではなく、APEX_ITEM.MD5_CHECKSUMをコールすることに注意してください。APEX_ITEM.MULTI_ROW_UPDATEAPEX_APPLICATION.G_FCSからチェックサムを取得するため、ページを送信する際に、APEX_APPLICATION.G_FCSを移入するためにAPEX_ITEM.MD5_CHECKSUMをコールする必要があります。また、APEX_ITEM.MD5_CHECKSUMの列の順序は、MULTI_ROW_UPDATEプロセスでの順序と同一である必要があります。これらの更新は、次のような文字列の複数の行の更新の送信後ページ・プロセスを使用して、処理(またはデータベースに適用)できます。

SCOTT:emp:empno,1:deptno,2|ename,3:job,4:sal,5:comm,7:,:,:,:,

POPUP_FROM_LOVファンクション

このファンクションは、アプリケーションの値リスト(LOV)からHTMLポップアップ選択リストを生成します。APEX_ITEMパッケージで使用可能な他のファンクションと同様に、POPUP_FROM_LOVファンクションは、F01からF50のフォームの配列要素でフォームを生成するように設計されています。

構文

APEX_ITEM.POPUP_FROM_LOV(

    p_idx              IN    NUMBER,
    p_value            IN    VARCHAR2 DEFAULT,
    p_lov_name         IN    VARCHAR2,
    p_width            IN    VARCHAR2 DEFAULT,
    p_max_length       IN    VARCHAR2 DEFAULT,
    p_form_index       IN    VARCHAR2 DEFAULT,
    p_escape_html      IN    VARCHAR2 DEFAULT,
    p_max_elements     IN    VARCHAR2 DEFAULT,
    p_attributes       IN    VARCHAR2 DEFAULT,
    p_ok_to_query      IN    VARCHAR2 DEFAULT,
    p_item_id          IN    VARCHAR2 DEFAULT NULL,
    p_item_label       IN    VARCHAR2 DEFAULT NULL)
    RETURN VARCHAR2;

パラメータ

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

表15-82 POPUP_FROM_LOVのパラメータ

パラメータ 説明

p_idx

フォーム要素名。たとえば、1F012F02です。通常、p_idxは指定した列の定数です

p_value

フォーム要素の現行の値。この値は、p_lov_nameパラメータのいずれかの値である必要があります

p_lov_name

このポップアップで使用される名前付きLOV

p_width

テキスト・ボックスの幅

p_max_length

テキスト・ボックスに入力可能な最大文字数

p_form_index

アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。

このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが#FORM_OPEN#置換文字列の前にある場合、この索引は0(ゼロ)で、Oracle Application Expressによって自動的にオープンされるフォームはフォーム1として参照される必要があります。この機能では、フォーム要素に値を戻すポップアップLOVで使用されるJavaScriptがサポートされています。

p_escape_html

同等のものにエスケープする必要がある特殊文字の置換文字。

  • <に対する<

  • >に対する>

  • &に対する&

値の範囲はYESおよびNOです。YESの場合は、特殊文字がエスケープされます。このパラメータは、問合せが無効なHTMLを戻すことがわかっている場合に有効です。

p_max_elements

問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。

p_attributes

フォーム・アイテムで使用する追加のHTML属性。

p_ok_to_query

値の範囲はYESおよびNOです。YESの場合、ポップアップはLOVに最初の行セットを戻します。NOの場合、行を戻すために検索が開始されます。

p_item_id

フォーム要素のID属性。

p_item_label

アイテムに対して作成された非表示のラベル。


次の例に、DEPTというLOVからポップアップを生成する問合せの例を示します。

SELECT APEX_ITEM.POPUP_FROM_LOV (1,deptno,'DEPT_LOV') dt 
FROM emp

POPUP_FROM_QUERYファンクション

このファンクションは問合せからHTMLポップアップ選択リストを生成します。APEX_ITEMパッケージで使用可能な他のファンクションと同様に、POPUP_FROM_QUERYファンクションは、F01からF50のフォームの配列要素でフォームを生成するように設計されています。

構文

APEX_ITEM.POPUP_FROM_QUERY(

    p_idx              IN    NUMBER,
    p_value            IN    VARCHAR2 DEFAULT,
    p_lov_query        IN    VARCHAR2,
    p_width            IN    VARCHAR2 DEFAULT,
    p_max_length       IN    VARCHAR2 DEFAULT,
    p_form_index       IN    VARCHAR2 DEFAULT,
    p_escape_html      IN    VARCHAR2 DEFAULT,
    p_max_elements     IN    VARCHAR2 DEFAULT,
    p_attributes       IN    VARCHAR2 DEFAULT,
    p_ok_to_query      IN    VARCHAR2 DEFAULT,
    p_item_id          IN    VARCHAR2 DEFAULT NULL,
    p_item_label       IN    VARCHAR2 DEFAULT NULL)
    RETURN VARCHAR2;

パラメータ

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

表15-83 POPUP_FROM_QUERYのパラメータ

パラメータ 説明

p_idx

フォーム要素名。たとえば、1F012F02です。通常、p_idxは指定した列の定数です。

p_value

フォーム要素の現行の値。この値は、p_lov_queryパラメータのいずれかの値である必要があります。

p_lov_query

2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。

SELECT dname, deptno FROM dept

p_width

テキスト・ボックスの幅。

p_max_length

テキスト・ボックスに入力可能な最大文字数。

p_form_index

アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。

このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが#FORM_OPEN#置換文字列の前にある場合、この索引は0(ゼロ)で、Oracle Application Expressによって自動的にオープンされるフォームはフォーム1として参照される必要があります。この機能では、フォーム要素に値を戻すポップアップLOVで使用されるJavaScriptがサポートされています。

p_escape_html

同等のものにエスケープする必要がある特殊文字の置換文字。

  • <に対する<

  • >に対する>

  • &に対する&

値の範囲はYESおよびNOです。YESの場合は、特殊文字がエスケープされます。このパラメータは、問合せが無効なHTMLを戻すことがわかっている場合に有効です。

p_max_elements

問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。

p_attributes

フォーム・アイテムで使用する追加のHTML属性。

p_ok_to_query

値の範囲はYESおよびNOです。YESの場合、ポップアップはLOVに最初の行セットを戻します。NOの場合、行を戻すために検索が開始されます。

p_item_id

フォーム要素のID属性。

p_item_label

アイテムに対して作成された非表示のラベル。


次の例に、emp表からポップアップ選択リストを生成する問合せの例を示します。

SELECT APEX_ITEM.POPUP_FROM_QUERY (1,deptno,'SELECT dname, deptno FROM dept') dt 
FROM emp

POPUPKEY_FROM_LOVファンクション

このファンクションは、共有LOVからポップアップ・キー選択リストを生成します。APEX_ITEMパッケージで使用可能な他のファンクションと同様に、POPUPKEY_FROM_LOVファンクションは、F01からF50のフォームの配列要素でフォームを生成するように設計されています。

構文

APEX_ITEM.POPUPKEY_FROM_LOV(
    p_idx              IN    NUMBER,
    p_value            IN    VARCHAR2 DEFAULT,
    p_lov_name         IN    VARCHAR2,
    p_width            IN    VARCHAR2 DEFAULT,
    p_max_length       IN    VARCHAR2 DEFAULT,
    p_form_index       IN    VARCHAR2 DEFAULT,
    p_escape_html      IN    VARCHAR2 DEFAULT,
    p_max_elements     IN    VARCHAR2 DEFAULT,
    p_attributes       IN    VARCHAR2 DEFAULT,
    p_ok_to_query      IN    VARCHAR2 DEFAULT,
    RETURN VARCHAR2;

ポップアップに関連付けられたテキスト・フィールドはLOV問合せの1列目に表示されますが、実際の値は問合せの2列目で指定されます。

パラメータ

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

表15-84 POPUPKEY_FROM_LOVのパラメータ

パラメータ 説明

p_idx

フォーム要素名を示します。たとえば、1F012F02です。通常、p_idxは指定した列の定数です。

POPUPKEY_FROM_QUERYの動作のため、次の索引の値はp_idx + 1である必要があります。次に例を示します。

SELECT APEX_ITEM.POPUPKEY_FROM_LOV (1,deptno,'DEPT') dt,
APEX_ITEM.HIDDEN(3,empno) eno

p_value

現行の値を示します。この値は、P_LOV_NAMEパラメータのいずれかの値である必要があります。

p_lov_name

このポップアップで使用される名前付きLOVを示します。

p_width

テキスト・ボックスの幅。

p_max_length

テキスト・ボックスに入力可能な最大文字数。

p_form_index

アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。

このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが#FORM_OPEN#置換文字列の前にある場合、この索引は0(ゼロ)で、Oracle Application Expressによって自動的にオープンされるフォームはフォーム1として参照される必要があります。この機能では、フォーム要素に値を戻すポップアップLOVで使用されるJavaScriptがサポートされています。

p_escape_html

同等のものにエスケープする必要がある特殊文字の置換文字。

  • <に対する<

  • >に対する>

  • &に対する&

このパラメータは、問合せが無効なHTMLを戻すことがわかっている場合に有効です。

p_max_elements

問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。

p_attributes

フォーム・アイテムで使用する追加のHTML属性。

p_ok_to_query

値の範囲はYESおよびNOです。YESの場合、ポップアップはLOVに最初の行セットを戻します。NOの場合、行を戻すために検索が開始されます。


次の例に、共有LOVからポップアップ・キー選択リストを生成する方法を示します。

SELECT APEX_ITEM.POPUPKEY_FROM_LOV (1,deptno,'DEPT') dt 
FROM emp

POPUPKEY_FROM_QUERYファンクション

このファンクションは、SQL問合せからポップアップ・キー選択リストを生成します。APEX_ITEMパッケージで使用可能な他のファンクションと同様に、POPUPKEY_FROM_QUERYファンクションは、F01からF50のフォームの配列要素でフォームを生成するように設計されています。

構文

APEX_ITEM.POPUPKEY_FROM_QUERY(
    p_idx              IN    NUMBER,
    p_value            IN    VARCHAR2 DEFAULT,
    p_lov_query        IN    VARCHAR2,
    p_width            IN    VARCHAR2 DEFAULT,
    p_max_length       IN    VARCHAR2 DEFAULT,
    p_form_index       IN    VARCHAR2 DEFAULT,
    p_escape_html      IN    VARCHAR2 DEFAULT,
    p_max_elements     IN    VARCHAR2 DEFAULT,
    p_attributes       IN    VARCHAR2 DEFAULT,
    p_ok_to_query      IN    VARCHAR2 DEFAULT,
    p_item_id          IN    VARCHAR2 DEFAULT NULL,
    p_item_label       IN    VARCHAR2 DEFAULT NULL)
    RETURN VARCHAR2;

パラメータ

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

表15-85 POPUPKEY_FROM_QUERYのパラメータ

パラメータ 説明

p_idx

フォーム要素名。たとえば、1F012F02です。通常、p_idxは指定した列の定数です。

POPUPKEY_FROM_QUERYの動作のため、次の索引の値はp_idx + 1である必要があります。次に例を示します。

SELECT APEX_ITEM.POPUPKEY_FROM_QUERY (1,deptno,'SELECT dname, deptno FROM dept') dt,
APEX_ITEM.HIDDEN(3,empno) eno

p_value

フォーム要素の現行の値。この値は、P_LOV_QUERYパラメータのいずれかの値である必要があります。

p_lov_query

このポップアップで使用されるLOV問合せ。

p_width

テキスト・ボックスの幅。

p_max_length

テキスト・ボックスに入力可能な最大文字数。

p_form_index

アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。

このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが#FORM_OPEN#置換文字列の前にある場合、この索引は0(ゼロ)で、Oracle Application Expressによって自動的にオープンされるフォームはフォーム1として参照される必要があります。この機能では、フォーム要素に値を戻すポップアップLOVで使用されるJavaScriptがサポートされています。

p_escape_html

同等のものにエスケープする必要がある特殊文字の置換文字。

  • <に対する<

  • >に対する>

  • &に対する&

このパラメータは、問合せが無効なHTMLを戻すことがわかっている場合に有効です。

p_max_elements

問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。

p_attributes

フォーム・アイテムで使用する追加のHTML属性。

p_ok_to_query

値の範囲はYESおよびNOです。YESの場合、ポップアップはLOVに最初の行セットを戻します。NOの場合、行を戻すために検索が開始されます。

p_item_id

フォーム要素のID属性。

p_item_label

アイテムに対して作成された非表示のラベル。


次の例に、SQL問合せからポップアップ選択リストを生成する方法を示します。

SELECT APEX_ITEM.POPUPKEY_FROM_QUERY (1,deptno,'SELECT dname, deptno FROM dept') dt 
FROM emp

RADIOGROUPファンクション

このファンクションは、SQL問合せからラジオ・グループを生成します。

構文

APEX_ITEM.RADIOGROUP(
    p_idx              IN    NUMBER,
    p_value            IN    VARCHAR2 DEFAULT,
    p_selected_value   IN    VARCHAR2 DEFAULT,
    p_display          IN    VARCHAR2 DEFAULT,
    p_attributes       IN    VARCHAR2 DEFAULT,
    p_onblur           IN    VARCHAR2 DEFAULT,
    p_onchange         IN    VARCHAR2 DEFAULT,
    p_onfocus          IN    VARCHAR2 DEFAULT,)
    RETURN VARCHAR2;

パラメータ

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

表15-86 RADIOGROUPのパラメータ

パラメータ 説明

p_idx

どのAPEX_APPLICATIONグローバル変数を使用するかを決定する番号。値の有効範囲は、1から50です。たとえば、1を指定するとF012を指定するとF02が作成されます。

p_value

ラジオ・グループの値。

p_selected_value

選択される値。

p_display

ラジオ・オプションの横に表示されるテキスト。

p_attributes

追加するHTMLパラメータ。

p_onblur

onBlurイベントで実行するJavaScript。

p_onchange

onChangeイベントで実行するJavaScript。

p_onfocus

onFocusイベントで実行するJavaScript。


次の例に、ラジオ・グループのデフォルトとしてemp表から部門20を選択する方法を示します。

SELECT APEX_ITEM.CHECKBOX(1,deptno,'20',dname) dt
FROM   dept
ORDER  BY 1

SELECT_LISTファンクション

このファンクションは、静的選択リストを動的に生成します。APEX_ITEMパッケージで使用可能な他のファンクションと同様に、これらの選択リストのファンクションは、F01からF50のフォームの配列要素でフォームを生成するように設計されています。

構文

APEX_ITEM.SELECT_LIST(
    p_idx           IN   NUMBER,
    p_value         IN   VARCHAR2 DEFAULT,
    p_list_values   IN   VARCHAR2 DEFAULT,
    p_attributes    IN   VARCHAR2 DEFAULT,
    p_show_null     IN   VARCHAR2 DEFAULT,
    p_null_value    IN   VARCHAR2 DEFAULT,
    p_null_text     IN   VARCHAR2 DEFAULT,
    p_item_id       IN   VARCHAR2 DEFAULT,
    p_item_label    IN   VARCHAR2 DEFAULT,
    p_show_extra    IN   VARCHAR2 DEFAULT)
    RETURN VARCHAR2;

パラメータ

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

表15-87 SELECT_LISTのパラメータ

パラメータ 説明

p_idx

フォーム要素名。たとえば、1F012F02です。通常、P_IDXパラメータは指定した列の定数です。

p_value

現行の値。この値はP_LIST_VALUESパラメータの値である必要があります。

p_list_values

カンマで区切られた静的値のリスト。表示される値および戻される値はセミコロンで区切られます。

これは、SELECT_LISTファンクションのみで使用可能であることに注意してください。

p_attributes

追加するHTMLパラメータ。

p_show_null

NULLの選択を有効にするための追加の選択オプション。値の範囲はYESおよびNOです。

p_null_value

ユーザーがNULLのオプションを選択すると戻される値。p_show_nullYESの場合にのみ使用できます。

p_null_text

ユーザーがNULLのオプションを選択すると表示される値。p_show_nullがYESの場合にのみ使用できます。

p_item_id

<input>タグのHTML属性のID。

p_item_label

選択リストのラベル。

p_show_extra

p_valueの値が選択リストで指定されていない場合でも、 現在の値を表示します。


次の例に、Yesを表示し、Yを戻し、Yをデフォルトとし、F01のフォームのアイテムを生成する静的選択リストを示します。

SELECT APEX_ITEM.SELECT_LIST(1,'Y','Yes;Y,No;N') 
FROM emp

SELECT_LIST_FROM_LOVファンクション

このファンクションは、共有の値リスト(LOV)から選択リストを動的に生成します。APEX_ITEMパッケージで使用可能な他のファンクションと同様に、これらの選択リストのファンクションはF01からF50のフォームの配列要素でフォームを生成するように設計されています。

構文

APEX_ITEM.SELECT_LIST_FROM_LOV(
    p_idx           IN   NUMBER,
    p_value         IN   VARCHAR2 DEFAULT,
    p_lov           IN   VARCHAR2,
    p_attributes    IN   VARCHAR2 DEFAULT,
    p_show_null     IN   VARCHAR2 DEFAULT,
    p_null_value    IN   VARCHAR2 DEFAULT,
    p_null_text     IN   VARCHAR2 DEFAULT,
    p_item_id       IN   VARCHAR2 DEFAULT,
    p_item_label    IN   VARCHAR2 DEFAULT)
    RETURN VARCHAR2;

パラメータ

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

表15-88 SELECT_LIST_FROM_LOVのパラメータ

パラメータ 説明

p_idx

フォーム要素名。たとえば、1F012F02です。通常、p_idxパラメータは指定した列の定数です。

p_value

現在の値。この値はp_lovパラメータの値である必要があります。

p_lov

アプリケーションLOVのテキストの名前。このLOVはアプリケーションで定義する必要があります。このパラメータは、select_list_from_lovファンクションでのみ使用されます。

p_attributes

追加するHTMLパラメータ。

p_show_null

NULLの選択を有効にするための追加の選択オプション。値の範囲はYESおよびNOです。

p_null_value

ユーザーがNULLのオプションを選択すると戻される値。p_show_nullYESの場合にのみ使用できます。

p_null_text

ユーザーがNULLのオプションを選択すると表示される値。p_show_nullYESの場合にのみ使用できます。

p_item_id

<input>タグのHTML属性のID。

p_item_label

選択リストのラベル。


次の例に、アプリケーションで定義されたLOVに基づく選択リストを示します。

SELECT APEX_ITEM.SELECT_LIST_FROM_LOV(2,job,'JOB_FLOW_LOV') 
FROM emp

SELECT_LIST_FROM_LOV_XLファンクション

このファンクションは、共有の値リスト(LOV)から大規模(32KBを超える)な選択リストを動的に生成します。APEX_ITEMパッケージで使用可能な他のファンクションと同様に、これらの選択リストのファンクションはF01からF50のフォームの配列要素でフォームを生成するように設計されています。このファンクションはSELECT_LIST_FROM_LOVと同じですが、戻り値はCLOBになります。そのため、4000文字を超える列値を処理する必要があるSQL問合せで使用できます。

構文

APEX_ITEM.SELECT_LIST_FROM_LOV_XL(
    p_idx           IN   NUMBER,
    p_value         IN   VARCHAR2 DEFAULT,
    p_lov           IN   VARCHAR2,
    p_attributes    IN   VARCHAR2 DEFAULT,
    p_show_null     IN   VARCHAR2 DEFAULT,
    p_null_value    IN   VARCHAR2 DEFAULT,
    p_null_text     IN   VARCHAR2 DEFAULT,
    p_item_id       IN   VARCHAR2 DEFAULT,
    p_item_label    IN   VARCHAR2 DEFAULT)
    RETURN CLOB;

パラメータ

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

表15-89 SELECT_LIST_FROM_LOV_XLのパラメータ

パラメータ 説明

p_idx

フォーム要素名。たとえば、1F012F02です。通常、p_idxパラメータは指定した列の定数です。

p_value

現在の値。この値はp_lovパラメータの値である必要があります。

p_lov

LOVのテキストの名前。このLOVはアプリケーションで定義する必要があります。このパラメータは、select_list_from_lovファンクションでのみ使用されます。

p_attributes

追加するHTMLパラメータ。

p_show_null

NULLの選択を有効にするための追加の選択オプション。値の範囲はYESおよびNOです。

p_null_value

ユーザーがNULLのオプションを選択すると戻される値。p_show_nullYESの場合にのみ使用できます。

p_null_text

ユーザーがNULLのオプションを選択すると表示される値。p_show_nullYESの場合にのみ使用できます。

p_item_id

<input>タグのHTML属性のID。

p_item_label

選択リストのラベル。


次に、アプリケーションで定義されたLOVに基づく選択リストを示します。

SELECT APEX_ITEM.SELECT_LIST_FROM_LOV_XL(2,job,'JOB_FLOW_LOV') 
FROM emp

SELECT_LIST_FROM_QUERYファンクション

このファンクションは、問合せから静的選択リストを動的に生成します。APEX_ITEMパッケージで使用可能な他のファンクションと同様に、これらの選択リストのファンクションは、F01からF50のフォームの配列要素でフォームを生成するように設計されています。

構文

APEX_ITEM.SELECT_LIST_FROM_QUERY(
    p_idx           IN    NUMBER,
    p_value         IN    VARCHAR2 DEFAULT,
    p_query         IN    VARCHAR2,
    p_attributes    IN    VARCHAR2 DEFAULT,
    p_show_null     IN    VARCHAR2 DEFAULT,
    p_null_value    IN    VARCHAR2 DEFAULT,
    p_null_text     IN    VARCHAR2 DEFAULT,
    p_item_id       IN    VARCHAR2 DEFAULT,
    p_item_label    IN    VARCHAR2 DEFAULT,
    p_show_extra    IN    VARCHAR2 DEFAULT)
    RETURN VARCHAR2;

パラメータ

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

表15-90 SELECT_LIST_FROM_QUERYのパラメータ

パラメータ 説明

p_idx

フォーム要素名。たとえば、1F012F02です。通常、p_idxパラメータは指定した列の定数です。

p_value

現在の値。この値はp_queryパラメータの値である必要があります。

p_query

2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。

SELECT dname, deptno FROM dept

これは、SELECT_LIST_FROM_QUERYファンクションのみで使用可能であることに注意してください。

p_attributes

追加するHTMLパラメータ。

p_show_null

NULLの選択を有効にするための追加の選択オプション。値の範囲はYESおよびNOです。

p_null_value

ユーザーがNULLのオプションを選択すると戻される値。p_show_nullYESの場合にのみ使用できます。

p_null_text

ユーザーがNULLのオプションを選択すると表示される値。p_show_nullYESの場合にのみ使用できます。

p_item_id

<input>タグのHTML属性のID。

p_item_label

選択リストのラベル。

p_show_extra

p_valueの値が選択リストで指定されていない場合でも、 現在の値を表示します。


次の例に、SQL問合せに基づく選択リストを示します。

SELECT APEX_ITEM.SELECT_LIST_FROM_QUERY(3,job,'SELECT DISTINCT job FROM emp') 
FROM emp

SELECT_LIST_FROM_QUERY_XLファンクション

このファンクションはSELECT_LIST_FROM_QUERYと同じですが、戻り値はCLOBになります。そのため、4000文字を超える列値を処理する必要があるSQL問合せで使用できます。APEX_ITEMパッケージで使用可能な他のファンクションと同様に、これらの選択リストのファンクションはF01からF50のフォームの配列要素でフォームを生成するように設計されています。

構文

APEX_ITEM.SELECT_LIST_FROM_QUERY_XL(
    p_idx           IN    NUMBER,
    p_value         IN    VARCHAR2 DEFAULT,
    p_query         IN    VARCHAR2,
    p_attributes    IN    VARCHAR2 DEFAULT,
    p_show_null     IN    VARCHAR2 DEFAULT,
    p_null_value    IN    VARCHAR2 DEFAULT,
    p_null_text     IN    VARCHAR2 DEFAULT,
    p_item_id       IN    VARCHAR2 DEFAULT,
    p_item_label    IN    VARCHAR2 DEFAULT,
    p_show_extra    IN    VARCHAR2 DEFAULT)
    RETURN CLOB;

パラメータ

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

表15-91 SELECT_LIST_FROM_QUERY_XLのパラメータ

パラメータ 説明

p_idx

フォーム要素名。たとえば、1F012F02です。通常、p_idxパラメータは指定した列の定数です。

p_value

現在の値。この値はp_queryパラメータの値である必要があります。

p_query

2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。

SELECT dname, deptno FROM dept

これは、SELECT_LIST_FROM_QUERY_XLファンクションのみで使用可能であることに注意してください。

p_attributes

追加するHTMLパラメータ。

p_show_null

NULLの選択を有効にするための追加の選択オプション。値の範囲はYESおよびNOです。

p_null_value

ユーザーがNULLのオプションを選択すると戻される値。p_show_nullYESの場合にのみ使用できます。

p_null_text

ユーザーがNULLのオプションを選択すると表示される値。p_show_nullYESの場合にのみ使用できます。

p_item_id

<input>タグのHTML属性のID。

p_item_label

選択リストのラベル。

p_show_extra

p_valueの値が選択リストで指定されていない場合でも、 現在の値を表示します。


次の例に、SQL問合せに基づく選択リストを示します。

SELECT APEX_ITEM.SELECT_LIST_FROM_QUERY_XL(3,job,'SELECT DISTINCT job FROM emp') 
FROM emp

TEXTAREAファンクション

このファンクションはテキスト領域を作成します。

構文

APEX_ITEM.TEXTAREA(
    p_idx         IN    NUMBER,
    p_value       IN    VARCHAR2 DEFAULT NULL,
    p_rows        IN    NUMBER DEAULT 40,
    p_cols        IN    NUMBER DEFAULT 4
    p_attributes  IN    VARCHAR2 DEFAULT,
    p_item_id     IN    VARCHAR2 DEFAULT NULL,
    p_item_label  IN    VARCHAR2 DEFAULT NULL)
    RETURN VARCHAR2;

パラメータ

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

表15-92 TEXTAREAのパラメータ

パラメータ 説明

p_idx

生成するアイテムの識別番号。この番号によって、どのG_FXXグローバルが移入されるかが決定されます。

参照: 「APEX_APPLICATION」

p_value

テキスト領域アイテムの値。

p_rows

テキスト領域の高さ(HTML行属性)

p_cols

テキスト領域の幅(HTML行属性)。

p_attributes

追加するHTMLパラメータ。

p_item_id

<input>タグのHTML属性のID。

p_item_label

テキスト領域アイテムのラベル。


次の例に、SQL問合せに基づくテキスト領域を作成する方法を示します。

SELECT APEX_ITEM.TEXTAREA(3,ename,5,80) a
FROM emp

TEXTファンクション

このファンクションは、SQL問合せからテキスト・フィールド(またはテキスト入力フォーム・アイテム)を生成します。

構文

APEX_ITEM.TEXT(
    p_idx         IN    NUMBER,
    p_value       IN    VARCHAR2 DEFAULT NULL,
    p_size        IN    NUMBER DEFAULT NULL,
    p_maxlength   IN    NUMBER DEFAULT NULL,
    p_attributes  IN    VARCHAR2 DEFAULT NULL,
    p_item_id     IN    VARCHAR2 DEFAULT NULL,
    p_item_label  IN    VARCHAR2 DEFAULT NULL)

パラメータ

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

表15-93 TEXTのパラメータ

パラメータ 説明

p_idx

生成するアイテムの識別番号。この番号によって、どのG_FXXグローバルが移入されるかが決定されます。

参照: 「APEX_APPLICATION」

p_value

テキスト・フィールド・アイテムの値。

p_size

HTMLタグ属性を制御(無効にするなど)します。

p_maxlength

テキスト・ボックスに入力可能な最大文字数。

p_attributes

追加するHTMLパラメータ。

p_item_id

<input>タグのHTML属性のID。

p_item_label

テキスト・フィールド・アイテムのラベル。


次の問合せの例に、各行に1つの更新フィールドを生成する方法を示します。enamesalおよびcomm列ではAPEX_ITEM.TEXTファンクションを使用して、各行にHTMLテキスト・フィールドを生成します。また、各列がそれぞれの配列に格納されるように問合せ内の各アイテムに一意のp_idxパラメータが渡されることに注意してください。

SELECT 
  empno, 
  APEX_ITEM.HIDDEN(1,empno)||
  APEX_ITEM.TEXT(2,ename) ename, 
  APEX_ITEM.TEXT(3,job) job, 
  mgr, 
  APEX_ITEM.DATE_POPUP(4,rownum,hiredate,'dd-mon-yyyy') hiredate,
  APEX_ITEM.TEXT(5,sal) sal, 
  APEX_ITEM.TEXT(6,comm) comm,
  deptno
FROM emp
ORDER BY 1

TEXT_FROM_LOVファンクション

このファンクションを使用して、アイテムをテキストとして表示します。そのテキストは、名前付きLOVの表示値を導出します。

構文

APEX_ITEM.TEXT_FROM_LOV (
    p_value       IN    VARCHAR2 DEFAULT NULL,
    p_lov         IN    VARCHAR2,
    p_null_text   IN    VARCHAR2 DEFAULT '%')
    RETURN VARCHAR2;

パラメータ

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

表15-94 TEXT_FROM_LOVのパラメータ

パラメータ 説明

p_value

フィールド・アイテムの値。

p_valueが値のリストで指定されていない場合、p_null_textが表示される値になることに注意してください。

p_lov

共有LOVのテキストの名前。このLOVはアプリケーションで定義する必要があります。

p_null_text

フィールド・アイテムの値がNULLの場合に表示される値


次の例では、名前付きLOV(EMPNO_ENAME_LOV)から表示値を導出する方法を示します。

SELECT APEX_ITEM.TEXT_FROM_LOV(empno,'EMPNO_ENAME_LOV') c FROM emp

TEXT_FROM_LOV_QUERYファンクション

このファンクションを使用して、アイテムをテキストとして表示します。そのテキストは、LOV問合せから表示値を導出します。

構文

APEX_ITEM.TEXT_FROM_LOV_QUERY (
    p_value       IN    VARCHAR2 DEFAULT NULL,
    p_query       IN    VARCHAR2,
    p_null_text   IN    VARCHAR2 DEFAULT '%')
    RETURN VARCHAR2;

パラメータ

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

表15-95 TEXT_FROM_LOV_QUERYのパラメータ

パラメータ 説明

p_value

フィールド・アイテムの値。

p_query

2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。

SELECT dname, deptno FROM dept

p_null_text

フィールド・アイテムの値がNULLの場合、または対応するエントリがLOV問合せの値p_valueで指定されていない場合に表示される値。


次の例では、問合せから表示値を導出する方法を示します。

SELECT APEX_ITEM.TEXT_FROM_LOV_QUERY(empno,'SELECT ename, empno FROM emp') c from emp

APEX_APPLICATION

APEX_APPLICATIONパッケージは、Oracle Application Expressレンダリング・エンジンを実装するPL/SQLパッケージです。このパッケージを使用すると、多くのグローバル変数を利用できます。表15-96に、APEX_APPLICATIONパッケージで使用可能なグローバル変数を示します。

表15-96 APEX_APPLICATIONで使用可能なグローバル変数

グローバル変数 説明

G_USER

現在ログインしているユーザーを指定します。

G_FLOW_ID

現在実行されているアプリケーションのIDを指定します。

G_FLOW_STEP_ID

現在実行されているページのIDを指定します。

G_FLOW_OWNER

現在実行されているアプリケーションの解析対象のスキーマを指定します。

G_REQUEST

表示または受入れモジュールに最後に渡されるか、あるいは表示または受入れモジュール内に最後に設定されるリクエスト変数の値を指定します。


このセクションの構成は次のとおりです。

配列の参照

通常、アイテムは、テキスト・フィールド、選択リスト、チェック・ボックスなどのHTMLフォーム要素です。ウィザードを使用して新しいフォーム・アイテムを作成する場合、ウィザードは標準のネーミング形式を使用します。ネーミング形式ではハンドルが提供されるため、後でアイテムの値を取得できます。

独自のアイテムを作成する必要がある場合、ページを送信した後にAPEX_APPLICATION.G_F01からAPEX_APPLICATION.G_F50配列を参照してそれらにアクセスできます。F01F02F03などの形式を使用して入力パラメータを入力することによって、独自のHTMLフォーム・フィールドを作成できます。最大50個の入力パラメータ(F01からF50まで)を作成できます。次に例を示します。

<INPUT TYPE="text" NAME="F01" SIZE="32" MAXLENGTH="32" VALUE="some value">
 
<TEXTAREA NAME="F02" ROWS=4 COLS=90 WRAP="VIRTUAL">this is the example of a text area.</TEXTAREA>
 
<SELECT NAME="F03" SIZE="1">
<OPTION VALUE="abc">abc
<OPTION VALUE="123">123
</SELECT> 

F01からF50の入力アイテムはPL/SQL配列として宣言されるため、複数のアイテムに同じ値を指定できます。次に例を示します。

<INPUT TYPE="text" NAME="F01" SIZE="32" MAXLENGTH="32" VALUE="array element 1">
<INPUT TYPE="text" NAME="F01" SIZE="32" MAXLENGTH="32" VALUE="array element 2">
<INPUT TYPE="text" NAME="F01" SIZE="32" MAXLENGTH="32" VALUE="array element 3">

次のPL/SQLコードにより、前述の例と同一のHTMLを作成できます。

FOR i IN 1..3 LOOP
APEX_ITEM.TEXT(P_IDX        => 1,
 p_value      =>'array element '||i ,
 p_size       =>32,
 p_maxlength  =>32);
END LOOP;

送信時プロセス内の値の参照

PL/SQL変数APEX_APPLICATION.G_F01からAPEX_APPLICATION.G_F50を使用して、HTMLフォームによってポストされた値を参照できます。この要素は配列のため、値を直接参照できます。次に例を示します。

FOR i IN 1.. APEX_APPLICATION.G_F01.COUNT LOOP 
    htp.p('element '||I||' has a value of '||APEX_APPLICATION.G_F01(i)); 
END LOOP;

APEX_ITEM.CHECKBOXを使用して表示したチェック・ボックスには、選択されている行に対してのみAPEX_APPLICATION配列の値が含まれることに注意してください。送信したすべての行に対応するAPEX_APPLICATION配列のエントリを含めることができる他のアイテム(TEXT、TEXTAREA、DATE_POPUP)と異なり、チェック・ボックスには、行が選択されている場合にのみAPEX_APPLICATION配列のエントリが含まれます。

配列の単一値への変換

Oracle Application Expressパブリック・ユーティリティの機能を使用して、配列を単一値に変換することもできます。変換後の文字列は、配列要素の値がコロンで区切られたリストです。次に例を示します。

htp.p(APEX_UTIL.TABLE_TO_STRING(APEX_APPLICATION.G_F01));

このファンクションを使用すると、データに対して操作を実行するアプリケーション・プロセスで、G_F01からG_F50の値を参照できます。次の例に、表に値を挿入する方法を示します。

INSERT INTO my_table (my_column) VALUES 
APEX_UTIL.TABLE_TO_STRING(APEX_APPLICATION.G_F01)

APEX_CUSTOM_AUTH

APEX_CUSTOM_AUTHパッケージを使用すると、認証およびセッション管理に関連する様々な操作を実行できます。

このセクションの構成は次のとおりです。

APPLICATION_PAGE_ITEM_EXISTSファンクション

このファンクションは、アプリケーション内のページ・レベル・アイテムの存在を確認します。このファンクションでは、パラメータp_item_nameが必要です。このファンクションはブール値(trueまたはfalse)を戻します。

構文

FUNCTION APPLICATION_PAGE_ITEM_EXISTS(
    p_item_name   IN    VARCHAR2)
RETURN BOOLEAN;

CURRENT_PAGE_IS_PUBLICファンクション

このファンクションは、カレント・ページの認証属性がパブリック・ページに設定されているかどうかを確認し、ブール値(trueまたはfalse)を戻します。


参照:

このページ属性の設定については、「ページ属性の編集」および「セキュリティ」を参照してください。

構文

FUNCTION CURRENT_PAGE_IS_PUBLIC 
RETURN BOOLEAN;

DEFINE_USER_SESSIONプロシージャ

このプロシージャは、SET_USERおよびSET_SESSION_IDファンクションを組み合せて、1回のコールに結合します。

構文

PROCEDURE DEFINE_USER_SESSION(
    p_user         IN    VARCHAR2)
    p_session_id   IN    NUMBER);

GET_COOKIE_PROPSプロシージャ

このプロシージャは、指定したアプリケーションのカレント認証スキームで使用されるセッションCookieのプロパティを取得します。これらのプロパティは、認証スキーム属性を表示することによって、アプリケーション・ビルダーに直接表示できます。

構文

APEX_CUSTOM_AUTH.GET_COOKIE_PROPS(
 p_app_id                       IN  NUMBER,
 p_cookie_name                  OUT VARCHAR2,
 p_cookie_path                  OUT VARCHAR2,
 p_cookie_domain                OUT VARCHAR2);

パラメータ

表15-97に、GET_COOKIE_PROPSプロシージャで使用可能なパラメータを示します。

表15-97 GET_COOKIE_PROPSのパラメータ

パラメータ 説明

p_app_id

現行の作業領域のアプリケーションIDです。

p_cookie_name

Cookie名です。

p_cookie_path

Cookieパスです。

p_cookie_domain

Cookieドメインです。


DECLARE
    l_cookie_name   varchar2(256);
    l_cookie_path   varchar2(256);
    l_cookie_domain varchar2(256);
BEGIN
APEX_CUSTOM_AUTH.GET_COOKIE_PROPS (
    p _cookie_name   => l_cookie_name,
    p _cookie_path   => l_cookie_path,
    p _cookie_domain => l_cookie_domain);
END;

GET_LDAP_PROPSプロシージャ

このプロシージャは、カレント・アプリケーションのカレント認証スキームのLDAP属性を取得します。これらのプロパティは、認証スキーム属性を表示することによって、アプリケーション・ビルダーに直接表示できます。

構文

APEX_CUSTOM_AUTH.GET_LDAP_PROPS(
 p_ldap_host                OUT VARCHAR2,
 p_ldap_port                OUT NUMBER,
 p_ldap_dn                  OUT VARCHAR2,
 p_ldap_edit_function       OUT VARCHAR2);

パラメータ

表15-98に、GET_LDAP_PROPSプロシージャで使用可能なパラメータを示します。

表15-98 GET_LDAP_PROPSのパラメータ

パラメータ 説明

p_ldap_host

LDAPホスト名です。

p_ldap_port

LDAPポート番号です。

p_ldap_dn

LDAP DN文字列です。

p_ldap_edit_function

LDAP編集ファンクション名です。


DECLARE
    l_ldap_host          varchar2(256);
    l_ldap_port          number;
    l_ldap_dn            varchar2(256);
    l_ldap_edit_function varchar2(256);
BEGIN
APEX_CUSTOM_AUTH.GET_LDAP_PROPS (
    p_ldap_host       => l_ldap_host,
    p_ldap_port       => l_ldap_port,
    p_ldap_dn         => l_ldap_dn,'
    p_ldap_edit_function => l_ldap_edit_function);
END;

GET_NEXT_SESSION_IDファンクション

このファンクションは、Oracle Application Expressシーケンス・ジェネレータから次のセッションIDを生成します。このファンクションは数値を戻します。

構文

FUNCTION GET_NEXT_SESSION_ID 
RETURN NUMBER;

GET_SESSION_ID_FROM_COOKIEファンクション

このファンクションは、現行のブラウザ・セッションのページ・リクエストのコンテキストでセッションCookieによって検索されたOracle Application ExpressのセッションIDを戻します。

構文

APEX_CUSTOM_AUTH.GET_SESSION_ID_FROM_COOKIE
RETURN NUMBER;

DECLARE VAL NUMBER;
BEGIN
  VAL := APEX_CUSTOM_AUTH.GET_SESSION_ID_FROM_COOKIE;
END;

GET_USERNAMEファンクション

このファンクションは、内部セッション表の現行のOracle Application Expressセッションに登録されたユーザー名を戻します。通常、このユーザー名は、カレント・ページを実行している認証されたユーザーと同じ名前です。

構文

APEX_CUSTOM_AUTH.GET_USERNAME
RETURN VARCHAR2;

DECLARE VAL VARCHAR2(256);
BEGIN
  VAL := APEX_CUSTOM_AUTH.GET_USERNAME;
END;

GET_SECURITY_GROUP_IDファンクション

このファンクションは、カレント・ユーザーの作業領域を示すセキュリティ・グループIDの数値を戻します。

構文

FUNCTION GET_SECURITY_GROUP_ID 
RETURN NUMBER;

GET_SESSION_IDファンクション

このファンクションは、APEX_APPLICATION.G_INSTANCEグローバル変数を戻します。GET_SESSION_IDは数値を戻します。

構文

PROCEDURE GET_SESSION_ID 
RETURN NUMBER;

GET_USERファンクション

このファンクションは、APEX_APPLICATION.G_USERグローバル変数(VARCHAR2)を戻します。

構文

FUNCTION GET_USER 
RETURN VARCHAR2;

IS_SESSION_VALIDファンクション

このファンクションは、有効なセッションが存在するかどうかを確認するカレント・アプリケーションの認証スキームを実行することによって取得されるブール結果を戻します。認証スキーマのページ・エントリのブール結果を戻します。

構文

APEX_CUSTOM_AUTH.IS_SESSION_VALID
RETURN BOOLEAN;

DECLARE VAL BOOLEAN;
BEGIN
  VAL := APEX_CUSTOM_AUTH.IS_SESSION_VALID;
END;

LOGINプロシージャ

「ログインAPI」とも呼ばれるこのプロシージャは、認証およびセッションの登録を実行します。

構文

APEX_CUSTOM_AUTH.LOGIN(
 p_uname                    IN  VARCHAR2,
 p_password                 IN  VARCHAR2,
 p_session_id               IN  VARCHAR2,
 p_app_page                 IN  VARCHAR2,
 p_entry_point              IN  VARCHAR2,
 p_preserve_case            IN  BOOLEAN);

パラメータ

表15-99に、LOGINプロシージャで使用可能なパラメータを示します。

表15-99 LOGINのパラメータ

パラメータ 説明

p_uname

ユーザーのログイン名です。

p_password

クリア・テキストのユーザー・パスワードです。

p_session_id

現行のOracle Application ExpressセッションID。

p_app_page

カレント・アプリケーションIDです。ログイン・ページの後にコロン(:)で区切って指定します。

p_entry_point

内部でのみ使用します。

p_preserve_case

trueの場合は、セッションの登録時にp_unameを大文字で指定しないでください。


BEGIN
APEX_CUSTOM_AUTH.LOGIN (
    p_uname       => 'SCOTT',
    p_password    => 'secret99',
    p_session_id  => V('APP_SESSION'),
    p_app_page    => :APP_ID||':1');
END;

注意:

p_session_id引数にバインド変数表記は使用しないでください。

LOGOUTプロシージャ

このプロシージャは、セッションCookieの設定解除および新しい位置へのリダイレクトを行うことによって、カレント・セッションからのログアウトを実行します。

構文

APEX_CUSTOM_AUTH.LOGOUT(
 p_this_app                   IN VARCHAR2,
 p_next_app_page_sess         IN VARCHAR2,
 p_next_url                   IN VARCHAR2);

パラメータ

表15-100に、LOGOUTプロシージャで使用可能なパラメータを示します。

表15-100 LOGOUTのパラメータ

パラメータ 説明

p_this_app

カレント・アプリケーションIDです。

p_next_app_page_sess

リダイレクト先のアプリケーションおよびページ番号です。複数のページをコロン(:)で区切って指定します。また、セッションIDの制御が必要な場合は、オプションでこれらのページの後にコロン(:)、続けてセッションIDを指定します。

p_next_url

リダイレクト先のURLです(p_next_app_page_sessのかわりに使用します)。


BEGIN
APEX_CUSTOM_AUTH.LOGOUT (
    p_this_app            => '1000',
    p_next_app_page_sess  => '1000:99');
END;

POST_LOGINプロシージャ

認証ステップが完了している場合、このプロシージャはセッションの登録を実行します。Oracle Application Expressアプリケーション・ページのコンテキスト内からのみコールできます。

構文

APEX_CUSTOM_AUTH.POST_LOGIN(
 p_uname                    IN  VARCHAR2,
 p_session_id               IN  VARCHAR2,
 p_app_page                 IN  VARCHAR2,
 p_preserve_case            IN  BOOLEAN);

パラメータ

表15-101に、POST_LOGINプロシージャで使用可能なパラメータを示します。

表15-101 POST_LOGINのパラメータ

パラメータ 説明

p_uname

ユーザーのログイン名です。

p_session_id

現行のOracle Application ExpressセッションID。

p_app_page

カレント・アプリケーションIDです。ログイン・ページの後にコロン(:)で区切って指定します。

p_preserve_case

trueの場合は、セッションの登録時にp_unameを大文字で指定しないでください。


BEGIN
APEX_CUSTOM_AUTH.POST_LOGIN (
    p_uname       => 'SCOTT',
    p_session_id  => V('APP_SESSION'),
    p_app_page    => :APP_ID||':1');
END;

SESSION_ID_EXISTSファンクション

このファンクションは、現行のOracle Application ExpressセッションIDを含むグローバル・パッケージ変数に基づいてブール結果を戻します。結果が正の数の場合はtrueを戻します。結果が負の数の場合はfalseを戻します。

構文

FUNCTION SESSION_ID_EXISTS 
RETURN BOOLEAN;

DECLARE VAL BOOLEAN; 
BEGIN
  VAL := APEX_CUSTOM_AUTH.SESSION_ID_EXISTS;
END;

SET_USERプロシージャ

このプロシージャは、APEX_APPLICATION.G_USERグローバル変数を設定します。SET_USERには、ユーザーIDを定義するパラメータP_USERVARCHAR2)が必要です。

構文

PROCEDURE SET_USER(
    p_user   IN    VARCHAR2)

SET_SESSION_IDプロシージャ

このプロシージャは、APEX_APPLICATION.G_INSTANCEグローバル変数を設定します。SET_SESSION_IDは数値を戻します。このプロシージャには、セッションIDを指定するパラメータP_SESSION_IDNUMBER)が必要です。

構文

PROCEDURE SET_SESSION_ID( 
    p_session_id    IN    NUMBER)

SET_SESSION_ID_TO_NEXT_VALUEプロシージャ

このプロシージャは、GET_NEXT_SESSION_IDおよびSET_SESSION_IDの操作を1回のコールに結合します。

構文

PROCEDURE SET_SESSION_ID_TO_NEXT_VALUE;

APEX_LDAP

APEX_LDAPを使用すると、Lightweight Directory Access Protocol(LDAP)認証に関連する様々な操作を実行できます。

このセクションの構成は次のとおりです。

AUTHENTICATEファンクション

AUTHENTICATEファンクションは、指定した検索ベース、ホストおよびポートを使用して、SIMPLE_BIND_Sコールを実行するためにユーザー名およびパスワードを使用できる場合、ブール値TRUEを戻します。

構文

FUNCTION AUTHENTICATE(
    p_username     IN VARCHAR2 DEFAULT NULL,
    p_password     IN VARCHAR2 DEFAULT NULL,
    p_search_base  IN VARCHAR2,
    p_host         IN VARCHAR2,
    p_port         IN VARCHAR2 DEFAULT 389)
RETURN BOOLEAN;

パラメータ

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

表15-102 AUTHENTICATEのパラメータ

パラメータ 説明

p_username

ユーザーのログイン名です。

p_password

p_usernameのパスワード。

p_search_base

LDAP検索ベース。たとえば、dc=users,dc=my,dc=orgなど。

p_host

LDAPサーバーのホスト名。

p_port

LDAPサーバーのポート番号。


IF APEX_LDAP.AUTHENTICATE(
  p_username =>'FIRSTNAME.LASTNAME',
  p_password =>'abcdef',
  p_search_base => 'cn=user,l=amer,dc=my_company,dc=com',
  p_host => 'our_ldap_sever.my_company.com',
  p_port => 389) THEN
--
 dbms_output.put_line('authenticated');
ELSE
    dbms_output.put_line('authentication failed');
END IF; 

IS_MEMBERファンクション

IS_MEMBERファンクションは、p_username(および必要に応じてパスワード)によって指定したユーザーが、指定されている認証ベース、ホストおよびポートを使用してp_groupおよびp_group_baseパラメータによって指定したグループのメンバーである場合、ブール値trueを戻します。

構文

FUNCTION IS_MEMBER(
    p_username     IN VARCHAR2 DEFAULT NULL,
    p_pass         IN VARCHAR2 DEFAULT NULL,
    p_auth_base    IN VARCHAR2,
    p_host         IN VARCHAR2,
    p_port         IN VARCHAR2 DEFAULT 389,
    p_group        IN VARCHAR2,
    p_group_base   IN VARCHAR2)
RETURN BOOLEAN;

パラメータ

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

表15-103 IS_MEMBERのパラメータ

パラメータ 説明

p_username

ユーザーのログイン名です。

p_pass

p_usernameのパスワード。

p_auth_base

LDAP検索ベース。たとえば、dc=users,dc=my,dc=orgなど。

p_host

LDAPサーバーのホスト名。

p_port

LDAPサーバーのポート番号。

p_group

メンバーシップを検索するグループ名。

p_group_base

検索を開始するベース。


MEMBER_OFファンクション

MEMBER_OFファンクションは、指定した認証ベース、ホストおよびポートを使用して、p_username(および必要に応じてパスワード)によって指定されたユーザー名が属するグループの配列を戻します。

構文

FUNCTION MEMBER_OF(
    p_username     IN VARCHAR2 DEFAULT NULL,
    p_pass         IN VARCHAR2 DEFAULT NULL,
    p_auth_base    IN VARCHAR2,
    p_host         IN VARCHAR2,
    p_port         IN VARCHAR2 DEFAULT 389)
RETURN wwv_flow_global.vc_arr2;

パラメータ

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

表15-104 MEMBER_OFのパラメータ

パラメータ 説明

p_username

ユーザーのログイン名です。

p_pass

p_usernameのパスワード。

p_auth_base

LDAP検索ベース。たとえば、dc=users,dc=my,dc=orgなど。

p_host

LDAPサーバーのホスト名。

p_port

LDAPサーバーのポート番号。


MEMBER_OF2ファンクション

MEMBER_OF2ファンクションは、指定した認証ベース、ホストおよびポートを使用して、p_username(および必要に応じてパスワード)によって指定されたユーザー名が属するグループのVARCHAR2リストを戻します。

構文

FUNCTION MEMBER_OF2(
    p_username     IN VARCHAR2 DEFAULT NULL,
    p_pass         IN VARCHAR2 DEFAULT NULL,
    p_auth_base    IN VARCHAR2,
    p_host         IN VARCHAR2,
    p_port         IN VARCHAR2 DEFAULT 389)
RETURN VARCHAR2;

パラメータ

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

表15-105 MEMBER_OF2のパラメータ

パラメータ 説明

p_username

ユーザーのログイン名です。

p_pass

p_usernameのパスワード。

p_auth_base

LDAP検索ベース。たとえば、dc=users,dc=my,dc=orgなど。

p_host

LDAPサーバーのホスト名。

p_port

LDAPサーバーのポート番号。


GET_USER_ATTRIBUTESプロシージャ

GET_USER_ATTRIBUTESプロシージャは、指定した認証ベース、ホストおよびポートを使用して、p_attributesによって指定された属性名に対応するp_username(および必要に応じてパスワード)によって指定されたユーザー名に対するuser_attribute値のOUT配列を戻します。

構文

PROCEDURE GET_USER_ATTRIBUTES(
    p_username          IN VARCHAR2 DEFAULT NULL,
    p_pass              IN VARCHAR2 DEFAULT NULL,
    p_auth_base         IN VARCHAR2,
    p_host              IN VARCHAR2,
    p_port              IN VARCHAR2 DEFAULT 389,
    p_attributes        IN  wwv_flow_global.vc_arr2,
    p_attribute_values  OUT wwv_flow_global.vc_arr2);

パラメータ

表15-106に、GET_USER_ATTRIBUTESプロシージャで使用可能なパラメータを示します。

表15-106 GET_USER_ATTRIBUTESのパラメータ

パラメータ 説明

p_username

ユーザーのログイン名です。

p_pass

p_usernameのパスワード。

p_auth_base

LDAP検索ベース。たとえば、dc=users,dc=my,dc=orgなど。

p_host

LDAPサーバーのホスト名。

p_port

LDAPサーバーのポート番号。

p_attributes

戻される値の属性名の配列。

p_attribute_values

p_attributesの各属性名に対応して戻される値の配列。


GET_ALL_USER_ATTRIBUTESプロシージャ

GET_ALL_USER_ATTRIBUTESプロシージャは、指定した認証ベース、ホストおよびポートを使用して、p_username(および必要に応じてパスワード)によって指定されたユーザー名に対するuser_attributeの名前と値の2つのOUT配列を戻します。

構文

PROCEDURE GET_ALL_USER_ATTRIBUTES(
    p_username          IN VARCHAR2 DEFAULT NULL,
    p_pass              IN VARCHAR2 DEFAULT NULL,
    p_auth_base         IN VARCHAR2,
    p_host              IN VARCHAR2,
    p_port              IN VARCHAR2 DEFAULT 389,
    p_attributes        OUT  wwv_flow_global.vc_arr2,
    p_attribute_values  OUT wwv_flow_global.vc_arr2);

パラメータ

表15-107に、GET_ALL_USER_ATTRIBUTESプロシージャで使用可能なパラメータを示します。

表15-107 GET_ALL_USER_ATTRIBUTESのパラメータ

パラメータ 説明

p_username

ユーザーのログイン名です。

p_pass

p_usernameのパスワード。

p_auth_base

LDAP検索ベース。たとえば、dc=users,dc=my,dc=orgなど。

p_host

LDAPサーバーのホスト名。

p_port

LDAPサーバーのポート番号。

p_attributes

戻される属性名の配列。

p_attribute_values

p_attributesの各属性名に対応して戻される値の配列。