APEX_UTIL
パッケージは、Oracle Application Express環境でプログラミングする際に使用可能なユーティリティを提供します。APEX_UTIL
パッケージを使用すると、セッション・ステートの取得と設定、ファイルの取得、ユーザーの認可の確認、ユーザーへの別のステートの再設定、およびユーザーのプリファレンスの取得と設定を行うことができます。
このセクションの構成は次のとおりです。
このプロシージャは、Application Expressユーザー・アカウントが使用中であることを前提として、現在認証されているユーザーのパスワードを変更します。
構文
APEX_UTIL.CHANGE_CURRENT_USER_PW( p_new_password IN VARCHAR2);
パラメータ
表1-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;
パラメータ
表1-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;
パラメータ
表1-3に、CACHE_GET_DATE_OF_REGION_CACHE
プロシージャで使用可能なパラメータを示します。
このプロシージャは、特定のアプリケーションのすべてのキャッシュされたページおよびリージョンを削除します。
構文
APEX_UTIL.CACHE_PURGE_BY_APPLICATION ( p_application IN NUMBER;
パラメータ
表1-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);
パラメータ
表1-5に、CACHE_PURGE_BY_PAGE
プロシージャで使用可能なパラメータを示します。
このプロシージャは、定義済のアクティブな期間を渡した指定したアプリケーションに対してキャッシュされたページおよびリージョンすべてを削除します。ページまたはリージョンをキャッシュする際、アクティブな期間(または「キャッシュ・タイムアウト」)を指定します。一度期間が経過するとキャッシュは使用されなくなるため、キャッシュから使用できないページまたはリージョンを削除します。
構文
APEX_UTIL.CACHE_PURGE_STALE ( p_application IN NUMBER,
パラメータ
表1-6に、CACHE_PURGE_STALE
プロシージャで使用可能なパラメータを示します。
このプロパティがエンド・ユーザー・アカウントに対して有効か無効かを、管理者がチェックできるようにします。このファンクションは、パスワードが初期設定されてユーザーの編集ページの「管理サービス」で変更された後に、アカウント・パスワードを初回使用時に変更する必要がある場合(認証成功後)、TRUEを戻します。アカウントにこのプロパティが含まれていない場合は、FALSEを戻します。
このファンクションは、すべての認証済ユーザーによってページ・リクエストのコンテキストで実行される場合があります。
構文
APEX_UTIL.CHANGE_PASSWORD_ON_FIRST_USE (
p_user_name IN VARCHAR2
) RETURN BOOLEAN
;
パラメータ
表1-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);
パラメータ
表1-8に、CLEAR_APP_CACHE
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.CLEAR_APP_CACHE('100'); END;
このプロシージャは、カレント・セッションに指定したページのセッション・ステートを削除します。
構文
APEX_UTIL.CLEAR_PAGE_CACHE ( p_page IN NUMBER DEFAULT NULL);
パラメータ
表1-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);
パラメータ
表1-10に、COUNT_CLICK
プロシージャで使用可能なパラメータを示します。
表1-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です。
参照: Oracle Application Express管理ガイドの「外部アクセス・カウント・ログの消去」 |
期限切れのリージョンの数をカウントします。
構文
APEX_UTIL.COUNT_STALE_REGIONS ( p_application IN NUMBER, RETURN NUMBER;
パラメータ
表1-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);
パラメータ
表1-12に、CREATE_USER
プロシージャで使用可能なパラメータを示します。
表1-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);
パラメータ
表1-13に、CREATE_USER_GROUP
プロシージャで使用可能なパラメータを示します。
表1-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;
パラメータ
表1-14に、CURRENT_USER_IN_GROUP
ファンクションで使用可能なパラメータを示します。
表1-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 NULL, p_last_name VARCHAR2 IN DEFAULT NULL, p_web_password VARCHAR2 IN DEFAULT NULL, p_new_password VARCHAR2 IN DEFAULT NULL, p_email_address VARCHAR2 IN DEFAULT NULL, p_start_date VARCHAR2 IN DEFAULT NULL, p_end_date VARCHAR2 IN DEFAULT NULL, p_employee_id VARCHAR2 IN DEFAULT NULL, p_allow_access_to_schemas VARCHAR2 IN DEFAULT NULL, p_person_type VARCHAR2 IN DEFAULT NULL, p_default_schema VARCHAR2 IN DEFAULT NULL, p_group_idS VARCHAR2 IN DEFAULT NULL, p_developer_roles VARCHAR2 IN DEFAULT NULL, p_description VARCHAR2 IN DEFAULT NULL, p_account_expiry DATE IN DEFAULT NULL, p_account_locked VARCHAR2 IN DEFAULT 'N', p_failed_access_attempts NUMBER IN DEFAULT 0, p_change_password_on_first_use VARCHAR2 IN DEFAULT 'Y', p_first_password_use_occurred VARCHAR2 IN DEFAULT 'N');
パラメータ
表1-15に、EDIT_USER
プロシージャで使用可能なパラメータを示します。
表1-15 EDIT_USERのパラメータ
パラメータ | 説明 |
---|---|
|
ユーザー・アカウントの数値の主キー |
|
ログインに使用する英数字の名前 |
|
情報 |
|
情報 |
|
クリア・テキストのパスワード |
|
未使用 |
|
未使用 |
|
未使用 |
|
ユーザーの作業領域に割り当てられ、ユーザーによるアクセスが制限されているスキーマのリスト |
|
未使用 |
|
ユーザーの作業領域に割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ |
|
コロンで区切られた数値のグループIDのリスト |
|
コロンで区切られた開発者権限のリスト(Oracle Application ExpressではADMIN:のみが有効) |
|
情報 |
|
パスワードが最後に更新された日。 |
|
アカウントがロックされているかどうかを示す'Y'または'N'。 |
|
ログインに連続して失敗した回数。 |
|
パスワードを初めて使用するときに変更する必要があるかどうかを示す'Y'または'N'。 |
|
パスワードの変更後にログインが行われたかどうかを示す'Y'または'N' |
エンド・ユーザー・アカウント・パスワードの期限が切れるまでの残りの日数を返します。このファンクションは、すべての認証済ユーザーのページ・リクエストのコンテキストで実行される可能性があります。
構文
APEX_UTIL.END_USER_ACCOUNT_DAYS_LEFT ( p_user_name IN VARCHAR2 )RETURN NUMBER ;
パラメータ
表1-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 );
パラメータ
表1-17に、EXPIRE_END_USER_ACCOUNT
プロシージャで使用可能なパラメータを示します。
例
次の例に、EXPIRE_END_USER_ACCOUNT
プロシージャを使用する方法を示します。このプロシージャを使用して、現行の作業領域のOracle 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 );
パラメータ
表1-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')
パラメータ
表1-19に、EXPORT_USERS
プロシージャで使用可能なパラメータを示します。
表1-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;
パラメータ
表1-20に、FETCH_APP_ITEMファンクションで使用可能なパラメータを示します。
表1-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;
このプロシージャは、ユーザー・アカウント・レコードをフェッチします。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。このプロシージャには、オーバーロードされたバージョンが3つあり、許容されるパラメータやシグネチャはそれぞれ異なります。
FETCH_USERプロシージャのシグネチャ1:
構文
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, p_description VARCHAR2 OUT );
パラメータ
表1-21に、FETCH_USER
プロシージャで使用可能なパラメータを示します。
表1-21 FETCH_USERのパラメータのシグネチャ 1
パラメータ | 説明 |
---|---|
|
ユーザー・アカウントの数値の主キー |
|
作業領域の名前 |
|
ログインに使用する英数字の名前 |
|
情報 |
|
情報 |
|
難読化されたアカウント・パスワード |
|
電子メール・アドレス |
|
未使用 |
|
未使用 |
|
未使用 |
|
ユーザーの作業領域に割り当てられ、ユーザーによるアクセスが制限されているスキーマのリスト |
|
未使用 |
|
ユーザーの作業領域に割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ |
|
ユーザーがメンバーであるグループのリスト |
|
未使用 |
|
情報 |
FETCH_USERプロシージャのシグネチャ2:
構文
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_email_address VARCHAR2 OUT, p_groups VARCHAR2 OUT, p_developer_role VARCHAR2 OUT, p_description VARCHAR2 OUT );
パラメータ
表1-22に、FETCH_USER
プロシージャで使用可能なパラメータを示します。
表1-22 FETCH_USERのパラメータのシグネチャ2
パラメータ | 説明 |
---|---|
|
ユーザー・アカウントの数値の主キー |
|
ログインに使用する英数字の名前 |
|
情報 |
|
情報 |
|
難読化されたアカウント・パスワード |
|
電子メール・アドレス |
|
ユーザーがメンバーであるグループのリスト |
|
未使用 |
|
情報 |
FETCH_USERプロシージャのシグネチャ3:
構文
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, p_account_expiry DATE OUT, p_account_locked VARCHAR2 OUT, p_change_password_on_first_use VARCHAR2 OUT, p_first_password_use_occurred VARCHAR2 OUT);
パラメータ
表1-23に、FETCH_USER
プロシージャで使用可能なパラメータを示します。
表1-23 FETCH_USERのパラメータのシグネチャ3
パラメータ | 説明 |
---|---|
|
ユーザー・アカウントの数値の主キー |
|
作業領域の名前 |
|
ログインに使用する英数字の名前 |
|
情報 |
|
情報 |
|
難読化されたアカウント・パスワード |
|
電子メール・アドレス |
|
未使用 |
|
未使用 |
|
未使用 |
|
ユーザーの作業領域に割り当てられ、ユーザーによるアクセスが制限されているスキーマのリスト |
|
未使用 |
|
ユーザーの作業領域に割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ |
|
ユーザーがメンバーであるグループのリスト |
|
未使用 |
|
情報 |
|
パスワードが最後に再設定された日 |
|
ロック/ロック解除を示す |
|
ログインに連続して失敗した回数 |
|
最初の使用時にパスワード変更を強制する設定( |
|
パスワードによるログインが行われたかどうかを示す |
このファンクションは、指定した作業領域の数値のセキュリティ・グループIDを戻します。
構文
APEX_UTIL.FIND_SECURITY_GROUP_ID( p_workspace IN VARCHAR2 RETURN NUMBER;
パラメータ
表1-24に、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;
パラメータ
表1-25に、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 ;
パラメータ
表1-26に、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;
パラメータ
表1-27に、GET_ATTRIBUTE
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2(30); BEGIN VAL := APEX_UTIL.GET_ATTRIBUTE ( p_username => 'FRANK', 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);
埋込み方法を使用してダウンロード・リンクを提供するかわりに、APEX_UTIL.GET_BLOB_FILE_SRC
ファンクションを使用することもできます。この方法の利点は、イメージ表示の体裁を(heightとwidthタグで)より具体的に指定できることです。この方法は、有効なOracle Application Expressセッションからコールされた場合にのみ有効です。また、BLOB
を記述するパラメータを、アプリケーション内の有効なアイテムの書式としてリストする必要もあります。これにより、ファンクションからそのアイテムが参照されます。
参照: Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドの「フォームおよびレポートでのBLOBサポートについて」 |
構文
FUNCTION GET_BLOB_FILE_SRC ( p_item_name IN VARCHAR2 DEFAULT NULL, p_v1 IN VARCHAR2 DEFAULT NULL, p_v2 IN VARCHAR2 DEFAULT NULL, p_content_disposition IN VARCHAR2 DEFAULT NULL) RETURN VARCHAR2 ;
パラメータ
表1-28に、GET_BLOB_FILE_SRC
ファンクションで使用可能なパラメータを示します。
表1-28 GET_BLOB_FILE_SRCのパラメータ
パラメータ | 説明 |
---|---|
|
タイプがFILEで、DB列のソース・タイプを含む有効なアプリケーション・ページ・アイテムの名前。 |
|
主キー列1の値。 |
|
主キー列2の値。 |
|
|
例
PL/SQLファンクションの本体として使用する場合:
RETURN '<img src="'||APEX_UTIL.GET_BLOB_FILE_SRC('P2_ATTACHMENT',:P2_EMPNO)||'" />';
SQLタイプのリージョン・ソースとして使用する場合:
SELECT ID, NAME, CASE WHEN NVL(dbms_lob.getlength(document),0) = 0 THEN NULL ELSE CASE WHEN attach_mimetype like 'image%' THEN '<img src="'||apex_util.get_blob_file_src('P4_DOCUMENT',id)||'" />' ELSE '<a href="'||apex_util.get_blob_file_src('P4_DOCUMENT',id)||'">Download</a>' end END new_img FROM TEST_WITH_BLOB
前述の例は、BLOB
を表示できる場合はレポート内に表示し、表示できない場合はダウンロード・リンクを提供する方法を示しています。
ヒント: Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドの「デモンストレーション・アプリケーションの実行」 |
このファンクションは、カレント・ユーザーの数値のユーザー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;
パラメータ
表1-29に、GET_EMAIL
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_EMAIL(p_username => 'FRANK'); 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');
パラメータ
表1-30に、GET_FILE
プロシージャで使用可能なパラメータを示します。
表1-30 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;
パラメータ
表1-31に、GET_FILE_ID
ファンクションで使用可能なパラメータを示します。
表1-31 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;
パラメータ
表1-32に、GET_FIRST_NAME
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_FIRST_NAME(p_username => 'FRANK'); END;
このファンクションは、指定したユーザーがメンバーであるグループ名のカンマとスペースで区切られたリストを戻します。
構文
APEX_UTIL.GET_GROUPS_USER_BELONGS_TO( p_username IN VARCHAR2); RETURN VARCHAR2;
パラメータ
表1-33に、GET_GROUPS_USER_BELONGS_TO
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_GROUPS_USER_BELONGS_TO(p_username => 'FRANK'); END;
このファンクションは、作業領域内の指定したグループの数値のIDを戻します。
構文
APEX_UTIL.GET_GROUP_ID( p_group_name) RETURN VARCHAR2;
パラメータ
表1-34に、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;
パラメータ
表1-35に、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;
パラメータ
表1-36に、GET_LAST_NAME
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_LAST_NAME(p_username => 'FRANK'); END;
このファンクションは、数値のIDで指定したユーザー・アカウントのユーザー名を戻します。
構文
APEX_UTIL.GET_USERNAME( p_userid) RETURN VARCHAR2;
パラメータ
表1-37に、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;
パラメータ
表1-38に、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;
パラメータ
表1-39に、GET_PREFERENCE
ファンクションで使用可能なパラメータを示します。
表1-39 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;
このファンクションは、XMLベースのレポート・データ、およびRTFベースまたはXSL-FOベースのレポート・レイアウトを使用して、ドキュメントをBLOBとして戻します。
構文
APEX_UTIL.GET_PRINT_DOCUMENT ( p_report_data IN BLOB, p_report_layout IN CLOB, p_report_layout_type IN VARCHAR2 default 'xsl-fo', p_document_format IN VARCHAR2 default 'pdf', p_print_server IN VARCHAR2 default NULL ) RETURN BLOB;
パラメータ
表1-40に、GET_PRINT_DOCUMENT
ファンクションで使用可能なパラメータを示します。
表1-40 GET_PRINT_DOCUMENTのパラメータ
パラメータ | 説明 |
---|---|
|
XMLベースのレポート・データ |
|
XSL-FO形式またはRTF形式のレポート・レイアウト |
|
レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf") |
|
ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml") |
|
プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。 |
このファンクションは、事前定義されたレポート問合せおよび事前定義されたレポート・レイアウトを使用して、ドキュメントをBLOBとして戻します。
構文
APEX_UTIL.GET_PRINT_DOCUMENT ( p_application_id IN NUMBER, p_report_layout_name IN VARCHAR2, p_report_query_name IN VARCHAR2, p_report_layout_name IN VARCHAR2 default null, p_report_layout_type IN VARCHAR2 default 'xsl-fo', p_document_format IN VARCHAR2 default 'pdf', p_print_server IN VARCHAR2 default null ) RETURN BLOB;
パラメータ
表1-41に、GET_PRINT_DOCUMENT
ファンクションで使用可能なパラメータを示します。
表1-41 GET_PRINT_DOCUMENTのパラメータ
パラメータ | 説明 |
---|---|
|
レポート問合せのアプリケーションIDを定義します |
|
レポート・レイアウトの名前(アプリケーションの共有コンポーネントの下に保存) |
|
レポート問合せの名前(アプリケーションの共有コンポーネントの下に保存) |
|
レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf") |
|
ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml") |
|
プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。 |
このファンクションは、事前定義されたレポート問合せ、およびRTFベースまたはXSL-FOベースのレポート・レイアウトを使用して、ドキュメントをBLOBとして戻します。
構文
APEX_UTIL.GET_PRINT_DOCUMENT ( p_application_id IN NUMBER, p_report_query_name IN VARCHAR2, p_report_layout IN CLOB, p_report_layout_type IN VARCHAR2 default 'xsl-fo', p_document_format IN VARCHAR2 default 'pdf', p_print_server IN VARCHAR2 default null ) RETURN BLOB;
パラメータ
表1-42に、GET_PRINT_DOCUMENT
ファンクションで使用可能なパラメータを示します。
表1-42 GET_PRINT_DOCUMENTのパラメータ
パラメータ | 説明 |
---|---|
|
レポート問合せのアプリケーションIDを定義します |
|
レポート問合せの名前(アプリケーションの共有コンポーネントの下に保存) |
|
XSL-FO形式またはRTF形式のレポート・レイアウトを定義します |
|
レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf") |
|
ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml") |
|
プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。 |
このファンクションは、XMLベースのレポート・データ、およびRTFベースまたはXSL-FOベースのレポート・レイアウトを使用して、ドキュメントをBLOB
として戻します。
構文
APEX_UTIL.GET_PRINT_DOCUMENT ( p_report_data IN CLOB, p_report_layout IN CLOB, p_report_layout_type IN VARCHAR2 default 'xsl-fo', p_document_format IN VARCHAR2 default 'pdf', p_print_server IN VARCHAR2 default NULL ) RETURN BLOB;
パラメータ
表1-43に、GET_PRINT_DOCUMENT
ファンクションで使用可能なパラメータを示します。
表1-43 GET_PRINT_DOCUMENTのパラメータ
パラメータ | 説明 |
---|---|
|
XMLベースのレポート・データ(UTF-8でエンコードされている必要があります) |
|
XSL-FO形式またはRTF形式のレポート・レイアウト |
|
レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf") |
|
ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml") |
|
プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます |
このプロシージャは、XMLベースのレポート・データ、およびRTFベースまたはXSL-FOベースのレポート・レイアウトを使用して、印刷用ドキュメントのダウンロードを開始します。
構文
APEX_UTIL.DOWNLOAD_PRINT_DOCUMENT ( p_file_name IN VARCHAR, p_content_disposition IN VARCHAR, p_report_data IN BLOB, p_report_layout IN CLOB, p_report_layout_type IN VARCHAR2 default 'xsl-fo', p_document_format IN VARCHAR2 default 'pdf', p_print_server IN VARCHAR2 default null;
パラメータ
表1-44に、DOWNLOAD_PRINT_DOCUMENT
ファンクションで使用可能なパラメータを示します。
表1-44 DOWNLOAD_PRINT_DOCUMENTのパラメータ
パラメータ | 説明 |
---|---|
|
印刷用ドキュメントのファイル名を定義します |
|
印刷用ドキュメントをダウンロードするのか、インライン表示するのかを指定します("attachment"、"inline") |
|
XMLベースのレポート・データ |
|
XSL-FO形式またはRTF形式のレポート・レイアウト |
|
レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf") |
|
ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml") |
|
プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。 |
このプロシージャは、事前定義されたレポート問合せと、RTFベースおよびXSL-FOベースのレポート・レイアウトを使用して、印刷用ドキュメントのダウンロードを開始します。
構文
APEX_UTIL.DOWNLOAD_PRINT_DOCUMENT ( p_file_name IN VARCHAR, p_content_disposition IN VARCHAR, p_application_id IN NUMBER, p_report_query_name IN VARCHAR2, p_report_layout IN CLOB, p_report_layout_type IN VARCHAR2 default 'xsl-fo', p_document_format IN VARCHAR2 default 'pdf', p_print_server IN VARCHAR2 default null;
パラメータ
表1-45に、DOWNLOAD_PRINT_DOCUMENT
ファンクションで使用可能なパラメータを示します。
表1-45 DOWNLOAD_PRINT_DOCUMENTのパラメータ
パラメータ | 説明 |
---|---|
|
印刷用ドキュメントのファイル名を定義します |
|
印刷用ドキュメントをダウンロードするのか、インライン表示するのかを指定します("attachment"、"inline") |
|
レポート問合せのアプリケーションIDを定義します |
|
レポート問合せの名前(アプリケーションの共有コンポーネントの下に保存) |
|
XSL-FO形式またはRTF形式のレポート・レイアウト |
|
レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf") |
|
ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml") |
|
プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。 |
このプロシージャは、事前定義されたレポート問合せおよび事前定義されたレポート・レイアウトを使用して、印刷用ドキュメントのダウンロードを開始します。
構文
APEX_UTIL.DOWNLOAD_PRINT_DOCUMENT ( p_file_name IN VARCHAR, p_content_disposition IN VARCHAR, p_application_id IN NUMBER, p_report_query_name IN VARCHAR2, p_report_layout_name IN VARCHAR2, p_report_layout_type IN VARCHAR2 default 'xsl-fo', p_document_format IN VARCHAR2 default 'pdf', p_print_server IN VARCHAR2 default null;
パラメータ
表1-46に、DOWNLOAD_PRINT_DOCUMENT
ファンクションで使用可能なパラメータを示します。
表1-46 DOWNLOAD_PRINT_DOCUMENTのパラメータ
パラメータ | 説明 |
---|---|
|
印刷用ドキュメントのファイル名を定義します |
|
印刷用ドキュメントをダウンロードするのか、インライン表示するのかを指定します("attachment"、"inline") |
|
レポート問合せのアプリケーションIDを定義します |
|
レポート問合せの名前(アプリケーションの共有コンポーネントの下に保存) |
|
レポート・レイアウトの名前(アプリケーションの共有コンポーネントの下に保存) |
|
レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf") |
|
ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml") |
|
プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。 |
このプロシージャは、XMLベースのレポート・データ、およびRTFベースまたはXSL-FOベースのレポート・レイアウトを使用して、印刷用ドキュメントのダウンロードを開始します。
構文
APEX_UTIL.DOWNLOAD_PRINT_DOCUMENT ( p_file_name IN VARCHAR, p_content_disposition IN VARCHAR, p_report_data IN CLOB, p_report_layout IN CLOB, p_report_query_name IN VARCHAR2, p_report_layout_type IN VARCHAR2 default 'xsl-fo', p_document_format IN VARCHAR2 default 'pdf', p_print_server IN VARCHAR2 default null;
パラメータ
表1-47に、DOWNLOAD_PRINT_DOCUMENT
ファンクションで使用可能なパラメータを示します。
表1-47 DOWNLOAD_PRINT_DOCUMENTのパラメータ
パラメータ | 説明 |
---|---|
|
印刷用ドキュメントのファイル名を定義します |
|
印刷用ドキュメントをダウンロードするのか、インライン表示するのかを指定します("attachment"、"inline") |
p_report_data |
XMLベースのレポート・データ(UTF-8でエンコードされている必要があります) |
|
XSL-FO形式またはRTF形式のレポート・レイアウト |
|
レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf") |
|
ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml") |
|
プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。 |
このファンクションはアイテムの値を戻します。PL/SQLまたはSQLが使用可能な場合に、このファンクションをOracle Application Expressアプリケーションで使用できます。また、APEX_UTIL.GET_SESSION_STATE
のかわりに、短縮版のファンクションV
を使用できます。
構文
APEX_UTIL.GET_SESSION_STATE ( p_item IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表1-48に、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;
パラメータ
表1-49に、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;
パラメータ
表1-50に、GET_USER_ROLES
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL VARCHAR2; BEGIN VAL := APEX_UTIL.GET_USER_ROLES(p_username=>'FRANK'); END;
このファンクションは、現在の作業領域内の指定したユーザー・アカウントのパスワードの検証に基づいてブール結果を戻します。パスワードが一致した場合はtrueを、パスワードが一致しない場合はfalseを戻します。
構文
APEX_UTIL.IS_LOGIN_PASSWORD_VALID( p_username IN VARCHAR2, p_password IN VARCHAR2); RETURN BOOLEAN;
パラメータ
表1-51に、IS_LOGIN_PASSWORD_VALID
ファンクションで使用可能なパラメータを示します。
表1-51 IS_LOGIN_PASSWORD_VALIDのパラメータ
パラメータ | 説明 |
---|---|
|
アカウント内のユーザー名 |
|
アカウントに格納されているパスワードと比較されるパスワード |
例
DECLARE VAL BOOLEAN; BEGIN VAL := APEX_UTIL. IS_LOGIN_PASSWORD_VALID ( p_username=>'FRANK' p_password=>'tiger'); END;
このファンクションは、指定したユーザー・アカウントが作業領域内で一意であるかどうかに基づいてブール結果を戻します。
構文
APEX_UTIL.IS_USERNAME_UNIQUE( p_username IN VARCHAR2) RETURN BOOLEAN;
パラメータ
表1-52に、IS_USERNAME_UNIQUE
ファンクションで使用可能なパラメータを示します。
例
DECLARE VAL BOOLEAN; BEGIN VAL := APEX_UTIL.IS_USERNAME_UNIQUE( p_username=>'FRANK'); END;
このファンクションは、APEX_UTIL.SAVEKEY_NUM
によって設定されたパッケージ変数(wwv_flow_utilities.g_val_num
)の値を取得します。
構文
APEX_UTIL.KEYVAL_NUM;
パラメータ
表1-53に、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 );
パラメータ
表1-54に、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
;
パラメータ
表1-55に、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;
パラメータ
表1-56に、PREPARE_URLファンクションで使用可能なパラメータを示します。
表1-56 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;
パラメータ
表1-57に、PUBLIC_CHECK_AUTHORIZATION
ファンクションで使用可能なパラメータを示します。
表1-57 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,
パラメータ
表1-58に、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);
パラメータ
表1-59に、PURGE_REGIONS_BY_ID
で使用可能なパラメータを示します。
アプリケーション名およびページ番号で識別されるすべてのキャッシュされたリージョンを削除します。
構文
APEX_UTIL.PURGE_REGIONS_BY_NAME ( p_application IN NUMBER, p_page IN NUMBER, p_region_name IN VARCHAR2);
パラメータ
表1-60に、PURGE_REGIONS_BY_NAME
で使用可能なパラメータを示します。
アプリケーションおよびページによってキャッシュされたリージョンすべてを削除します。
構文
APEX_UTIL.PURGE_REGIONS_BY_PAGE ( p_application IN NUMBER, p_page IN NUMBER);
パラメータ
表1-61に、PURGE_REGIONS_BY_PAGE
で使用可能なパラメータを示します。
期限切れまたは使用できないすべてのキャッシュされたリージョンを削除します。
構文
APEX_UTIL.PURGE_STALE_REGIONS ( p_application IN NUMBER,
パラメータ
表1-62に、PURGE_STALE_REGIONS
で使用可能なパラメータを示します。
このファンクションは指定したユーザーのプリファレンスを削除します。
構文
APEX_UTIL.REMOVE_PREFERENCE( p_preference IN VARCHAR2 DEFAULT NULL, p_user IN VARCHAR2 DEFAULT V('USER'));
パラメータ
表1-63に、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'));
パラメータ
表1-64に、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);
パラメータ
表1-65に、REMOVE_WORKSPACE
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.REMOVE_USER(p_user_id=>'99997'); END; BEGIN APEX_UTIL.REMOVE_USER(p_user_name => 'FRANK'); 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);
パラメータ
表1-66に、RESET_PW
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.RESET_PW( p_user => 'FRANK', 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);
パラメータ
表1-67に、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);
パラメータ
表1-68に、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);
パラメータ
表1-69に、SET_ATTRIBUTE
プロシージャで使用可能なパラメータを示します。
表1-69 SET_ATTRIBUTEのパラメータ
パラメータ | 説明 |
---|---|
|
ユーザー・アカウントの数値のID |
|
ユーザー・レコードの属性番号(1から10) |
|
ユーザー・レコードに設定する、 |
例
DECLARE VAL VARCHAR2(30); BEGIN APEX_UTIL.SET_ATTRIBUTE ( p_userid => apex_util.get_user_id(p_username => 'FRANK'), p_attribute_number => 1, p_attribute_value => 'foo'); END;
このプロシージャは、アプリケーションのカスタム認証ファンクション(資格証明の検証ファンクション)からコールできます。このプロシージャに渡されたステータスは、「ログイン・アクセス・ログ」にログ出力されます。
参照: Oracle Application Express管理ガイドの「作業領域内のアクティビティの監視」 |
構文
APEX_UTIL.SET_AUTHENTICATION_RESULT( p_code IN NUMBER );
パラメータ
表1-70に、SET_AUTHENTICATION_RESULT
プロシージャで使用可能なパラメータを示します。
表1-70 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;
このプロシージャは、アプリケーションのカスタム認証ファンクション(資格証明の検証ファンクション)からコールできます。このプロシージャに渡されたステータスは、「ログイン・アクセス・ログ」にログ出力されます。
参照: Oracle Application Express管理ガイドの「作業領域内のアクティビティの監視」 |
構文
APEX_UTIL.SET_CUSTOM_AUTH_STATUS( p_status IN VARCHAR2 );
パラメータ
表1-71に、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);
パラメータ
表1-72に、SET_EMAIL
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.SET_EMAIL( p_userid => '888883232', P_email => 'frank.scott@oracle.com'); END;
このプロシージャは、ユーザー・アカウントを新しいFIRST_NAME
値に更新します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
APEX_UTIL.SET_FIRST_NAME( p_userid IN NUMBER, p_first_name IN VARCHAR2);
パラメータ
表1-73に、SET_FIRST_NAME
プロシージャで使用可能なパラメータを示します。
表1-73 SET_FIRST_NAMEのパラメータ
パラメータ | 説明 |
---|---|
|
ユーザー・アカウントの数値のID |
|
ユーザー・アカウントに保存する |
例
BEGIN APEX_UTIL.SET_FIRST_NAME( p_userid => '888883232', P_first_name => 'FRANK'); END;
このプロシージャは、ユーザー・アカウントを新しいLAST_NAME
値に更新します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
APEX_UTIL.SET_LAST_NAME( p_userid IN NUMBER, p_last_name IN VARCHAR2);
パラメータ
表1-74に、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);
パラメータ
表1-75に、SET_PREFERENCE
プロシージャで使用可能なパラメータを示します。
表1-75 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);
パラメータ
表1-76に、SET_SESSION_STATE
プロシージャで使用可能なパラメータを示します。
表1-76 SET_SESSION_STATEのパラメータ
パラメータ | 説明 |
---|---|
|
セッション・ステートを設定する、アプリケーション・レベルまたはページ・レベルのアイテムの名前 |
|
設定するセッション・ステートの値 |
例
BEGIN APEX_UTIL.SET_SESSION_STATE('my_item','myvalue'); END;
このプロシージャは、ユーザー・アカウントを新しいUSER_NAME
値に更新します。このプロシージャを実行するには、カレント・ユーザーに作業領域での管理権限が必要です。
構文
APEX_UTIL.SET_USERNAME( p_userid IN NUMBER, p_username IN VARCHAR2);
パラメータ
表1-77に、SET_USERNAME
プロシージャで使用可能なパラメータを示します。
例
BEGIN APEX_UTIL.SET_USERNAME( p_userid => '888883232', P_username => 'USER-XRAY'); END;
このプロシージャは、提示されたパスワードがOracle Application Expressサイト管理者によって定義されたパスワード強度要件を満たすかどうかに基づいて、Boolean OUT
値を戻します。
構文
APEX_UTIL.STRONG_PASSWORD_CHECK( p_username IN VARCHAR2, p_password IN VARCHAR2, p_old_password IN VARCHAR2, p_workspace_name IN VARCHAR2, p_use_strong_rules IN BOOLEAN, p_min_length_err OUT BOOLEAN, p_new_differs_by_err OUT BOOLEAN, p_one_alpha_err OUT BOOLEAN, p_one_numeric_err OUT BOOLEAN, p_one_punctuation_err OUT BOOLEAN, p_one_upper_err OUT BOOLEAN, p_one_lower_err OUT BOOLEAN, p_not_like_username_err OUT BOOLEAN, p_not_like_workspace_name_err OUT BOOLEAN, p_not_like_words_err OUT BOOLEAN) ;
パラメータ
表1-78に、STRONG_PASSWORD_CHECK
プロシージャで使用可能なパラメータを示します。
表1-78 STRONG_PASSWORD_CHECKのパラメータ
パラメータ | 説明 |
---|---|
|
現行の作業領域内のアカウントを識別するユーザー名 |
|
パスワードの強度ルールを基準にチェックするパスワード |
|
アカウントの現行のパスワード(「新しいパスワードは古いパスワードと異なること」というルールを適用する目的のみに使用されます) |
|
現行の作業領域名(「パスワードには作業領域名を含まないこと」というルールを適用する目的のみに使用されます) |
|
このAPIをコールする場合は |
|
パスワードが、最小の長さの要件を満たすかどうかに基づいて、 |
|
パスワードが「新しいパスワードは古いパスワードと異なること」という要件を満たすかどうかに基づいて、 |
|
パスワードが、アルファベットを1文字以上含むことという要件を満たすかどうかに基づいて、 |
|
パスワードが、数字を1文字以上含むことという要件を満たすかどうかに基づいて、 |
|
パスワードが、句読記号を1文字以上含むことという要件を満たすかどうかに基づいて、 |
|
パスワードが、大文字を1文字以上含むことという要件を満たすかどうかに基づいて、 |
|
パスワードが、小文字を1文字以上含むことという要件を満たすかどうかに基づいて、 |
|
パスワードが、ユーザー名を含まないことという要件を満たすかどうかに基づいて、 |
|
パスワードが、作業領域名を含まないことという要件を満たすかどうかに基づいて、 |
|
パスワードが、指定された単純な単語を含まないことという要件を満たすかどうかに基づいて、 |
例
DECLARE l_username varchar2(30); l_password varchar2(30); l_old_password varchar2(30); l_workspace_name varchar2(30); l_min_length_err boolean; l_new_differs_by_err boolean; l_one_alpha_err boolean; l_one_numeric_err boolean; l_one_punctuation_err boolean; l_one_upper_err boolean; l_one_lower_err boolean; l_not_like_username_err boolean; l_not_like_workspace_name_err boolean; l_not_like_words_err boolean; BEGIN l_username := 'SOMEBODY'; l_password := 'foo'; l_old_password := 'foo'; l_workspace_name := 'XYX_WS'; APEX_UTIL.STRONG_PASSWORD_CHECK( p_username => l_username, p_password => l_password, p_old_password => l_old_password, p_workspace_name => l_workspace_name, p_use_strong_rules => false, p_min_length_err => l_min_length_err, p_new_differs_by_err => l_new_differs_by_err, p_one_alpha_err => l_one_alpha_err, p_one_numeric_err => l_one_numeric_err, p_one_punctuation_err => l_one_punctuation_err, p_one_upper_err => l_one_upper_err, p_one_lower_err => l_one_lower_err, p_not_like_username_err => l_not_like_username_err, p_not_like_workspace_name_err => l_not_like_workspace_name_err, p_not_like_words_err => l_not_like_words_err) IF l_min_length_err THEN htp.p('Password is too short'); END IF; IF l_new_differs_by_err THEN htp.p('Password is too similar to the old password'); END IF; IF l_one_alpha_err THEN htp.p('Password must contain at least one alphabetic character'); END IF; IF l_one_numeric_err THEN htp.p('Password must contain at least one numeric character'); END IF; IF l_one_punctuation_err THEN htp.p('Password must contain at least one punctuation character'); END IF; IF l_one_lower_err THEN htp.p('Password must contain at least one lower-case character'); END IF; IF l_not_like_username_err THEN htp.p('Password may not contain the username'); END IF; IF l_not_like_workspace_name_err THEN htp.p('Password may not contain the workspace name'); END IF; IF l_not_like_words_err THEN htp.p('Password contains one or more prohibited common words'); END IF; END;
このファンクションは、提示されたパスワードがOracle Application Expressサイト管理者によって定義されたパスワード強度要件を満たすかどうかに基づいて、結果を書式化されたHTMLとしてVARCHAR2で戻します。
構文
FUNCTION STRONG_PASSWORD_VALIDATION( p_username IN VARCHAR2, p_password IN VARCHAR2, P_OLD_PASSWORD IN VARCHAR2 DEFAULT NULL, P_WORKSPACE_NAME IN VARCHAR2) RETURN VARCHAR2 ;
パラメータ
表1-79に、STRONG_PASSWORD_VALIDATION
ファンクションで使用可能なパラメータを示します。
表1-79 STRONG_PASSWORD_VALIDATIONのパラメータ
パラメータ | 説明 |
---|---|
|
現行の作業領域内のアカウントを識別するユーザー名 |
|
パスワードの強度ルールを基準にチェックするパスワード |
|
アカウントの現行のパスワード(「新しいパスワードは古いパスワードと異なること」というルールを適用する目的のみに使用されます) |
|
現行の作業領域名(「パスワードには作業領域名を含まないこと」というルールを適用する目的のみに使用されます) |
例
DECLARE l_username varchar2(30); l_password varchar2(30); l_old_password varchar2(30); l_workspace_name varchar2(30); BEGIN l_username := 'SOMEBODY'; l_password := 'foo'; l_old_password := 'foo'; l_workspace_name := 'XYX_WS'; HTP.P(APEX_UTIL.STRONG_PASSWORD_VALIDATION( p_username => l_username, p_password => l_password, p_old_password => l_old_password, p_workspace_name => l_workspace_name, IF l_min_length_err THEN htp.p('Password is too short'); END IF; IF l_new_differs_by_err THEN htp.p('Password is too similar to the old password'); END IF; IF l_one_alpha_err THEN htp.p('Password must contain at least one alphabetic character'); END IF; IF l_one_numeric_err THEN htp.p('Password must contain at least one numeric character'); END IF; IF l_one_punctuation_err THEN htp.p('Password must contain at least one punctuation character'); END IF; IF l_one_lower_err THEN htp.p('Password must contain at least one lower-case character'); END IF; IF l_not_like_username_err THEN htp.p('Password may not contain the username'); END IF; IF l_not_like_workspace_name_err THEN htp.p('Password may not contain the workspace name'); END IF; IF l_not_like_words_err THEN htp.p('Password contains one or more prohibited common words'); END IF; 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;
パラメータ
表1-80に、STRING_TO_TABLE
ファンクションで使用可能なパラメータを示します。
表1-80 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;
パラメータ
表1-81に、TABLE_TO_STRING
ファンクションで使用可能なパラメータを示します。
例
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 );
パラメータ
表1-82に、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 );
パラメータ
表1-83に、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 );
パラメータ
表1-84に、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;
パラメータ
表1-85に、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 ;
パラメータ
表1-86に、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;