このセクションでは、Oracle Application Expressで使用可能なAPIについて説明します。
注意: リリース2.2では、Oracle Application ExpressのAPIは、接頭辞APEX_ によってリネームされました。APIの以前の接頭辞HTMLDB_ も、下位互換性のためにサポートされます。ただし、Oracle Application Expressの旧バージョンでAPIを実行する場合を除き、新規アプリケーションでは新しいAPI名を使用することをお薦めします。 |
このセクションの内容は次のとおりです。
APEX_UTIL
パッケージは、Oracle Application Express環境でプログラミングする際に使用可能なユーティリティを提供します。APEX_UTIL
パッケージを使用すると、セッション・ステートの取得と設定、ファイルの取得、ユーザーの認可の確認、ユーザーへの別のステートの再設定、およびユーザーのプリファレンスの取得と設定を行うことができます。
このセクションの構成は次のとおりです。
このプロシージャは、Application Expressユーザー・アカウントが使用中であることを前提として、現在認証されているユーザーのパスワードを変更します。
構文
APEX_UTIL.CHANGE_CURRENT_USER_PW( p_new_password IN VARCHAR2);
パラメータ
表15-1に、CHANGE_CURRENT_USER_PW
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.CHANGE_CURRENT_USER_PW ('secret99'); END;
このプロシージャは、ページがユーザーにキャッシュされるように設定されていない場合、指定したアプリケーション・ページがコールを発行したユーザーまたはすべてのユーザーのいずれかに対してキャッシュされた時間および日付を戻します。
構文
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
プロシージャで使用可能なパラメータを示します。
このプロシージャは、ページがユーザーにキャッシュされるように設定されていない場合、指定したリージョンがコールを発行したユーザーまたはすべてのユーザーのいずれかに対してキャッシュされた日付および時間を戻します。
構文
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
プロシージャで使用可能なパラメータを示します。
このプロシージャは、特定のアプリケーションのすべてのキャッシュされたページおよびリージョンを削除します。
構文
APEX_UTIL.CACHE_PURGE_BY_APPLICATION ( p_application IN NUMBER;
パラメータ
表15-4に、CACHE_PURGE_BY_APPLICATION
プロシージャで使用可能なパラメータを示します。
このプロシージャは、特定のアプリケーションおよびページのすべてのキャッシュされたページおよびリージョンを削除します。
構文
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
プロシージャで使用可能なパラメータを示します。
このプロシージャは、定義済のアクティブな期間を渡した指定したアプリケーションに対してキャッシュされたページおよびリージョンすべてを削除します。ページまたはリージョンをキャッシュする際、アクティブな期間(または「キャッシュ・タイムアウト」)を指定します。一度期間が経過するとキャッシュは使用されなくなるため、キャッシュから使用できないページまたはリージョンを削除します。
構文
APEX_UTIL.CACHE_PURGE_STALE ( p_application IN NUMBER,
パラメータ
表15-6に、CACHE_PURGE_STALE
プロシージャで使用可能なパラメータを示します。
このプロパティがエンド・ユーザー・アカウントに対して有効か無効かを、管理者がチェックできるようにします。このファンクションは、パスワードが初期設定されてユーザーの編集ページの「管理サービス」で変更された後に、アカウント・パスワードを初回使用時に変更する必要がある場合(認証成功後)、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
ファンクションを使用する方法を示します。このファンクションを使用して、現行の作業領域における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;
このプロシージャは、カレント・セッションに指定したアプリケーションのセッション・ステートを削除します。
構文
APEX_UTIL.CLEAR_APP_CACHE ( p_app_id IN VARCHAR2 DEFAULT NULL);
パラメータ
表15-8に、CLEAR_APP_CACHE
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.CLEAR_APP_CACHE('100'); END;
このプロシージャは、カレント・セッションに指定したページのセッション・ステートを削除します。
構文
APEX_UTIL.CLEAR_PAGE_CACHE ( p_page IN NUMBER DEFAULT NULL);
パラメータ
表15-9に、CLEAR_PAGE_CACHE
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.CLEAR_PAGE_CACHE('10'); END;
このプロシージャは、カレント・ユーザー・セッションのセッション・ステートおよびアプリケーション・システムのプリファレンスを削除します。セッションIDを再利用し、既存のセッション・ステートを使用せずにアプリケーションを実行する場合にこのプロシージャを実行します。
構文
APEX_UTIL.CLEAR_USER_CACHE;
パラメータ
なし。
例
BEGIN APEX_UTIL.CLEAR_USER_CACHE; END;
このプロシージャは、アプリケーション・ビルダーに組み込まれたアプリケーションから外部サイトへのクリックをカウントします。また、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のパラメータ
パラメータ | 説明 |
---|---|
|
リダイレクト先のURL |
|
クリックを分類するためのカテゴリ |
|
クリックに関連付けられたセカンダリID(オプション) |
|
アプリケーション・ユーザーID(オプション) |
|
アプリケーションに関連付けられた作業領域(オプション) |
例
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です。
期限切れのリージョンの数をカウントします。
構文
APEX_UTIL.COUNT_STALE_REGIONS ( p_application IN NUMBER, RETURN NUMBER;
パラメータ
表15-11に、COUNT_STALE_REGIONS
で使用可能なパラメータを示します。
このプロシージャは、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プロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ユーザー・アカウントの数値の主キー |
|
ログインに使用する英数字の名前 |
|
情報 |
|
情報 |
|
情報 |
|
電子メール・アドレス |
|
クリア・テキストのパスワード |
|
コロンで区切られた数値のグループIDのリスト |
|
APIを使用してアクセスできる任意のテキスト |
例
BEGIN APEX_UTIL.CREATE_USER P_USER_NAME => 'NEWUSER1', P_WEB_PASSWORD => 'secret99'); END;
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のパラメータ
パラメータ | 説明 |
---|---|
|
グループの主キー |
|
任意の名前 |
|
作業領域ID |
|
説明テキスト |
例
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;
このファンクションは、カレント・ユーザーが指定したグループのメンバーかどうかに基づいてブール結果を戻します。グループの指定には、グループ名またはグループ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のパラメータ
パラメータ | 説明 |
---|---|
|
作業領域内の既存グループの名前を指定します。 |
|
作業領域内の既存グループの数値のIDを指定します。 |
例
DECLARE VAL BOOLEAN; BEGIN VAL := APEX_UTIL.CURRENT_USER_IN_GROUP(p_group_name=>'Managers'); END;
このプロシージャを使用すると、ユーザー・アカウント・レコードを変更できます。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
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のパラメータ
パラメータ | 説明 |
---|---|
|
ユーザー・アカウントの数値の主キー |
|
ログインに使用する英数字の名前 |
|
情報 |
|
情報 |
|
クリア・テキストのパスワード |
|
未使用 |
|
未使用 |
|
未使用 |
|
ユーザーの作業領域に割り当てられ、ユーザーによるアクセスが制限されているスキーマのリスト |
|
未使用 |
|
ユーザーの作業領域に割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ |
|
コロンで区切られた数値のグループIDのリスト |
|
コロンで区切られた開発者権限のリスト(Application ExpressではADMIN:のみが有効) |
|
情報 |
エンド・ユーザー・アカウント・パスワードの期限が切れるまでの残りの日数を返します。このファンクションは、すべての認証済ユーザーのページ・リクエストのコンテキストで実行される可能性があります。
構文
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
ファンクションを使用する方法を示します。このファンクションを使用して、現行の作業領域の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;
作業領域エンド・ユーザーとして使用するログイン・アカウントを期限切れにします。これは、ページ・リクエストのコンテキストで認証済作業領域管理者によって実行される必要があります。
構文
APEX_UTIL.EXPIRE_END_USER_ACCOUNT ( p_user_name IN VARCHAR2 );
パラメータ
表15-17に、EXPIRE_END_USER_ACCOUNT
プロシージャで使用可能なパラメータを示します。
例
次の例に、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;
開発者または作業領域管理者のログイン・アカウントを期限切れにします。これは、ページ・リクエストのコンテキストで認証済作業領域管理者によって実行される必要があります。
構文
APEX_UTIL.EXPIRE_WORKSPACE_ACCOUNT ( p_user_name IN VARCHAR2 );
パラメータ
表15-18に、EXPIRE_WORKSPACE_ACCOUNT
プロシージャで使用可能なパラメータを示します。
例
次の例に、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;
このプロシージャはページからコールされると、現行の作業領域の定義、作業領域ユーザーおよび作業領域グループのエクスポート・ファイルを作成します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
APEX_UTIL.EXPORT_USERS( p_export_format in VARCHAR2 DEFAULT 'UNIX')
パラメータ
表15-19に、EXPORT_USERS
プロシージャで使用可能なパラメータを示します。
表15-19 EXPORT_USERSのパラメータ
パラメータ | 説明 |
---|---|
|
エクスポート・ファイルの行を形式化する方法を指定します。 |
例
BEGIN APEX_UTIL.EXPORT_USERS; END;
このファンクションは、カレント・セッションまたは指定したセッション内のカレント・アプリケーションまたは指定したアプリケーションのセッション・ステートをフェッチします。
構文
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のパラメータ
パラメータ | 説明 |
---|---|
|
現行の値がフェッチされるアプリケーション・レベル・アイテム(ページ・アイテムではない)の名前 |
|
アイテムを所有するアプリケーションのID(カレント・アプリケーションの場合はNULLのまま) |
|
値を取得するセッションID(カレント・セッションの場合はNULLのまま) |
例
DECLARE VAL VARCHAR2(30); BEGIN VAL := APEX_UTIL.FETCH_APP_ITEM (p_item=>'F300_NAME',p_app=>300); END;
このプロシージャは、ユーザー・アカウント・レコードをフェッチします。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
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のパラメータ
パラメータ | 説明 |
---|---|
|
ユーザー・アカウントの数値の主キー |
|
作業領域の名前 |
|
ログインに使用する英数字の名前 |
|
情報 |
|
情報 |
|
情報 |
|
電子メール・アドレス |
|
未使用 |
|
未使用 |
|
未使用 |
|
ユーザーの作業領域に割り当てられ、ユーザーによるアクセスが制限されているスキーマのリスト |
|
未使用 |
|
ユーザーの作業領域に割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ |
|
未使用 |
|
未使用 |
このファンクションは、指定した作業領域の数値のセキュリティ・グループIDを戻します。
構文
APEX_UTIL.FIND_SECURITY_GROUP_ID( p_workspace IN VARCHAR2 RETURN NUMBER;
パラメータ
表15-22に、FIND_SECURITY_GROUP_ID
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL NUMBER; BEGIN VAL := APEX_UTIL.FIND_SECURITY_GROUP_ID (p_workspace=>'DEMOS'); END;
このファンクションは、セキュリティ・グループIDに関連付けられた作業領域名を戻します。
構文
APEX_UTIL.FIND_WORKSPACE( p_security_group_id IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表15-23に、FIND_WORKSPACE
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL NUMBER; BEGIN VAL := APEX_UTIL.FIND_WORKSPACE (p_security_group_id =>'20'); END;
アカウントがロック解除済の場合、およびアカウントがロック済で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
ファンクションを使用する方法を示します。このファンクションを使用して、現行の作業領域の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;
このファンクションは、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のパラメータ
パラメータ | 説明 |
---|---|
|
アカウント内のユーザー名 |
|
ユーザー・レコードの属性番号(1から10) |
例
DECLARE VAL VARCHAR2(30); BEGIN VAL := APEX_UTIL.GET_ATTRIBUTE ( p_username => 'SCOTT', p_attribute_number => 1); END;
このファンクションを使用して、カレント・セッションの認証結果を取得します。すべての認証済ユーザーは、ページ・リクエストのコンテキストでこのファンクションをコールできます。
構文
APEX_UTIL.GET_AUTHENTICATION_RESULT RETURN NUMBER ;
パラメータ
なし。
例
次の例に、アプリケーションの認証スキームの認証後プロセスを使用して、認証時に設定される認証結果コードを取得する方法を示します。
APEX_UTIL.SET_SESSION_STATE('MY_AUTH_STATUS','Authentication result:'||APEX_UTIL.GET_AUTHENTICATION_RESULT);
このファンクションは、カレント・ユーザーの数値のユーザーIDを戻します。
構文
APEX_UTIL.GET_CURRENT_USER_ID RETURN NUMBER;
パラメータ
なし。
例
DECLARE VAL NUMBER; BEGIN VAL := APEX_UTIL.GET_CURRENT_USER_ID; END;
このファンクションは、カレント・ユーザーに関連付けられたデフォルトのスキーマ名を戻します。
構文
APEX_UTIL.GET_DEFAULT_SCHEMA RETURN VARCHAR2;
パラメータ
なし。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL. GET_DEFAULT_SCHEMA; END;
このファンクションは、指定したユーザーに関連付けられた電子メール・アドレスを戻します。
構文
APEX_UTIL.GET_EMAIL( p_username IN VARCHAR2); RETURN VARCHAR2;
パラメータ
表15-26に、GET_EMAIL
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_EMAIL(p_username => 'SCOTT'); END;
このプロシージャは、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のパラメータ
パラメータ | 説明 |
---|---|
|
ダウンロードするファイルの 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; |
|
ダウンロードするファイルのMIMEタイプ |
|
有効値は |
例
BEGIN APEX_UTIL.GET_FILE( p_file_id => '8675309', p_mime_type => 'text/xml', p_inline => 'YES'); END;
このファンクションは、Oracle Application Expressファイル・リポジトリ内のファイルの主キーを取得します。
構文
APEX_UTIL.GET_FILE_ID ( p_fname IN VARCHAR2) RETURN NUMBER;
パラメータ
表15-28に、GET_FILE_ID
ファンクションで使用可能なパラメータを示します。
表15-28 GET_FILE_IDのパラメータ
パラメータ | 説明 |
---|---|
|
ダウンロードするファイルの |
例
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;
このファンクションは、指定したユーザー・アカウント・レコードに格納されるFIRST_NAME
フィールドを戻します。
構文
APEX_UTIL.GET_FIRST_NAME p_username IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表15-29に、GET_FIRST_NAME
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_FIRST_NAME(p_username => 'SCOTT'); END;
このファンクションは、指定したユーザーがメンバーであるグループ名のコロンで区切られたリストを戻します。
構文
APEX_UTIL.GET_GROUPS_USER_BELONGS_TO( p_username IN VARCHAR2); RETURN VARCHAR2;
パラメータ
表15-30に、GET_GROUPS_USER_BELONGS_TO
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_GROUPS_USER_BELONGS_TO(p_username => 'SCOTT'); END;
このファンクションは、作業領域内の指定したグループの数値のIDを戻します。
構文
APEX_UTIL.GET_GROUP_ID( p_group_name) RETURN VARCHAR2;
パラメータ
表15-31に、GET_GROUP_ID
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL NUMBER; BEGIN VAL := APEX_UTIL.GET_GROUP_ID(p_group_name => 'Managers'); END;
このファンクションは、数値のIDで指定したグループの名前を戻します。
構文
APEX_UTIL.GET_GROUP_NAME( p_group_id) RETURN NUMBER;
パラメータ
表15-32に、GET_GROUP_NAME
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_GROUP_NAME(p_group_id => 8922003); END;
このファンクションは、指定したユーザー・アカウント・レコードに格納されるLAST_NAME
フィールドを戻します。
構文
APEX_UTIL.GET_LAST_NAME( p_username IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表15-33に、GET_LAST_NAME
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_LAST_NAME(p_username => 'SCOTT'); END;
このファンクションは、数値のIDで指定したユーザー・アカウントのユーザー名を戻します。
構文
APEX_UTIL.GET_USERNAME( p_userid) RETURN VARCHAR2;
パラメータ
表15-34に、GET_USERNAME
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_USERNAME(p_userid => 228922003); END;
このファンクションは、数値アイテムの数値を戻します。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
ファンクションで使用可能なパラメータを示します。
例
DECLARE l_item_value Number; BEGIN l_item_value := APEX_UTIL.GET_NUMERIC_SESSION_STATE('my_item'); END;
このファンクションは、指定したユーザーについて、以前保存されたプリファレンスの値を取得します。
構文
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のパラメータ
パラメータ | 説明 |
---|---|
|
値を取得するプリファレンスの名前 |
|
プリファレンスの値 |
|
プリファレンスが取得されるユーザー |
例
DECLARE l_default_view VARCHAR2(255); BEGIN l_default_view := APEX_UTIL.GET_PREFERENCE( p_preference => 'default_view', p_user => :APP_USER); END;
このファンクションはアイテムの値を戻します。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
ファンクションで使用可能なパラメータを示します。
例
DECLARE l_item_value VARCHAR2(255); BEGIN l_item_value := APEX_UTIL.GET_SESSION_STATE('my_item'); END;
このファンクションは、作業領域内の指定したユーザーの数値のIDを戻します。
構文
APEX_UTIL.GET_USER_ID( p_username) RETURN VARCHAR2;
パラメータ
表15-38に、GET_USER_ID
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL NUMBER; BEGIN VAL := APEX_UTIL.GET_USER_ID(p_username => 'Managers'); END;
このファンクションは、指定したユーザー・アカウント・レコードに格納されるDEVELOPER_ROLE
フィールドを戻します。
構文
APEX_UTIL.GET_USER_ROLES( p_username IN VARCHAR2); RETURN VARCHAR2;
パラメータ
表15-39に、GET_USER_ROLES
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_USER_ROLES(p_username=>'SCOTT'); END;
このファンクションは、現在の作業領域内の指定したユーザー・アカウントのパスワードの検証に基づいてブール結果を戻します。パスワードが一致した場合は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のパラメータ
パラメータ | 説明 |
---|---|
|
アカウント内のユーザー名 |
|
アカウントに格納されているパスワードと比較されるパスワード |
例
DECLARE VAL BOOLEAN; BEGIN VAL := APEX_UTIL. IS_LOGIN_PASSWORD_VALID ( p_username=>'SCOTT' p_password=>'tiger'); END;
このファンクションは、指定したユーザー・アカウントが作業領域内で一意であるかどうかに基づいてブール結果を戻します。
構文
APEX_UTIL.IS_USERNAME_UNIQUE( p_username IN VARCHAR2) RETURN BOOLEAN;
パラメータ
表15-41に、IS_USERNAME_UNIQUE
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL BOOLEAN; BEGIN VAL := APEX_UTIL.IS_USERNAME_UNIQUE( p_username=>'SCOTT'); END;
このファンクションは、APEX_UTIL.SAVEKEY_NUM
によって設定されたパッケージ変数(wwv_flow_utilities.g_val_num
)の値を取得します。
構文
APEX_UTIL.KEYVAL_NUM;
パラメータ
表15-42に、KEYVAL_NUM
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL BOOLEAN; BEGIN VAL := APEX_UTIL.KEYVAL_NUM; END;
このファンクションは、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;
ユーザーのアカウント・ステータスを「ロック済」に設定します。これは、ページ・リクエストのコンテキストで認証済作業領域管理者によって実行される必要があります。
構文
APEX_UTIL.LOCK_ACCOUNT ( p_user_name IN VARCHAR2 );
パラメータ
表15-43に、LOCK_ACCOUNT
プロシージャで使用可能なパラメータを示します。
例
次の例に、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;
アカウント作成後にアカウント・パスワードが変更された場合は、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
ファンクションを使用する方法を示します。このファンクションを使用して、現行の作業領域の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;
このファンクションは、レンダリング可能な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 |
引数値に含まれている特殊文字をエスケープする場合に使用するキャラクタ・セット名( |
p_checksum type |
NULL、あるいは6つの値( |
例
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;
セキュリティ・スキーム名を指定すると、このファンクションによってカレント・ユーザーがセキュリティ・チェックを通過するかどうかが判断されます。
構文
APEX_UTIL.PUBLIC_CHECK_AUTHORIZATION ( p_security_scheme IN VARCHAR2) RETURN BOOLEAN;
パラメータ
表15-46に、PUBLIC_CHECK_AUTHORIZATION
ファンクションで使用可能なパラメータを示します。
表15-46 PUBLIC_CHECK_AUTHORIZATIONのパラメータ
パラメータ | 説明 |
---|---|
|
ユーザーがセキュリティ・チェックを通過するかどうかを判断するセキュリティ・スキームの名前 |
例
DECLARE l_check_security BOOLEAN; BEGIN l_check_security := APEX_UTIL.PUBLIC_CHECK_AUTHORIZATION('my_auth_scheme'); END;
アプリケーションのすべてのキャッシュされたリージョンを削除します。
構文
APEX_UTIL.PURGE_REGIONS_BY_APP ( p_application IN NUMBER,
パラメータ
表15-47に、PURGE_REGIONS_BY_APP
で使用可能なパラメータを示します。
例
APEX_UTILITIES.PURGE_REGIONS_BY_APP(p_application=>123);
リージョンのすべてのキャッシュされた値を削除します。
構文
APEX_UTIL.PURGE_REGIONS_BY_ID ( p_application IN NUMBER, p_region_id IN NUMBER);
パラメータ
表15-48に、PURGE_REGIONS_BY_ID
で使用可能なパラメータを示します。
アプリケーション名およびページ番号で識別されるすべてのキャッシュされたリージョンを削除します。
構文
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
で使用可能なパラメータを示します。
アプリケーションおよびページによってキャッシュされたリージョンすべてを削除します。
構文
APEX_UTIL.PURGE_REGIONS_BY_PAGE ( p_application IN NUMBER, p_page IN NUMBER);
パラメータ
表15-50に、PURGE_REGIONS_BY_PAGE
で使用可能なパラメータを示します。
期限切れまたは使用できないすべてのキャッシュされたリージョンを削除します。
構文
APEX_UTIL.PURGE_STALE_REGIONS ( p_application IN NUMBER,
パラメータ
表15-51に、PURGE_STALE_REGIONS
で使用可能なパラメータを示します。
このファンクションは指定したユーザーのプリファレンスを削除します。
構文
APEX_UTIL.REMOVE_PREFERENCE( p_preference IN VARCHAR2 DEFAULT NULL, p_user IN VARCHAR2 DEFAULT V('USER'));
パラメータ
表15-52に、REMOVE_PREFERENCE
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.REMOVE_PREFERENCE( p_preference => 'default_view', p_user => :APP_USER); END;
このプロシージャは、ユーザーの列ヘッダーのソート・プリファレンスの値を削除します。
構文
APEX_UTIL.REMOVE_SORT_PREFERENCES ( p_user IN VARCHAR2 DEFAULT V('USER'));
パラメータ
表15-53に、REMOVE_SORT_PREFERENCES
ファンクションで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.REMOVE_SORT_PREFERENCES(:APP_USER); END;
このプロシージャは、主キーまたはユーザー名で指定したユーザー・アカウントを削除します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
APEX_UTIL.REMOVE_USER( p_user_id IN NUMBER, p_user_name IN VARCHAR2);
パラメータ
表15-54に、REMOVE_USER
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.REMOVE_USER(p_user_id=>'99997'); END; BEGIN APEX_UTIL.REMOVE_USER(p_user_name => 'SCOTT'); END;
Oracle Application Expressは、パフォーマンスを向上させるために、認可スキームの評価後、その結果をキャッシュします。このプロシージャを使用すると、キャッシュを元に戻して、次にページ表示または受入れ処理中に認可スキームが適用された際に各認可スキームの再検証を要求できます。このプロシージャは、ユーザーがアプリケーション内で自らの信頼性(認可プロファイル)を変更できるようにする場合に使用できます。
構文
APEX_UTIL.RESET_AUTHORIZATIONS;
パラメータ
なし。
例
BEGIN APEX_UTIL.RESET_AUTHORIZATIONS; END;
このプロシージャは、指定したユーザーのパスワードを再設定し、そのパスワードをメッセージとして現行の作業領域内の指定したアカウントのアドレスに電子メールを送信します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
APEX_UTIL.RESET_PW( p_user IN VARCHAR2, p_msg IN VARCHAR2);
パラメータ
表15-55に、RESET_PW
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.RESET_PW( p_user => 'SCOTT', p_msg => 'Contact help desk at 555-1212 with questions'); END;
このファンクションは、パッケージ変数(wwv_flow_utilities.g_val_num
)を、ファンクションKEYVAL_NUM
を使用して取得できるように設定します。
構文
APEX_UTIL.SAVEKEY_NUM( p_val IN NUMBER);
パラメータ
表15-56に、SAVEKEY_NUM
プロシージャで使用可能なパラメータを示します。
例
DECLARE VAL NUMBER; BEGIN VAL := APEX_UTIL.SAVEKEY_NUM( p_val => 10); END;
このファンクションは、パッケージ変数(wwv_flow_utilities.g_val_vc2
)を、ファンクションKEYVAL_VC2
を使用して取得できるように設定します。
構文
APEX_UTIL.SAVEKEY_VC2 p_val IN VARCHAR2);
パラメータ
表15-57に、SAVEKEY_VC2
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2(4000); BEGIN VAL := APEX_UTIL.SAVEKEY_VC2( p_val => 'XXX'); END;
このプロシージャは、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のパラメータ
パラメータ | 説明 |
---|---|
|
ユーザー・アカウントの数値のID |
|
ユーザー・レコードの属性番号(1から10) |
|
ユーザー・レコードに設定する、 |
例
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;
このプロシージャは、アプリケーションのカスタム認証ファンクション(資格証明の検証ファンクション)からコールできます。このプロシージャに渡されたステータスは、「ログイン・アクセス・ログ」にログ出力されます。
構文
APEX_UTIL.SET_AUTHENTICATION_RESULT( p_code IN NUMBER );
パラメータ
表15-59に、SET_AUTHENTICATION_RESULT
プロシージャで使用可能なパラメータを示します。
表15-59 SET_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;
このプロシージャは、アプリケーションのカスタム認証ファンクション(資格証明の検証ファンクション)からコールできます。このプロシージャに渡されたステータスは、「ログイン・アクセス・ログ」にログ出力されます。
構文
APEX_UTIL.SET_CUSTOM_AUTH_STATUS( p_status IN VARCHAR2 );
パラメータ
表15-60に、SET_CUSTOM_AUTH_STATUSプロシージャで使用可能なパラメータを示します。
例
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;
このプロシージャは、新しい電子メール・アドレスを使用してユーザー・アカウントを更新します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
APEX_UTIL.SET_EMAIL( p_userid IN NUMBER, p_email IN VARCHAR2);
パラメータ
表15-61に、SET_EMAIL
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.SET_EMAIL( p_userid => '888883232', P_email => 'scott.scott@oracle.com'); END;
このプロシージャは、ユーザー・アカウントを新しい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のパラメータ
パラメータ | 説明 |
---|---|
|
ユーザー・アカウントの数値のID |
|
ユーザー・アカウントに保存する |
例
BEGIN APEX_UTIL.SET_FIRST_NAME( p_userid => '888883232', P_first_name => 'Scott'); END;
このプロシージャは、ユーザー・アカウントを新しいLAST_NAME
値に更新します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
APEX_UTIL.SET_LAST_NAME( p_userid IN NUMBER, p_last_name IN VARCHAR2);
パラメータ
表15-63に、SET_LAST_NAME
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.SET_LAST_NAME( p_userid => '888883232', p_last_name => 'SMITH'); END;
このプロシージャは、ユーザーのカレント・セッション以降に保持されるプリファレンスを設定します。
構文
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のパラメータ
パラメータ | 説明 |
---|---|
|
プリファレンスの名前(大/小文字の区別あり) |
|
プリファレンスの値 |
|
プリファレンスが設定されるユーザー |
例
BEGIN APEX_UTIL.SET_PREFERENCE( p_preference => 'default_view', p_value => 'WEEKLY', p_user => :APP_USER); END;
このプロシージャは、現在の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のパラメータ
パラメータ | 説明 |
---|---|
|
セッション・ステートを設定する、アプリケーション・レベルまたはページ・レベルのアイテムの名前 |
|
設定するセッション・ステートの値 |
例
BEGIN APEX_UTIL.SET_SESSION_STATE('my_item','myvalue'); END;
このプロシージャは、ユーザー・アカウントを新しいUSER_NAME
値に更新します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
APEX_UTIL.USERNAME( p_userid IN NUMBER, p_username IN VARCHAR2);
パラメータ
表15-66に、SET_USERNAME
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.SET_USERNAME( p_userid => '888883232', P_username => 'USER-XRAY'); END;
文字列を指定すると、このファンクションによって型が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のパラメータ
パラメータ | 説明 |
---|---|
|
型が |
|
文字列のセパレータ(デフォルトはコロン) |
例
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;
型が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のパラメータ
パラメータ | 説明 |
---|---|
|
文字列のセパレータ(デフォルトはコロン(:)) |
|
区切られた文字列に変換される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;
期限切れのエンド・ユーザー・アカウントおよび関連付けられたパスワードを使用可能にして、エンド・ユーザーが作業領域へログインできるようにします。
構文
APEX_UTIL.UNEXPIRE_END_USER_ACCOUNT ( p_user_name IN VARCHAR2 );
パラメータ
表15-69に、UNEXPIRE_END_USER_ACCOUNT
プロシージャで使用可能なパラメータを示します。
例
次の例に、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;
開発者および作業領域管理者のアカウントおよび関連付けられたパスワードを有効にして、開発者または管理者が作業領域へログインできるようにします。
構文
APEX_UTIL.UNEXPIRE_WORKSPACE_ACCOUNT ( p_user_name IN VARCHAR2 );
パラメータ
表15-70に、UNEXPIRE_WORKSPACE_ACCOUNT
プロシージャで使用可能なパラメータを示します。
例
次の例に、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;
ユーザーのアカウント・ステータスを「ロック解除済」に設定します。これは、ページ・リクエストのコンテキストで認証済作業領域管理者によって実行される必要があります。
構文
APEX_UTIL.UNLOCK_ACCOUNT ( p_user_name IN VARCHAR2 );
パラメータ
表15-71に、UNLOCK_ACCOUNT
プロシージャで使用可能なパラメータを示します。
例
次の例では、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;
このファンクションは、空白、疑問符、アンパサンドを含むすべての特殊文字を16進数にエンコードします。
構文
APEX_UTIL.URL_ENCODE ( p_url IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表15-72に、URL_ENCODE
ファンクションで使用可能なパラメータを示します。
例
DECLARE l_url VARCHAR2(255); BEGIN l_url := APEX_UTIL.URL_ENCODE('http://www.myurl.com?id=1&cat=foo'); END;
開発者または作業領域管理者アカウント・パスワードの期限が切れるまでの残りの日数を戻します。このファンクションは、すべての認証済ユーザーのページ・リクエストのコンテキストで実行される可能性があります。
構文
APEX_UTIL.WORKSPACE_ACCOUNT_DAYS_LEFT ( p_user_name IN VARCHAR2 RETURN NUMBER ;
パラメータ
表15-73に、WORKSPACE_ACCOUNT_DAYS_LEFT
プロシージャで使用可能なパラメータを示します。
例
次の例に、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
パッケージを使用して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パッケージを使用)を作成して、アクティブなメール・キューに格納されているすべてのメール・メッセージを定期的に送信することです。 |
このプロシージャは、アプリケーションから外部へ電子メール・メッセージを送信します。このプロシージャを使用してVARCHAR2
またはCLOB
をp_body
およびp_body_html
に渡すことができますが、データ型は同じである必要があります。つまり、CLOB
をP_BODY
に、VARCHAR2
をp_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のパラメータ
パラメータ | 説明 |
---|---|
|
電子メールの送信先となる有効な電子メール・アドレス(必須)。電子メール・アドレスが複数の場合、カンマで区切られたリストを使用します。 |
|
電子メールの送信元となる電子メール・アドレス(必須)。この電子メール・アドレスは有効なアドレスである必要があります。有効でない場合、メッセージは送信されません。 |
|
HTML形式ではなく、プレーン・テキスト形式の電子メールの本文(必須)。値が |
|
HTML形式の電子メールの本文。これは、 |
|
電子メールの件名 |
|
電子メールの内容のコピー先となる有効な電子メール・アドレス。電子メール・アドレスが複数の場合、カンマで区切られたリストを使用します。 |
|
電子メールの内容のブラインド・コピー先となる有効な電子メール・アドレス。電子メール・アドレスが複数の場合、カンマで区切られたリストを使用します。 |
|
返信先のメール・ヘッダーのアドレス。このパラメータの使用方法は次のとおりです。
|
例
次の例では、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; /
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
プロシージャで使用可能なパラメータを示します。
これらのパラメータの値は下位互換性を確保するために提供されていますが、各パラメータの値は無視されます。電子メールを送信する際のSMTPゲートウェイのホスト名およびSMTPゲートウェイのポート番号は、「環境設定の管理」で入力された値のみが使用されます。
例
次の例に、シェル・スクリプトを使用してAPEX_MAIL.PUSH_QUEUE
プロシージャを使用する方法を示します。この例はUNIX/LINUXインストールにのみ適用します。
SQLPLUS / <<EOF APEX_MAIL.PUSH_QUEUE; DISCONNECT EXIT EOF
APEX_ITEM
パッケージを使用すると、ページごとに個別にアイテムを作成するかわりに、SQL問合せに基づいてフォーム要素を動的に作成できます。
このセクションの構成は次のとおりです。
このファンクションはチェック・ボックスを作成します。
構文
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のパラメータ
パラメータ | 説明 |
---|---|
|
どの |
|
チェック・ボックス、非表示フィールドまたは入力フォーム・アイテムの値 |
|
HTMLタグ属性を制御(無効にするなど)します。 |
|
デフォルトで選択される値 |
|
前述のパラメータ |
デフォルトのチェック・ボックスの動作
次の例に、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
ファンクションは、ポップアップ・カレンダのボタンが付いた日時フィールドを動的に生成します。
構文
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のパラメータ
パラメータ | 説明 |
---|---|
|
どの |
|
このパラメータは使用できません。この値を指定しても無視されます。 |
|
フィールド・アイテムの値 |
|
有効なデータベースの日付書式 |
|
HTMLタグ属性を制御(無効にするなど)します。 |
|
入力可能な最大文字数を決定します。 |
|
追加する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
このファンクションを使用して、アイテムをテキストとして表示します。ただし、その値はセッション・ステートに保存されます。
構文
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のパラメータ
パラメータ | 説明 |
---|---|
|
どの |
|
現在の値 |
|
|
|
テキスト・フィールド・アイテムのラベル |
例
次の例に、APEX_ITEM.DISPLAY_AND_SAVE
ファンクションの使用方法を示します。
SELECT APEX_ITEM.DISPLAY_AND_SAVE(10,empno) c FROM emp
このファンクションは、非表示のフォーム・アイテムを動的に生成します。
構文
APEX_ITEM.HIDDEN( p_idx IN NUMBER, p_value IN VARCHAR2 DEFAULT) RETURN VARCHAR2;
パラメータ
表15-79に、HIDDEN
ファンクションで使用可能なパラメータを示します。
表15-79 HIDDENのパラメータ
パラメータ | 説明 |
---|---|
|
生成するアイテムの識別番号。この番号によって、どの |
|
非表示の入力フォーム・アイテムの値 |
例
通常、表の主キーは非表示列として格納され、後続の更新処理で使用されます。次に例を示します。
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
に対応)は、各行を更新するキーとして使用されることに注意してください。
このファンクションは、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のパラメータ
パラメータ | 説明 |
---|---|
...
|
50個の値が入力可能です。このパラメータを指定しない場合、デフォルトはNULLになります |
|
|
例
SELECT APEX_ITEM.MD5_CHECKSUM(ename,job,sal) FROM emp
このファンクションは、ロストした更新の検出に使用されます。ロストした更新の検出によって、データに同時にアクセスできる複数のアプリケーションのデータの整合性が保証されます。
このファンクションは、非表示のフォーム・フィールドを作成し、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のパラメータ
パラメータ | 説明 |
---|---|
|
生成されるフォーム要素を示します。たとえば、1は |
...
|
50個の値が入力可能です。このパラメータを指定しない場合、デフォルトはNULLになります |
|
|
例
p_idx
パラメータは生成されるFXXフォーム要素を指定します。次の例では、7はF07
を生成します。また、HTML非表示フォーム要素が生成されることにも注意してください。
SELECT APEX_ITEM.MD5_HIDDEN(7,ename,job,sal), ename, job, sal FROM emp
このプロシージャは、複数行を更新するプロセス・タイプ内で使用します。このプロシージャでは、次の形式で複数行の更新定義を含む文字列を指定します。
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_UPDATE
はAPEX_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:,:,:,:,
このファンクションは、アプリケーションの値リスト(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のパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
フォーム要素の現行の値。この値は、 |
|
このポップアップで使用される名前付きLOV |
|
テキスト・ボックスの幅 |
|
テキスト・ボックスに入力可能な最大文字数 |
|
アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。 このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが |
|
同等のものにエスケープする必要がある特殊文字の置換文字。
値の範囲は |
|
問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。 |
|
フォーム・アイテムで使用する追加のHTML属性。 |
|
値の範囲は |
|
フォーム要素のID属性。 |
|
アイテムに対して作成された非表示のラベル。 |
例
次の例に、DEPT
というLOVからポップアップを生成する問合せの例を示します。
SELECT APEX_ITEM.POPUP_FROM_LOV (1,deptno,'DEPT_LOV') dt FROM emp
このファンクションは問合せから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のパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
フォーム要素の現行の値。この値は、 |
|
2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。 SELECT dname, deptno FROM dept |
|
テキスト・ボックスの幅。 |
|
テキスト・ボックスに入力可能な最大文字数。 |
|
アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。 このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが |
|
同等のものにエスケープする必要がある特殊文字の置換文字。
値の範囲は |
|
問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。 |
|
フォーム・アイテムで使用する追加のHTML属性。 |
|
値の範囲は |
|
フォーム要素のID属性。 |
|
アイテムに対して作成された非表示のラベル。 |
例
次の例に、emp
表からポップアップ選択リストを生成する問合せの例を示します。
SELECT APEX_ITEM.POPUP_FROM_QUERY (1,deptno,'SELECT dname, deptno FROM dept') dt FROM emp
このファンクションは、共有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のパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名を示します。たとえば、
SELECT APEX_ITEM.POPUPKEY_FROM_LOV (1,deptno,'DEPT') dt, APEX_ITEM.HIDDEN(3,empno) eno |
|
現行の値を示します。この値は、 |
|
このポップアップで使用される名前付きLOVを示します。 |
|
テキスト・ボックスの幅。 |
|
テキスト・ボックスに入力可能な最大文字数。 |
|
アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。 このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが |
|
同等のものにエスケープする必要がある特殊文字の置換文字。
このパラメータは、問合せが無効なHTMLを戻すことがわかっている場合に有効です。 |
|
問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。 |
|
フォーム・アイテムで使用する追加のHTML属性。 |
|
値の範囲は |
例
次の例に、共有LOVからポップアップ・キー選択リストを生成する方法を示します。
SELECT APEX_ITEM.POPUPKEY_FROM_LOV (1,deptno,'DEPT') dt FROM emp
このファンクションは、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のパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、
SELECT APEX_ITEM.POPUPKEY_FROM_QUERY (1,deptno,'SELECT dname, deptno FROM dept') dt, APEX_ITEM.HIDDEN(3,empno) eno |
|
フォーム要素の現行の値。この値は、 |
|
このポップアップで使用されるLOV問合せ。 |
|
テキスト・ボックスの幅。 |
|
テキスト・ボックスに入力可能な最大文字数。 |
|
アイテムが含まれるページのHTMLフォーム。デフォルトは0ですが、ほとんど使用しません。 このパラメータは、ページ・テンプレートにカスタム・フォーム(別のWebサイトにポストする検索フィールドなど)を埋め込む必要がある場合にのみ使用します。このフォームが |
|
同等のものにエスケープする必要がある特殊文字の置換文字。
このパラメータは、問合せが無効なHTMLを戻すことがわかっている場合に有効です。 |
|
問合せで戻せる行数の制限。ユーザー検索によるパフォーマンスの影響を制限します。このパラメータに値を入力することで、ユーザーがより限定された結果セットを検索するように強制できます。 |
|
フォーム・アイテムで使用する追加のHTML属性。 |
|
値の範囲は |
|
フォーム要素のID属性。 |
|
アイテムに対して作成された非表示のラベル。 |
例
次の例に、SQL問合せからポップアップ選択リストを生成する方法を示します。
SELECT APEX_ITEM.POPUPKEY_FROM_QUERY (1,deptno,'SELECT dname, deptno FROM dept') dt FROM emp
このファンクションは、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のパラメータ
パラメータ | 説明 |
---|---|
|
どの |
|
ラジオ・グループの値。 |
|
選択される値。 |
|
ラジオ・オプションの横に表示されるテキスト。 |
|
追加するHTMLパラメータ。 |
|
onBlurイベントで実行するJavaScript。 |
|
onChangeイベントで実行するJavaScript。 |
|
onFocusイベントで実行するJavaScript。 |
例
次の例に、ラジオ・グループのデフォルトとしてemp
表から部門20を選択する方法を示します。
SELECT APEX_ITEM.CHECKBOX(1,deptno,'20',dname) dt FROM dept ORDER BY 1
このファンクションは、静的選択リストを動的に生成します。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のパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
現行の値。この値は |
|
カンマで区切られた静的値のリスト。表示される値および戻される値はセミコロンで区切られます。 これは、 |
|
追加するHTMLパラメータ。 |
|
NULLの選択を有効にするための追加の選択オプション。値の範囲は |
|
ユーザーがNULLのオプションを選択すると戻される値。 |
|
ユーザーがNULLのオプションを選択すると表示される値。 |
|
<input>タグのHTML属性のID。 |
|
選択リストのラベル。 |
|
p_valueの値が選択リストで指定されていない場合でも、 現在の値を表示します。 |
例
次の例に、Yes
を表示し、Y
を戻し、Y
をデフォルトとし、F01
のフォームのアイテムを生成する静的選択リストを示します。
SELECT APEX_ITEM.SELECT_LIST(1,'Y','Yes;Y,No;N') FROM emp
このファンクションは、共有の値リスト(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のパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
現在の値。この値は |
|
アプリケーションLOVのテキストの名前。このLOVはアプリケーションで定義する必要があります。このパラメータは、 |
|
追加するHTMLパラメータ。 |
|
NULLの選択を有効にするための追加の選択オプション。値の範囲は |
|
ユーザーがNULLのオプションを選択すると戻される値。 |
|
ユーザーがNULLのオプションを選択すると表示される値。 |
|
|
|
選択リストのラベル。 |
例
次の例に、アプリケーションで定義されたLOVに基づく選択リストを示します。
SELECT APEX_ITEM.SELECT_LIST_FROM_LOV(2,job,'JOB_FLOW_LOV') FROM emp
このファンクションは、共有の値リスト(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のパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
現在の値。この値は |
|
LOVのテキストの名前。このLOVはアプリケーションで定義する必要があります。このパラメータは、 |
|
追加するHTMLパラメータ。 |
|
NULLの選択を有効にするための追加の選択オプション。値の範囲は |
|
ユーザーがNULLのオプションを選択すると戻される値。 |
|
ユーザーがNULLのオプションを選択すると表示される値。 |
|
|
|
選択リストのラベル。 |
例
次に、アプリケーションで定義されたLOVに基づく選択リストを示します。
SELECT APEX_ITEM.SELECT_LIST_FROM_LOV_XL(2,job,'JOB_FLOW_LOV') FROM emp
このファンクションは、問合せから静的選択リストを動的に生成します。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のパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
現在の値。この値は |
|
2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。 SELECT dname, deptno FROM dept これは、 |
|
追加するHTMLパラメータ。 |
|
NULLの選択を有効にするための追加の選択オプション。値の範囲は |
|
ユーザーがNULLのオプションを選択すると戻される値。 |
|
ユーザーがNULLのオプションを選択すると表示される値。 |
|
|
|
選択リストのラベル。 |
|
|
例
次の例に、SQL問合せに基づく選択リストを示します。
SELECT APEX_ITEM.SELECT_LIST_FROM_QUERY(3,job,'SELECT DISTINCT job FROM emp') FROM emp
このファンクションは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のパラメータ
パラメータ | 説明 |
---|---|
|
フォーム要素名。たとえば、 |
|
現在の値。この値は |
|
2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。 SELECT dname, deptno FROM dept これは、 |
|
追加するHTMLパラメータ。 |
|
NULLの選択を有効にするための追加の選択オプション。値の範囲は |
|
ユーザーがNULLのオプションを選択すると戻される値。 |
|
ユーザーがNULLのオプションを選択すると表示される値。 |
|
|
|
選択リストのラベル。 |
|
|
例
次の例に、SQL問合せに基づく選択リストを示します。
SELECT APEX_ITEM.SELECT_LIST_FROM_QUERY_XL(3,job,'SELECT DISTINCT job FROM emp') FROM emp
このファンクションはテキスト領域を作成します。
構文
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_rows |
テキスト領域の高さ(HTML行属性) |
p_cols |
テキスト領域の幅(HTML行属性)。 |
|
追加するHTMLパラメータ。 |
|
|
|
テキスト領域アイテムのラベル。 |
例
次の例に、SQL問合せに基づくテキスト領域を作成する方法を示します。
SELECT APEX_ITEM.TEXTAREA(3,ename,5,80) a FROM emp
このファンクションは、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のパラメータ
パラメータ | 説明 |
---|---|
|
生成するアイテムの識別番号。この番号によって、どの |
|
テキスト・フィールド・アイテムの値。 |
|
HTMLタグ属性を制御(無効にするなど)します。 |
|
テキスト・ボックスに入力可能な最大文字数。 |
|
追加するHTMLパラメータ。 |
|
|
|
テキスト・フィールド・アイテムのラベル。 |
例
次の問合せの例に、各行に1つの更新フィールドを生成する方法を示します。ename
、sal
および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
このファンクションを使用して、アイテムをテキストとして表示します。そのテキストは、名前付き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のパラメータ
パラメータ | 説明 |
---|---|
|
フィールド・アイテムの値。
|
|
共有LOVのテキストの名前。このLOVはアプリケーションで定義する必要があります。 |
|
フィールド・アイテムの値がNULLの場合に表示される値 |
例
次の例では、名前付きLOV(EMPNO_ENAME_LOV
)から表示値を導出する方法を示します。
SELECT APEX_ITEM.TEXT_FROM_LOV(empno,'EMPNO_ENAME_LOV') c FROM emp
このファンクションを使用して、アイテムをテキストとして表示します。そのテキストは、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のパラメータ
パラメータ | 説明 |
---|---|
|
フィールド・アイテムの値。 |
|
2つの列(表示列および戻り列)を選択するSQL問合せ。次に例を示します。 SELECT dname, deptno FROM dept |
|
フィールド・アイテムの値がNULLの場合、または対応するエントリがLOV問合せの値 |
例
次の例では、問合せから表示値を導出する方法を示します。
SELECT APEX_ITEM.TEXT_FROM_LOV_QUERY(empno,'SELECT ename, empno FROM emp') c from emp
APEX_APPLICATION
パッケージは、Oracle Application Expressレンダリング・エンジンを実装するPL/SQLパッケージです。このパッケージを使用すると、多くのグローバル変数を利用できます。表15-96に、APEX_APPLICATION
パッケージで使用可能なグローバル変数を示します。
表15-96 APEX_APPLICATIONで使用可能なグローバル変数
グローバル変数 | 説明 |
---|---|
|
現在ログインしているユーザーを指定します。 |
|
現在実行されているアプリケーションのIDを指定します。 |
|
現在実行されているページのIDを指定します。 |
|
現在実行されているアプリケーションの解析対象のスキーマを指定します。 |
|
表示または受入れモジュールに最後に渡されるか、あるいは表示または受入れモジュール内に最後に設定されるリクエスト変数の値を指定します。 |
このセクションの構成は次のとおりです。
通常、アイテムは、テキスト・フィールド、選択リスト、チェック・ボックスなどのHTMLフォーム要素です。ウィザードを使用して新しいフォーム・アイテムを作成する場合、ウィザードは標準のネーミング形式を使用します。ネーミング形式ではハンドルが提供されるため、後でアイテムの値を取得できます。
独自のアイテムを作成する必要がある場合、ページを送信した後にAPEX_APPLICATION.G_F01
からAPEX_APPLICATION.G_F50
配列を参照してそれらにアクセスできます。F01
、F02
、F03
などの形式を使用して入力パラメータを入力することによって、独自の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
パッケージを使用すると、認証およびセッション管理に関連する様々な操作を実行できます。
このセクションの構成は次のとおりです。
このファンクションは、アプリケーション内のページ・レベル・アイテムの存在を確認します。このファンクションでは、パラメータp_item_name
が必要です。このファンクションはブール値(trueまたはfalse)を戻します。
構文
FUNCTION APPLICATION_PAGE_ITEM_EXISTS( p_item_name IN VARCHAR2) RETURN BOOLEAN;
このファンクションは、カレント・ページの認証属性がパブリック・ページに設定されているかどうかを確認し、ブール値(trueまたはfalse)を戻します。
構文
FUNCTION CURRENT_PAGE_IS_PUBLIC RETURN BOOLEAN;
このプロシージャは、SET_USER
およびSET_SESSION_ID
ファンクションを組み合せて、1回のコールに結合します。
構文
PROCEDURE DEFINE_USER_SESSION( p_user IN VARCHAR2) p_session_id IN NUMBER);
このプロシージャは、指定したアプリケーションのカレント認証スキームで使用されるセッション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のパラメータ
パラメータ | 説明 |
---|---|
|
現行の作業領域のアプリケーションIDです。 |
|
Cookie名です。 |
|
Cookieパスです。 |
|
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;
このプロシージャは、カレント・アプリケーションのカレント認証スキームの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のパラメータ
パラメータ | 説明 |
---|---|
|
LDAPホスト名です。 |
|
LDAPポート番号です。 |
|
LDAP DN文字列です。 |
|
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;
このファンクションは、Oracle Application Expressシーケンス・ジェネレータから次のセッションIDを生成します。このファンクションは数値を戻します。
構文
FUNCTION GET_NEXT_SESSION_ID RETURN NUMBER;
このファンクションは、現行のブラウザ・セッションのページ・リクエストのコンテキストでセッション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;
このファンクションは、内部セッション表の現行のOracle Application Expressセッションに登録されたユーザー名を戻します。通常、このユーザー名は、カレント・ページを実行している認証されたユーザーと同じ名前です。
構文
APEX_CUSTOM_AUTH.GET_USERNAME RETURN VARCHAR2;
例
DECLARE VAL VARCHAR2(256); BEGIN VAL := APEX_CUSTOM_AUTH.GET_USERNAME; END;
このファンクションは、カレント・ユーザーの作業領域を示すセキュリティ・グループIDの数値を戻します。
構文
FUNCTION GET_SECURITY_GROUP_ID RETURN NUMBER;
このファンクションは、APEX_APPLICATION
.G_INSTANCE
グローバル変数を戻します。GET_SESSION_ID
は数値を戻します。
構文
PROCEDURE GET_SESSION_ID RETURN NUMBER;
このファンクションは、APEX_APPLICATION
.G_USER
グローバル変数(VARCHAR2
)を戻します。
構文
FUNCTION GET_USER RETURN VARCHAR2;
このファンクションは、有効なセッションが存在するかどうかを確認するカレント・アプリケーションの認証スキームを実行することによって取得されるブール結果を戻します。認証スキーマのページ・エントリのブール結果を戻します。
構文
APEX_CUSTOM_AUTH.IS_SESSION_VALID RETURN BOOLEAN;
例
DECLARE VAL BOOLEAN; BEGIN VAL := APEX_CUSTOM_AUTH.IS_SESSION_VALID; END;
「ログイン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のパラメータ
パラメータ | 説明 |
---|---|
|
ユーザーのログイン名です。 |
|
クリア・テキストのユーザー・パスワードです。 |
|
現行のOracle Application ExpressセッションID。 |
|
カレント・アプリケーションIDです。ログイン・ページの後にコロン(:)で区切って指定します。 |
|
内部でのみ使用します。 |
|
trueの場合は、セッションの登録時に |
例
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 引数にバインド変数表記は使用しないでください。 |
このプロシージャは、セッション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のパラメータ
パラメータ | 説明 |
---|---|
|
カレント・アプリケーションIDです。 |
|
リダイレクト先のアプリケーションおよびページ番号です。複数のページをコロン(:)で区切って指定します。また、セッションIDの制御が必要な場合は、オプションでこれらのページの後にコロン(:)、続けてセッションIDを指定します。 |
|
リダイレクト先のURLです( |
例
BEGIN APEX_CUSTOM_AUTH.LOGOUT ( p_this_app => '1000', p_next_app_page_sess => '1000:99'); END;
認証ステップが完了している場合、このプロシージャはセッションの登録を実行します。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のパラメータ
パラメータ | 説明 |
---|---|
|
ユーザーのログイン名です。 |
|
現行のOracle Application ExpressセッションID。 |
|
カレント・アプリケーションIDです。ログイン・ページの後にコロン(:)で区切って指定します。 |
|
trueの場合は、セッションの登録時に |
例
BEGIN APEX_CUSTOM_AUTH.POST_LOGIN ( p_uname => 'SCOTT', p_session_id => V('APP_SESSION'), p_app_page => :APP_ID||':1'); END;
このファンクションは、現行のOracle Application ExpressセッションIDを含むグローバル・パッケージ変数に基づいてブール結果を戻します。結果が正の数の場合はtrueを戻します。結果が負の数の場合はfalseを戻します。
構文
FUNCTION SESSION_ID_EXISTS RETURN BOOLEAN;
例
DECLARE VAL BOOLEAN; BEGIN VAL := APEX_CUSTOM_AUTH.SESSION_ID_EXISTS; END;
このプロシージャは、APEX_APPLICATION
.G_USER
グローバル変数を設定します。SET_USER
には、ユーザーIDを定義するパラメータP_USER
(VARCHAR2
)が必要です。
構文
PROCEDURE SET_USER( p_user IN VARCHAR2)
このプロシージャは、APEX_APPLICATION
.G_INSTANCE
グローバル変数を設定します。SET_SESSION_ID
は数値を戻します。このプロシージャには、セッションIDを指定するパラメータP_SESSION_ID
(NUMBER
)が必要です。
構文
PROCEDURE SET_SESSION_ID( p_session_id IN NUMBER)
APEX_LDAP
を使用すると、Lightweight Directory Access Protocol(LDAP)認証に関連する様々な操作を実行できます。
このセクションの構成は次のとおりです。
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のパラメータ
パラメータ | 説明 |
---|---|
|
ユーザーのログイン名です。 |
|
|
|
LDAP検索ベース。たとえば、 |
|
LDAPサーバーのホスト名。 |
|
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
ファンクションは、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
ファンクションで使用可能なパラメータを示します。
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
ファンクションで使用可能なパラメータを示します。
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
ファンクションで使用可能なパラメータを示します。
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
プロシージャで使用可能なパラメータを示します。
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
プロシージャで使用可能なパラメータを示します。