Oracle® Application Express

APIリファレンス

リリース3.2

B53798-03(原本部品番号:E12510-02)

2013年8月

Oracle Application Express APIリファレンス, リリース3.2

B53798-03

Copyright © 2003, 2013, Oracle and/or its affiliates.All rights reserved.

原本著者: Drue Swadener

原本協力者: Marco Adelfio、Drue Baker、Carl Backstrom、Christina Cho、Steve Fogel、Michael Hichwa、Terri Jennings、Christopher Jones、Joel Kallman、Sharon Kennedy、Syme Kutz、Sergio Leunissen、Anne Romano、Kris Rice、Marc Sewtz、Scott Spadafore、Scott Spendolini、Jason Straub、Simon Watt

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- トピック概要

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

1 APEX_UTIL

- CACHE_GET_DATE_OF_PAGE_CACHEファンクション

- CACHE_GET_DATE_OF_REGION_CACHEファンクション

- CACHE_PURGE_BY_APPLICATIONプロシージャ

- CACHE_PURGE_BY_PAGEプロシージャ

- CACHE_PURGE_STALEプロシージャ

- CHANGE_CURRENT_USER_PWプロシージャ

- CHANGE_PASSWORD_ON_FIRST_USEファンクション

- CLEAR_APP_CACHEプロシージャ

- CLEAR_PAGE_CACHEプロシージャ

- CLEAR_USER_CACHEプロシージャ

- COUNT_CLICKプロシージャ

- CREATE_USERプロシージャ

- CREATE_USER_GROUPプロシージャ

- CURRENT_USER_IN_GROUPファンクション

- DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ1

- DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ2

- DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ3

- DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ4

- EDIT_USERプロシージャ

- END_USER_ACCOUNT_DAYS_LEFTファンクション

- EXPIRE_END_USER_ACCOUNTプロシージャ

- EXPIRE_WORKSPACE_ACCOUNTプロシージャ

- EXPORT_USERSプロシージャ

- FETCH_APP_ITEMファンクション

- FETCH_USERプロシージャのシグネチャ1

- FETCH_USERプロシージャのシグネチャ2

- FETCH_USERプロシージャのシグネチャ3

- FIND_SECURITY_GROUP_IDファンクション

- FIND_WORKSPACEファンクション

- GET_ACCOUNT_LOCKED_STATUSファンクション

- GET_ATTRIBUTEファンクション

- GET_AUTHENTICATION_RESULTファンクション

- GET_BLOB_FILE_SRCファンクション

- GET_CURRENT_USER_IDファンクション

- GET_DEFAULT_SCHEMAファンクション

- GET_EMAILファンクション

- GET_FILEプロシージャ

- GET_FILE_IDファンクション

- GET_FIRST_NAMEファンクション

- GET_GROUPS_USER_BELONGS_TOファンクション

- GET_GROUP_IDファンクション

- GET_GROUP_NAMEファンクション

- GET_LAST_NAMEファンクション

- GET_NUMERIC_SESSION_STATEファンクション

- GET_PREFERENCEファンクション

- GET_PRINT_DOCUMENTファンクションのシグネチャ1

- GET_PRINT_DOCUMENTファンクションのシグネチャ2

- GET_PRINT_DOCUMENTファンクションのシグネチャ3

- GET_PRINT_DOCUMENTファンクションのシグネチャ4

- GET_SESSION_STATEファンクション

- GET_USER_IDファンクション

- GET_USER_ROLESファンクション

- GET_USERNAMEファンクション

- IS_LOGIN_PASSWORD_VALIDファンクション

- IS_USERNAME_UNIQUEファンクション

- KEYVAL_NUMファンクション

- KEYVAL_VC2ファンクション

- LOCK_ACCOUNTプロシージャ

- PASSWORD_FIRST_USE_OCCURREDファンクション

- PREPARE_URLファンクション

- PUBLIC_CHECK_AUTHORIZATIONファンクション

- PURGE_REGIONS_BY_APPプロシージャ

- PURGE_REGIONS_BY_NAMEプロシージャ

- PURGE_REGIONS_BY_PAGEプロシージャ

- REMOVE_PREFERENCEプロシージャ

- REMOVE_SORT_PREFERENCESプロシージャ

- REMOVE_USERプロシージャ

- RESET_AUTHORIZATIONSプロシージャ

- RESET_PWプロシージャ

- SAVEKEY_NUMファンクション

- SAVEKEY_VC2ファンクション

- SET_ATTRIBUTEプロシージャ

- SET_AUTHENTICATION_RESULTプロシージャ

- SET_CUSTOM_AUTH_STATUSプロシージャ

- SET_EMAILプロシージャ

- SET_FIRST_NAMEプロシージャ

- SET_LAST_NAMEプロシージャ

- SET_PREFERENCEプロシージャ

- SET_SESSION_LIFETIME_SECONDSプロシージャ

- SET_SESSION_MAX_IDLE_SECONDSプロシージャ

- SET_SESSION_STATEプロシージャ

- SET_USERNAMEプロシージャ

- STRONG_PASSWORD_CHECKプロシージャ

- STRONG_PASSWORD_VALIDATIONファンクション

- STRING_TO_TABLEファンクション

- TABLE_TO_STRINGファンクション

- UNEXPIRE_END_USER_ACCOUNTプロシージャ

- UNEXPIRE_WORKSPACE_ACCOUNTプロシージャ

- UNLOCK_ACCOUNTプロシージャ

- URL_ENCODEファンクション

- WORKSPACE_ACCOUNT_DAYS_LEFTファンクション

2 APEX_MAIL

- ADD_ATTACHMENTプロシージャ

- PUSH_QUEUEプロシージャ

- SENDプロシージャ

3 APEX_ITEM

- CHECKBOXファンクション

- DATE_POPUPファンクション

- DISPLAY_AND_SAVEファンクション

- HIDDENファンクション

- MD5_CHECKSUMファンクション

- MD5_HIDDENファンクション

- POPUP_FROM_LOVファンクション

- POPUP_FROM_QUERYファンクション

- POPUPKEY_FROM_LOVファンクション

- POPUPKEY_FROM_QUERYファンクション

- RADIOGROUPファンクション

- SELECT_LISTファンクション

- SELECT_LIST_FROM_LOVファンクション

- SELECT_LIST_FROM_LOV_XLファンクション

- SELECT_LIST_FROM_QUERYファンクション

- SELECT_LIST_FROM_QUERY_XLファンクション

- TEXTファンクション

- TEXTAREAファンクション

- TEXT_FROM_LOVファンクション

- TEXT_FROM_LOV_QUERYファンクション

4 APEX_APPLICATION

- 配列の参照

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

- 配列の単一値への変換

- HELPプロシージャ

5 APEX_CUSTOM_AUTH

- APPLICATION_PAGE_ITEM_EXISTSファンクション

- CURRENT_PAGE_IS_PUBLICファンクション

- DEFINE_USER_SESSIONプロシージャ

- GET_COOKIE_PROPSプロシージャ

- GET_LDAP_PROPSプロシージャ

- GET_NEXT_SESSION_IDファンクション

- GET_SECURITY_GROUP_IDファンクション

- GET_SESSION_IDファンクション

- GET_SESSION_ID_FROM_COOKIEファンクション

- GET_USERファンクション

- GET_USERNAMEファンクション

- IS_SESSION_VALIDファンクション

- LOGINプロシージャ

- LOGOUTプロシージャ

- POST_LOGINプロシージャ

- SESSION_ID_EXISTSファンクション

- SET_SESSION_IDプロシージャ

- SET_SESSION_ID_TO_NEXT_VALUEプロシージャ

- SET_USERプロシージャ

6 APEX_LDAP

- AUTHENTICATEファンクション

- GET_ALL_USER_ATTRIBUTESプロシージャ

- GET_USER_ATTRIBUTESプロシージャ

- IS_MEMBERファンクション

- MEMBER_OFファンクション

- MEMBER_OF2ファンクション

7 APEX_INSTANCE_ADMIN

- ADD_SCHEMAプロシージャ

- ADD_WORKSPACEプロシージャ

- GET_PARAMETERファンクション

- GET_SCHEMASファンクション

- REMOVE_SAVED_REPORTSプロシージャ

- REMOVE_SCHEMAプロシージャ

- REMOVE_WORKSPACEプロシージャ

- SET_PARAMETERプロシージャ

- 使用可能なパラメータ値

8 APEX_UI_DEFAULT_UPDATE

- UPD_DISPLAY_IN_FORMプロシージャ

- UPD_DISPLAY_IN_REPORTプロシージャ

- UPD_FORM_REGION_TITLEプロシージャ

- UPD_ITEM_DISPLAY_HEIGHTプロシージャ

- UPD_ITEM_DISPLAY_WIDTHプロシージャ

- UPD_ITEM_FORMAT_MASKプロシージャ

- UPD_ITEM_HELPプロシージャ

- UPD_LABELプロシージャ

- UPD_REPORT_ALIGNMENTプロシージャ

- UPD_REPORT_FORMAT_MASKプロシージャ

- UPD_REPORT_REGION_TITLEプロシージャ

9 JavaScript API

- $x(pNd)

- $v(pNd)

- $s(pNd, pValue)

- $u_Carray(pNd)

- $u_Narray(pNd)

- $nvl(pTest, pDefault)

- doSubmit(pRequest)

- confirmDelete(pMessage, pRequest)

- $x_Style(pNd, pStyle, pString)

- $x_Hide(pNd)

- $x_Show(pNd)

- $x_Toggle(pNd)

- $x_Remove(pNd)

- $x_Value(pNd,pValue)

- $x_UpTill(pNd, pToTag)

- $x_ItemRow(pNd,pFunc)

- $x_HideItemRow(pNd)

- $x_ShowItemRow(pNd)

- $x_ToggleItemRow(pNd)

- $x_HideAllExcept(pNd,pNdArray)

- $x_HideSiblings(pNd)

- $x_ShowSiblings(pNd)

- $x_Class(pNd,pClass)

- $x_SetSiblingsClass(pNd, pClass, pNdClass)

- $x_ByClass(pClass, pNd, pTag)

- $x_ShowAllByClass(pNd, pClass, pTag)

- $x_ShowChildren(pNd)

- $x_HideChildren(pNd)

- $x_disableItem(pNd, pTest)

- $f_get_emptys(pNd, pClassFail, pClass)

- $v_Array(pNd)

- $f_ReturnChecked(pNd)

- $d_ClearAndHide(pNd)

- $f_SelectedOptions(pNd)

- $f_SelectValue(pNd)

- $u_ArrayToString(pArray, pDelim)

- $x_CheckImageSrc(pId,pSearch)

- $v_CheckValueAgainst(pThis, pValue)

- $f_Hide_On_Value_Item(pThis, pThat, pValue)

- $f_Show_On_Value_Item(pThis, pThat, pValue)

- $f_Hide_On_Value_Item_Row(pThis, pThat, pValue)

- $f_Show_On_Value_Item_Row(pThis, pThat, pValue)

- $f_DisableOnValue(pThis, pValue, pThat)

- $x_ClassByClass(pNd, pClass, pTag, pClass2)

- $f_ValuesToArray(pThis, pClass, pTag)

- $x_FormItems(pNd, pType)

- $f_CheckAll(pThis, pCheck, pArray)

- $f_CheckFirstColumn(pNd)

- $v_PopupReturn(pValue, pThat)

- $x_ToggleWithImage(pThis,pNd)

- $x_SwitchImageSrc(pNd, pSearch, pReplace)

- $x_CheckImageSrc(pNd, pSearch)

- $u_SubString(pText,pMatch)

- html_RemoveAllChildren(pNd)

- $v_IsEmpty(pThis)

- html_SetSelectValue(pId,pValue)

- addLoadEvent(pFunction)

- $f_Swap(pThis,pThat)

- submitEnter(pNd,e)

- $f_SetValueSequence(pArray,pMultiple)

- $dom_AddTag(pThis, pTag, pText)

- $tr_AddTD(pThis,pText)

- $tr_AddTH(pThis,pText)

- $dom_AddInput(pThis,pType,pId,pName,pValue)

- $dom_MakeParent(p_Node,p_Parent)

- $x_RowHighlight(pThis, pColor)

- $x_RowHighlightOff(pThis)

- $v_Upper(pNd)

- $d_Find(pThis,pString,pTags,pClass)

- returnInput(p_R, p_D)

- setReturn(p_R,p_D)

- $f_First_field(pNd)

- GetCookie (pName)

- SetCookie (pName,pValue)

10 APEX_PLSQL_JOB

- JOBS_ARE_ENABLEDファンクション

- PURGE_PROCESSプロシージャ

- SUBMIT_PROCESSファンクション

- TIME_ELAPSEDファンクション

- UPDATE_JOB_STATUSプロシージャ

11 APEX_LANG

- LANGファンクション

- MESSAGEファンクション

はじめに

Oracle Application Express APIリファレンスでは、Oracle Application Express環境でプログラミングする際に使用可能な、APIと呼ばれるApplication Programming Interfaceについて説明します。

内容は次のとおりです。

- トピック概要

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

トピック概要

このマニュアルは、次の章で構成されています。

タイトル

説明

APEX_UTIL

APEX_UTILパッケージを使用すると、セッション・ステートの取得と設定、ファイルの取得、ユーザーの認可の確認、ユーザーへの別のステートの再設定、およびユーザーのプリファレンスの取得と設定を行うことができます。

APEX_MAIL

APEX_MAILパッケージを使用すると、Oracle Application Expressアプリケーションから電子メールを送信できます。

APEX_ITEM

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

APEX_APPLICATION

APEX_APPLICATIONパッケージを使用すると、多数のグローバル変数を利用できます。

APEX_CUSTOM_AUTH

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

APEX_LDAP

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

APEX_INSTANCE_ADMIN

APEX_INSTANCE_ADMINパッケージを使用すると、電子メール設定、ウォレット設定、レポート出力設定などの取得と設定を行い、スキーマとワークスペースのマッピングを管理できます。

APEX_UI_DEFAULT_UPDATE

APEX_UI_DEFAULT_UPDATEパッケージを使用すると、ユーザー・インタフェースのデフォルト値を設定して、スキーマ内の表に関連付けることができます。このパッケージは、更新する表を所有しているスキーマ内からコールする必要があります。

JavaScript API

これらのJavaScriptファンクションおよびオブジェクトを使用することで、クライアント側の機能(ページ要素の表示/非表示、XML HTTP Asynchronous JavaScriptおよびXML (AJAX)リクエストの作成など)を提供できます。

APEX_PLSQL_JOB

APEX_PLSQL_JOBパッケージを使用すると、アプリケーションのバックグラウンドでPL/SQLコードを実行できます。操作が完了していない状態でもユーザーがアプリケーションで作業を継続できるため、長時間実行操作の管理に有効な方法です。

APEX_LANG

APEX_LANG APIを使用してメッセージを翻訳できます。

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

対象読者

Oracle Application Express APIリファレンスは、Oracle Application Expressを使用してデータベース集中型のWebアプリケーションを構築するアプリケーション開発者を対象としています。このガイドでは、Oracle Application Express環境でプログラミングする際に使用可能なAPIについて説明します。

このガイドを使用するには、リレーショナル・データベースの概念、およびOracle Application Expressを実行するオペレーティング・システム環境について理解しておく必要があります。

参照:
『Oracle Database Application Express 2日で開発者ガイド』

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

Oracleサポート・サービスでは、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

ドキュメント内のサンプル・コードのアクセシビリティについて

スクリーン・リーダーは、ドキュメント内のサンプル・コードを正確に読めない場合があります。コード表記規則では閉じ括弧のみを行に記述する必要があります。しかし、一部のスクリーン・リーダーは括弧のみの行を読まない場合があります。

関連ドキュメント

詳細は、次のOracleドキュメントを参照してください。

- 『Oracle Application Expressリリース・ノート』

- 『Oracle Application Expressインストレーション・ガイド』

- 『Oracle Database Application Express 2日で開発者ガイド』

- Oracle Application Expressアドバンスト・チュートリアル

- 『Oracle Application Express管理ガイド』

- 『Oracle Application Expressアプリケーション移行ガイド』

- Oracle Application Express SQLワークショップおよびユーティリティ・ガイド

- 『Oracle Database概要』

- 『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』

- 『Oracle Database管理者ガイド』

- 『Oracle Database SQL言語リファレンス』

- 『SQL*Plusユーザーズ・ガイドおよびリファレンス』

- 『Oracle Database PL/SQL言語リファレンス』

その他のアプリケーションの例については、Learning Libraryを参照してください。Oracle by Example(OBE)、デモ、チュートリアルなどの無料オンライン・トレーニング・コンテンツを検索します。次のURLでOracle Learning Libraryにアクセスしてください。

http://www.oracle.com/technetwork/tutorials/index.html

印刷されたマニュアルは次のURLのOracle Storeで入手できます。

http://shop.oracle.com/

すでにOTNのユーザー名およびパスワードを取得している場合は、次のURLでOTN Webサイトのドキュメントのセクションに直接接続できます。

http://www.oracle.com/technology/documentation/

表記規則

PL/SQLサブプログラムの表記規則の詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。このマニュアルには、次の情報が含まれています。

- サブプログラムのパラメータ・モードの指定

- サブプログラムのパラメータのデフォルト値の指定

- PL/SQLサブプログラムの名前のオーバーロード

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 APEX_UTIL

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

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

- CACHE_GET_DATE_OF_PAGE_CACHEファンクション

- CACHE_GET_DATE_OF_REGION_CACHEファンクション

- CACHE_PURGE_BY_APPLICATIONプロシージャ

- CACHE_PURGE_BY_PAGEプロシージャ

- CACHE_PURGE_STALEプロシージャ

- CHANGE_CURRENT_USER_PWプロシージャ

- CHANGE_PASSWORD_ON_FIRST_USEファンクション

- CLEAR_APP_CACHEプロシージャ

- CLEAR_PAGE_CACHEプロシージャ

- CLEAR_USER_CACHEプロシージャ

- COUNT_CLICKプロシージャ

- CREATE_USERプロシージャ

- CREATE_USER_GROUPプロシージャ

- CURRENT_USER_IN_GROUPファンクション

- DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ1

- DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ2

- DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ3

- DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ4

- EDIT_USERプロシージャ

- END_USER_ACCOUNT_DAYS_LEFTファンクション

- EXPIRE_END_USER_ACCOUNTプロシージャ

- EXPIRE_WORKSPACE_ACCOUNTプロシージャ

- EXPORT_USERSプロシージャ

- FETCH_APP_ITEMファンクション

- FETCH_USERプロシージャのシグネチャ1

- FETCH_USERプロシージャのシグネチャ2

- FETCH_USERプロシージャのシグネチャ3

- FIND_SECURITY_GROUP_IDファンクション

- FIND_WORKSPACEファンクション

- GET_ACCOUNT_LOCKED_STATUSファンクション

- GET_ATTRIBUTEファンクション

- GET_AUTHENTICATION_RESULTファンクション

- GET_BLOB_FILE_SRCファンクション

- GET_CURRENT_USER_IDファンクション

- GET_DEFAULT_SCHEMAファンクション

- GET_EMAILファンクション

- GET_FILEプロシージャ

- GET_FILE_IDファンクション

- GET_FIRST_NAMEファンクション

- GET_GROUPS_USER_BELONGS_TOファンクション

- GET_GROUP_IDファンクション

- GET_GROUP_NAMEファンクション

- GET_LAST_NAMEファンクション

- GET_NUMERIC_SESSION_STATEファンクション

- GET_PREFERENCEファンクション

- GET_PRINT_DOCUMENTファンクションのシグネチャ1

- GET_PRINT_DOCUMENTファンクションのシグネチャ2

- GET_PRINT_DOCUMENTファンクションのシグネチャ3

- GET_PRINT_DOCUMENTファンクションのシグネチャ4

- GET_SESSION_STATEファンクション

- GET_USER_IDファンクション

- GET_USER_ROLESファンクション

- GET_USERNAMEファンクション

- IS_LOGIN_PASSWORD_VALIDファンクション

- IS_USERNAME_UNIQUEファンクション

- KEYVAL_NUMファンクション

- KEYVAL_VC2ファンクション

- LOCK_ACCOUNTプロシージャ

- PASSWORD_FIRST_USE_OCCURREDファンクション

- PREPARE_URLファンクション

- PUBLIC_CHECK_AUTHORIZATIONファンクション

- PURGE_REGIONS_BY_APPプロシージャ

- PURGE_REGIONS_BY_NAMEプロシージャ

- PURGE_REGIONS_BY_PAGEプロシージャ

- REMOVE_PREFERENCEプロシージャ

- REMOVE_SORT_PREFERENCESプロシージャ

- REMOVE_USERプロシージャ

- RESET_AUTHORIZATIONSプロシージャ

- RESET_PWプロシージャ

- SAVEKEY_NUMファンクション

- SAVEKEY_VC2ファンクション

- SET_ATTRIBUTEプロシージャ

- SET_AUTHENTICATION_RESULTプロシージャ

- SET_CUSTOM_AUTH_STATUSプロシージャ

- SET_EMAILプロシージャ

- SET_FIRST_NAMEプロシージャ

- SET_LAST_NAMEプロシージャ

- SET_PREFERENCEプロシージャ

- SET_SESSION_LIFETIME_SECONDSプロシージャ

- SET_SESSION_MAX_IDLE_SECONDSプロシージャ

- SET_SESSION_STATEプロシージャ

- SET_USERNAMEプロシージャ

- STRONG_PASSWORD_CHECKプロシージャ

- STRONG_PASSWORD_VALIDATIONファンクション

- STRING_TO_TABLEファンクション

- TABLE_TO_STRINGファンクション

- UNEXPIRE_END_USER_ACCOUNTプロシージャ

- UNEXPIRE_WORKSPACE_ACCOUNTプロシージャ

- UNLOCK_ACCOUNTプロシージャ

- URL_ENCODEファンクション

- WORKSPACE_ACCOUNT_DAYS_LEFTファンクション

CACHE_GET_DATE_OF_PAGE_CACHEファンクション

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

構文

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

パラメータ

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

表1-1 CACHE_GET_DATE_OF_PAGE_CACHEのパラメータ

パラメータ

説明

p_application

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

p_page

ページ番号(ID)

例

次の例に、CACHE_GET_DATE_OF_PAGE_CACHEファンクションを使用して、現在実行されているアプリケーションのページ9のキャッシュ日時を取得する方法を示します。ページ9がキャッシュされている場合は、HTPパッケージを使用してそのキャッシュ日時が出力されます。このページは、コールを発行したユーザーがキャッシュしなかった場合、そのユーザーまたはすべてのユーザーのいずれかに対してキャッシュされた可能性があります。

DECLARE
l_cache_date DATE DEFAULT NULL;
BEGIN
l_cache_date := APEX_UTIL.CACHE_GET_DATE_OF_PAGE_CACHE(
p_application => :APP_ID,
p_page => 9);
IF l_cache_date IS NOT NULL THEN
HTP.P('Cached on ' || TO_CHAR(l_cache_date, 'DD-MON-YY HH24:MI:SS'));
END IF;
END;

CACHE_GET_DATE_OF_REGION_CACHEファンクション

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

構文

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

パラメータ

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

表1-2 CACHE_GET_DATE_OF_REGION_CACHEのパラメータ

パラメータ

説明

p_application

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

p_page

ページ番号(ID)

p_region_name

リージョン名

例

次の例に、CACHE_GET_DATE_OF_REGION_CACHEファンクションを使用して、現在実行されているアプリケーションのページ13のCached Regionというリージョンのキャッシュ日時を取得する方法を示します。このリージョンがキャッシュされている場合は、HTPパッケージを使用してそのキャッシュ日時が出力されます。このリージョンは、コールを発行したユーザーがページをキャッシュしなかった場合、そのユーザーまたはすべてのユーザーのいずれかに対してキャッシュされた可能性があります。

DECLARE
l_cache_date DATE DEFAULT NULL;
BEGIN
l_cache_date := APEX_UTIL.CACHE_GET_DATE_OF_REGION_CACHE(
p_application => :APP_ID,
p_page => 13,
p_region_name => 'Cached Region');
IF l_cache_date IS NOT NULL THEN
HTP.P('Cached on ' || TO_CHAR(l_cache_date, 'DD-MON-YY HH24:MI:SS'));
END IF;
END;

CACHE_PURGE_BY_APPLICATIONプロシージャ

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

構文

APEX_UTIL.CACHE_PURGE_BY_APPLICATION (
p_application  IN  NUMBER);

パラメータ

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

表1-3 CACHE_PURGE_BY_APPLICATIONのパラメータ

パラメータ

説明

p_application

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

例

次の例に、CACHE_PURGE_BY_APPLICATIONプロシージャを使用して、現在実行されているアプリケーションに対してキャッシュされているすべてのページおよびリージョンをパージする方法を示します。

BEGIN
APEX_UTIL.CACHE_PURGE_BY_APPLICATION(p_application => :APP_ID);
END;

CACHE_PURGE_BY_PAGEプロシージャ

このプロシージャは、特定のアプリケーションおよびページのキャッシュをパージします。ページ自体がキャッシュされていなくても、ページに1つ以上のキャッシュされたリージョンが含まれている場合は、それらのキャッシュもパージされます。

構文

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

パラメータ

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

表1-4 CACHE_PURGE_BY_PAGEのパラメータ

パラメータ

説明

p_application

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

p_page

ページ番号(ID)

p_user_name

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

例

次の例に、CACHE_PURGE_BY_PAGEプロシージャを使用して、現在実行されているアプリケーションのページ9のキャッシュをパージする方法を示します。また、p_user_nameパラメータを指定すると、このプロシージャは特定のユーザーのキャッシュによって制限されます(キャッシュがユーザーごとに設定されている場合にのみ当てはまります)。

BEGIN
APEX_UTIL.CACHE_PURGE_BY_PAGE(
p_application => :APP_ID,
p_page => 9);
END;

CACHE_PURGE_STALEプロシージャ

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

構文

APEX_UTIL.CACHE_PURGE_STALE (
p_application  IN    NUMBER);

パラメータ

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

表1-5 CACHE_PURGE_STALEのパラメータ

パラメータ

説明

p_application

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

例

次の例に、CACHE_PURGE_STALEプロシージャを使用して、現在実行されているアプリケーションのすべての失効ページおよび失効リージョンをパージする方法を示します。

BEGIN
APEX_UTIL.CACHE_PURGE_STALE(p_application => :APP_ID);
END;

CHANGE_CURRENT_USER_PWプロシージャ

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

構文

APEX_UTIL.CHANGE_CURRENT_USER_PW(
p_new_password IN VARCHAR2);

パラメータ

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

表1-6 CHANGE_CURRENT_USER_PWのパラメータ

パラメータ

説明

p_new_password

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

例

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

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

参照:
「RESET_PWプロシージャ」

CHANGE_PASSWORD_ON_FIRST_USEファンクション

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

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

構文

APEX_UTIL.CHANGE_PASSWORD_ON_FIRST_USE (
p_user_name IN VARCHAR2)
RETURN BOOLEAN;

パラメータ

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

表1-7 CHANGE_PASSWORD_ON_FIRST_USEのパラメータ

パラメータ

説明

p_user_name

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

例

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

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

参照:
「PASSWORD_FIRST_USE_OCCURREDファンクション」

CLEAR_APP_CACHEプロシージャ

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

構文

APEX_UTIL.CLEAR_APP_CACHE (
p_app_id    IN    VARCHAR2 DEFAULT NULL);

パラメータ

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

表1-8 CLEAR_APP_CACHEのパラメータ

パラメータ

説明

p_app_id

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

例

次の例に、CLEAR_APP_CACHEプロシージャを使用して、IDが100のアプリケーションのすべてのカレント・セッションのステートをクリアする方法を示します。

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

CLEAR_PAGE_CACHEプロシージャ

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

構文

APEX_UTIL.CLEAR_PAGE_CACHE (
p_page IN NUMBER DEFAULT NULL);

パラメータ

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

表1-9 CLEAR_PAGE_CACHEのパラメータ

パラメータ

説明

p_page

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

例

次の例に、CLEAR_PAGE_CACHEプロシージャを使用して、IDが10のページのカレント・セッションのステートをクリアする方法を示します。

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

CLEAR_USER_CACHEプロシージャ

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

構文

APEX_UTIL.CLEAR_USER_CACHE;

パラメータ

なし。

例

次の例に、CLEAR_USER_CACHEプロシージャを使用して、カレント・ユーザーのセッションのすべてのセッション・ステートおよびアプリケーション・システムのプリファレンスをクリアする方法を示します。

BEGIN
APEX_UTIL.CLEAR_USER_CACHE;
END;

COUNT_CLICKプロシージャ

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

構文

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

パラメータ

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

表1-10 COUNT_CLICKのパラメータ

パラメータ

説明

p_url

リダイレクト先のURL

p_cat

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

p_id

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

p_user

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

p_workspace

アプリケーションに関連付けられたワークスペース(オプション)

例

次の例に、COUNT_CLICKプロシージャを使用して、指定したhttp://yahoo.comリンクをユーザーがクリックした回数を記録する方法を示します。この情報は、記録後、APEX_WORKSPACE_CLICKSビューおよびワークスペース管理者とサイト管理者が使用可能なこのビューに対するレポートに表示できます。

DECLARE
l_url VARCHAR2(255);
l_cat VARCHAR2(30);
l_workspace_id VARCHAR2(30);
BEGIN
l_url := 'http://yahoo.com';
l_cat := 'yahoo';
l_workspace_id := TO_CHAR(APEX_UTIL.FIND_SECURITY_GROUP_ID('MY_WORKSPACE'));

HTP.P('<a href=APEX_UTIL.COUNT_CLICK?p_url=' || l_url || '&p_cat=' || l_cat || '&p_workspace=' || l_workspace_id || '>Click</a>');
END;

参照:
このマニュアルの「FIND_SECURITY_GROUP_IDファクション」およびOracle Application Express管理者ガイドの「外部アクセス・カウント・ログの消去」

CREATE_USERプロシージャ

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

構文

APEX_UTIL.CREATE_USER(
p_user_id                       IN      NUMBER      DEFAULT NULL,
p_user_name                     IN      VARCHAR2,
p_first_name                    IN      VARCHAR2    DEFAULT NULL,
p_last_name                     IN      VARCHAR2    DEFAULT NULL,
p_description                   IN      VARCHAR2    DEFAULT NULL,
p_email_address                 IN      VARCHAR2    DEFAULT NULL,
p_web_password                  IN      VARCHAR2,
p_web_password_format           IN      VARCHAR2    DEFAULT 'CLEAR_TEXT',
p_group_ids                     IN      VARCHAR2    DEFAULT NULL,
p_developer_privs               IN      VARCHAR2    DEFAULT NULL,
p_default_schema                IN      VARCHAR2    DEFAULT NULL,
p_allow_access_to_schemas       IN      VARCHAR2    DEFAULT NULL,
p_account_expiry                IN      DATE        DEFAULT TRUNC(SYSDATE),
p_account_locked                IN      VARCHAR2    DEFAULT 'N',
p_failed_access_attempts        IN      NUMBER      DEFAULT 0,
p_change_password_on_first_use  IN      VARCHAR2    DEFAULT 'Y',
p_first_password_use_occurred   IN      VARCHAR2    DEFAULT 'N',
p_attribute_01                  IN      VARCHAR2    DEFAULT NULL,
p_attribute_02                  IN      VARCHAR2    DEFAULT NULL,
p_attribute_03                  IN      VARCHAR2    DEFAULT NULL,
p_attribute_04                  IN      VARCHAR2    DEFAULT NULL,
p_attribute_05                  IN      VARCHAR2    DEFAULT NULL,
p_attribute_06                  IN      VARCHAR2    DEFAULT NULL,
p_attribute_07                  IN      VARCHAR2    DEFAULT NULL,
p_attribute_08                  IN      VARCHAR2    DEFAULT NULL,
p_attribute_09                  IN      VARCHAR2    DEFAULT NULL,
p_attribute_10                  IN      VARCHAR2    DEFAULT NULL);

パラメータ

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

表1-11 CREATE_USERプロシージャのパラメータ

パラメータ

説明

p_user_id

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

p_user_name

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

p_first_name

情報

p_last_name

情報

p_description

情報

p_email_address

電子メール・アドレス

p_web_password

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

p_web_password_format

p_web_passwordパラメータに渡す値がクリア・テキスト形式の場合は、CLEAR_TEXTを使用します。そうでない場合は、HEX_ENCODED_DIGEST_V2を使用します。

p_group_ids

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

p_developer_privs

コロンで区切られた開発者権限のリスト。このパラメータで使用可能な値は、次のとおりです。

null: エンド・ユーザー(開発済アプリケーションに対してのみ認証可能なユーザー)を作成する場合。

CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL - 開発者権限を持つユーザーを作成する場合。

ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL - ワークスペース管理者および開発者の完全な権限を持つユーザーを作成する場合。

注意: 現在このパラメータの名前は一貫しておらず、CREATE_USER、EDIT_USERおよびFETCH_USER APIと呼ばれています。ただし、これらのすべての名前が、指定されたユーザー・アカウント・レコードに格納されているDEVELOPER_ROLEフィールドに関連しています。CREATE_USERではp_developer_privs、EDIT_USERではp_developer_roles、FETCH_USERではp_developer_roleが使用されます。

p_default_schema

ユーザーのワークスペースに割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ。

p_allow_access_to_schemas

ユーザーのワークスペースに割り当てられ、ユーザーによるアクセスが制限されているスキーマのコロンで区切られたリスト(すべての場合はNULLのまま)。

p_account_expiry

パスワードが最後に更新された日。作成時に、今日の日付にデフォルト設定されます。

p_account_locked

アカウントがロックされているかどうかを示す'Y'または'N'。

p_failed_access_attempts

ログインに連続して失敗した回数。作成時に、0 (ゼロ)にデフォルト設定されます。

p_change_password_on_first_use

パスワードを初めて使用するときに変更する必要があるかどうかを示す'Y'または'N'。作成時に、'Y'にデフォルト設定されます。

p_first_password_use_occurred

パスワードの変更後にログインが行われたかどうかを'Y'または'N'で示します。作成時に、'N'にデフォルト設定されます。

p_attribute_01

...

p_attribute_10

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

例1

次の簡単な例では、パスワードがsecret99のNEWUSER1というエンド・ユーザーを作成します。エンド・ユーザーは、開発済アプリケーションに対してのみ認証できることに注意してください。

BEGIN
APEX_UTIL.CREATE_USER(
p_user_name    => 'NEWUSER1',
p_web_password => 'secret99');
END;

例2

次の例では、NEWUSER2というワークスペース管理者を作成します。ユーザーNEWUSER2は次のように設定されています。

- ワークスペース管理者および開発者の完全な権限を持っている(p_developer_privsパラメータが'ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL'に設定されている)。

- 参照デフォルトMY_SCHEMA(p_default_schemaパラメータが'MY_SCHEMA'に設定されている)およびMY_SCHEMA2(p_allow_access_to_schemasパラメータが'MY_SCHEMA2'に設定されている)の2つのスキーマへのアクセス権を持っている。

- 最初のログイン時にパスワードを変更する必要がない(p_change_password_on_first_useパラメータが'N'に設定されている)。

- 最初の追加属性に電話番号が格納されている(p_attribute_01パラメータが'123 456 7890'に設定されている)。

BEGIN
APEX_UTIL.CREATE_USER(
p_user_name                     => 'NEWUSER2',
p_first_name                    => 'FRANK',
p_last_name                     => 'SMITH',
p_description                   => 'Description...',
p_email_address                 => 'frank@smith.com',
p_web_password                  => 'password',
p_developer_privs               => 'ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL',
p_default_schema                => 'MY_SCHEMA',
p_allow_access_to_schemas       => 'MY_SCHEMA2',
p_change_password_on_first_use  => 'N',
p_attribute_01                  => '123 456 7890');
END;

参照:
「FETCH_USERプロシージャのシグネチャ3」、「EDIT_USERプロシージャ」および「GET_GROUP_IDファンクション」

CREATE_USER_GROUPプロシージャ

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

構文

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

パラメータ

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

表1-12 CREATE_USER_GROUPのパラメータ

パラメータ

説明

p_id

グループの主キー

p_group_name

グループの名前

p_security_group_id

ワークスペースID

p_group_desc

説明テキスト

例

次の例に、CREATE_USER_GROUPプロシージャを使用して、説明に'text'を指定して'Managers'という新しいグループを作成する方法を示します。p_idパラメータにNULLを渡して、データベース・トリガーで新しい主キー値を割り当てることができるようにします。p_security_group_idパラメータにNULLを渡して、現行のワークスペースIDにデフォルト設定します。

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

CURRENT_USER_IN_GROUPファンクション

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

構文

APEX_UTIL.CURRENT_USER_IN_GROUP(
p_group_name    IN VARCHAR2)
RETURN BOOLEAN;

APEX_UTIL.CURRENT_USER_IN_GROUP(
p_group_id    IN NUMBER)
RETURN BOOLEAN;

パラメータ

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

表1-13 CURRENT_USER_IN_GROUPのパラメータ

パラメータ

説明

p_group_name

ワークスペース内の既存グループの名前を指定します。

p_group_id

ワークスペース内の既存グループの数値のIDを指定します。

例

次の例に、CURRENT_USER_IN_GROUPファンクションを使用して、現在認証されているユーザーがグループManagersに属しているかどうかを確認する方法を示します。

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

DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ1

このプロシージャは、XMLベースのレポート・データ(BLOBとして)、および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-14に、DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ1で使用可能なパラメータを示します。

表1-14 DOWNLOAD_PRINT_DOCUMENTのパラメータ

パラメータ

説明

p_file_name

印刷用ドキュメントのファイル名を定義します

p_content_disposition

印刷用ドキュメントをダウンロードするのか、インライン表示するのかを指定します("attachment"、"inline")

p_report_data

XMLベースのレポート・データ

p_report_layout

XSL-FO形式またはRTF形式のレポート・レイアウト

p_report_layout_type

レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf")

p_document_format

ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml")

p_print_server

プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。

参照:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「レポート・リージョンの印刷」

DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ2

このプロシージャは、事前定義されたレポート問合せと、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-15に、DOWNLOAD_PRINT_DOCUMENTファンクションで使用可能なパラメータを示します。

表1-15 DOWNLOAD_PRINT_DOCUMENTのパラメータ

パラメータ

説明

p_file_name

印刷用ドキュメントのファイル名を定義します

p_content_disposition

印刷用ドキュメントをダウンロードするのか、インライン表示するのかを指定します("attachment"、"inline")

p_application_id

レポート問合せのアプリケーションIDを定義します

p_report_query_name

レポート問合せの名前(アプリケーションの共有コンポーネントの下に保存)

p_report_layout

XSL-FO形式またはRTF形式のレポート・レイアウト

p_report_layout_type

レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf")

p_document_format

ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml")

p_print_server

プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。

シグネチャ2の例

次の例に、シグネチャ2 (事前定義されたレポート問合せおよびRTFベースまたはXSL-FOベースのレポート・レイアウト)を使用してDOWNLOAD_PRINT_DOCUMENTを使用する方法を示します。この例では、レポートのデータはカレント・アプリケーションの「共有コンポーネント」→「レポート問合せ」に格納されているReportQueryAndXSLと呼ばれるレポート問合せから取得されます。レポート・レイアウトにはページ・アイテム(P1_XSL)に格納されている値が適用されます。

BEGIN
APEX_UTIL.DOWNLOAD_PRINT_DOCUMENT (
p_file_name           => 'mydocument',
p_content_disposition => 'attachment',
p_application_id      => :APP_ID,
p_report_query_name   => 'ReportQueryAndXSL',
p_report_layout       => :P1_XSL,
p_report_layout_type  => 'xsl-fo',
p_document_format     => 'pdf');
END;

参照:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「レポート・リージョンの印刷」

DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ3

このプロシージャは、事前定義されたレポート問合せおよび事前定義されたレポート・レイアウトを使用して、印刷用ドキュメントのダウンロードを開始します。

構文

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-16に、DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ3で使用可能なパラメータを示します。

表1-16 DOWNLOAD_PRINT_DOCUMENTのパラメータ

パラメータ

説明

p_file_name

印刷用ドキュメントのファイル名を定義します

p_content_disposition

印刷用ドキュメントをダウンロードするのか、インライン表示するのかを指定します("attachment"、"inline")

p_application_id

レポート問合せのアプリケーションIDを定義します

p_report_query_name

レポート問合せの名前(アプリケーションの共有コンポーネントの下に保存)

p_report_layout_name

レポート・レイアウトの名前(アプリケーションの共有コンポーネントの下に保存)

p_report_layout_type

レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf")

p_document_format

ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml")

p_print_server

プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。

シグネチャ3の例

次の例に、シグネチャ3 (事前定義されたレポート問合せおよび事前定義されたレポート・レイアウト)を使用してDOWNLOAD_PRINT_DOCUMENTを使用する方法を示します。この例では、レポートのデータはカレント・アプリケーションの「共有コンポーネント」→「レポート問合せ」に格納されているReportQueryというレポート問合せから取得されます。レポート・レイアウトには、カレント・アプリケーションの「共有コンポーネント」→「レポート・レイアウト」に格納されているReportLayoutというレポート・レイアウトが適用されます。p_report_layout_nameパラメータに'ReportLayout'を指定するかわりに動的レイアウトをプロビジョニングする場合は、保存された複数のレポート・レイアウトのいずれかをユーザーが選択できるページ・アイテムを参照できます。また、この例では、P1_CONTENT_DISPの値をp_content_dispositionパラメータに渡すことによって、ユーザーがドキュメントの受信方法(添付ファイルまたはインライン)を指定する方法も示します。P1_CONTENT_DISPは、次のLOV定義が指定されたSelect Listタイプのページ・アイテムです。

STATIC2:In Browser;inline,Save / Open in separate Window;attachment

BEGIN
APEX_UTIL.DOWNLOAD_PRINT_DOCUMENT (
p_file_name           => 'myreport123',
p_content_disposition => :P1_CONTENT_DISP,
p_application_id      => :APP_ID,
p_report_query_name   => 'ReportQuery',
p_report_layout_name  => 'ReportLayout',
p_report_layout_type  => 'rtf',
p_document_format     => 'pdf');
END;

参照:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「レポート・リージョンの印刷」

DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ4

このプロシージャは、XMLベースのレポート・データ(CLOBとして)、および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_layout_type  IN VARCHAR2 default 'xsl-fo',
p_document_format     IN VARCHAR2 default 'pdf',
p_print_server        IN VARCHAR2 default null);

パラメータ

表1-16に、DOWNLOAD_PRINT_DOCUMENTプロシージャのシグネチャ4で使用可能なパラメータを示します。

表1-17 DOWNLOAD_PRINT_DOCUMENTのパラメータ

パラメータ

説明

p_file_name

印刷用ドキュメントのファイル名を定義します

p_content_disposition

印刷用ドキュメントをダウンロードするのか、インライン表示するのかを指定します("attachment"、"inline")

p_report_data

XMLベースのレポート・データ(UTF-8でエンコードされている必要があります)

p_report_layout

XSL-FO形式またはRTF形式のレポート・レイアウト

p_report_layout_type

レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf")

p_document_format

ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml")

p_print_server

プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。

シグネチャ4の例

次の例に、シグネチャ4 (XMLベースのレポート・データ(CLOB)およびRTFベースまたはXSL-FOベースのレポート・レイアウト)を使用してDOWNLOAD_PRINT_DOCUMENTを使用する方法を示します。この例では、ページ・アイテムに格納されている値がレポート・データ(XML)およびレポート・レイアウト(XSL-FO)に適用されます。

BEGIN
APEX_UTIL.DOWNLOAD_PRINT_DOCUMENT (
p_file_name           => 'mydocument',
p_content_disposition => 'attachment',
p_report_data         => :P1_XML,
p_report_layout       => :P1_XSL,
p_report_layout_type  => 'xsl-fo',
p_document_format     => 'pdf');
END;

参照:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「レポート・リージョンの印刷」

EDIT_USERプロシージャ

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

構文

APEX_UTIL.EDIT_USER (
p_user_id                      IN                   NUMBER,
p_user_name                    IN                   VARCHAR2,
p_first_name                   IN                   VARCHAR2    DEFAULT NULL,
p_last_name                    IN                   VARCHAR2    DEFAULT NULL,
p_web_password                 IN                   VARCHAR2    DEFAULT NULL,
p_new_password                 IN                   VARCHAR2    DEFAULT NULL,
p_email_address                IN                   VARCHAR2    DEFAULT NULL,
p_start_date                   IN                   VARCHAR2    DEFAULT NULL,
p_end_date                     IN                   VARCHAR2    DEFAULT NULL,
p_employee_id                  IN                   VARCHAR2    DEFAULT NULL,
p_allow_access_to_schemas      IN                   VARCHAR2    DEFAULT NULL,
p_person_type                  IN                   VARCHAR2    DEFAULT NULL,
p_default_schema               IN                   VARCHAR2    DEFAULT NULL,
p_group_ids                    IN                   VARCHAR2    DEFAULT NULL,
p_developer_roles              IN                   VARCHAR2    DEFAULT NULL,
p_description                  IN                   VARCHAR2    DEFAULT NULL,
p_account_expiry               IN                   DATE        DEFAULT NULL,
p_account_locked               IN                   VARCHAR2    DEFAULT 'N',
p_failed_access_attempts       IN                   NUMBER      DEFAULT 0,
p_change_password_on_first_use IN                   VARCHAR2    DEFAULT 'Y',
p_first_password_use_occurred  IN                   VARCHAR2    DEFAULT 'N');

パラメータ

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

表1-18 EDIT_USERのパラメータ

パラメータ

説明

p_user_id

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

p_user_name

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

参照: 「SET_USERNAMEプロシージャ」

p_first_name

情報

参照: 「SET_FIRST_NAMEプロシージャ」

p_last_name

情報

参照: 「SET_LAST_NAMEプロシージャ」

p_web_password

クリア・テキストのパスワード。このプロシージャを使用してユーザーのパスワードを更新する場合は、p_web_passwordおよびp_new_passwordの両方の値がNULLでなく、同一である必要があります。

p_new_password

クリア・テキストの新しいパスワード。このプロシージャを使用してユーザーのパスワードを更新する場合は、p_web_passwordおよびp_new_passwordの両方の値がNULLでなく、同一である必要があります。

p_email_address

情報

参照: 「SET_EMAILプロシージャ」

p_start_date

未使用

p_end_date

未使用

p_employee_id

未使用

p_allow_access_to_schemas

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

p_person_type

未使用

p_default_schema

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

p_group_ids

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

p_developer_roles

コロンで区切られた開発者権限のリスト。このパラメータで使用可能な値は、次のとおりです。

null: ユーザーをエンド・ユーザー(開発済アプリケーションに対してのみ認証可能なユーザー)に更新する場合

CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL: 開発者権限を持つようにユーザーを更新する場合

ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL: ワークスペース管理者および開発者の完全な権限を持つようにユーザーを更新する場合

注意: 現在このパラメータの名前は一貫しておらず、CREATE_USER、EDIT_USERおよびFETCH_USER APIと呼ばれています。ただし、これらのすべての名前が、指定されたユーザー・アカウント・レコードに格納されているDEVELOPER_ROLEフィールドに関連しています。CREATE_USERではp_developer_privs、EDIT_USERではp_developer_roles、FETCH_USERではp_developer_roleが使用されます。

参照: 「GET_USER_ROLESファンクション」

p_description

情報

p_account_expiry

パスワードが最後に更新された日。

参照: 「EXPIRE_END_USER_ACCOUNTプロシージャ」、「EXPIRE_WORKSPACE_ACCOUNTプロシージャ」、「UNEXPIRE_END_USER_ACCOUNTプロシージャ」、「UNEXPIRE_WORKSPACE_ACCOUNTプロシージャ」

p_account_locked

アカウントがロックされているかどうかを示す'Y'または'N'。

参照: 「LOCK_ACCOUNTプロシージャ」および「UNLOCK_ACCOUNTプロシージャ」

p_failed_access_attempts

ログインに連続して失敗した回数。

p_change_password_on_first_use

パスワードを初めて使用するときに変更する必要があるかどうかを示す'Y'または'N'。

参照: 「CHANGE_PASSWORD_ON_FIRST_USEファンクション」

p_first_password_use_occurred

パスワードの変更後にログインが行われたかどうかを示す'Y'または'N'。

参照: 「PASSWORD_FIRST_USE_OCCURREDファンクション」

例

次の例に、EDIT_USERプロシージャを使用してユーザー・アカウントを更新する方法を示します。この例で示すのは、EDIT_USERプロシージャを使用して、ユーザーFRANKを、開発者権限のみを持つユーザーからワークスペース管理者権限および開発者権限を持つユーザーに変更する方法です。まず、FETCH_USERプロシージャをコールしてユーザーFRANKのアカウントの詳細をローカル変数に割り当てます。次に、これらのローカル変数をEDIT_USERへのコールに使用してアカウントの詳細を保存します。ただし、p_developer_rolesパラメータの値は除外されます。この値は'ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL'に設定されます。

DECLARE
l_user_id                       NUMBER;
l_workspace                     VARCHAR2(255);
l_user_name                     VARCHAR2(100);
l_first_name                    VARCHAR2(255);
l_last_name                     VARCHAR2(255);
l_web_password                  VARCHAR2(255);
l_email_address                 VARCHAR2(240);
l_start_date                    DATE;
l_end_date                      DATE;
l_employee_id                   NUMBER(15,0);
l_allow_access_to_schemas       VARCHAR2(4000);
l_person_type                   VARCHAR2(1);
l_default_schema                VARCHAR2(30);
l_groups                        VARCHAR2(1000);
l_developer_role                VARCHAR2(60);
l_description                   VARCHAR2(240);
l_account_expiry                DATE;
l_account_locked                VARCHAR2(1);
l_failed_access_attempts        NUMBER;
l_change_password_on_first_use  VARCHAR2(1);
l_first_password_use_occurred   VARCHAR2(1);
BEGIN
l_user_id := APEX_UTIL.GET_USER_ID('FRANK');

APEX_UTIL.FETCH_USER(
p_user_id                       => l_user_id,
p_workspace                     => l_workspace,
p_user_name                     => l_user_name,
p_first_name                    => l_first_name,
p_last_name                     => l_last_name,
p_web_password                  => l_web_password,
p_email_address                 => l_email_address,
p_start_date                    => l_start_date,
p_end_date                      => l_end_date,
p_employee_id                   => l_employee_id,
p_allow_access_to_schemas       => l_allow_access_to_schemas,
p_person_type                   => l_person_type,
p_default_schema                => l_default_schema,
p_groups                        => l_groups,
p_developer_role                => l_developer_role,
p_description                   => l_description,
p_account_expiry                => l_account_expiry,
p_account_locked                => l_account_locked,
p_failed_access_attempts        => l_failed_access_attempts,
p_change_password_on_first_use  => l_change_password_on_first_use,
p_first_password_use_occurred   => l_first_password_use_occurred);
APEX_UTIL.EDIT_USER (
p_user_id                       => l_user_id,
p_user_name                     => l_user_name,
p_first_name                    => l_first_name,
p_last_name                     => l_last_name,
p_web_password                  => l_web_password,
p_new_password                  => l_web_password,
p_email_address                 => l_email_address,
p_start_date                    => l_start_date,
p_end_date                      => l_end_date,
p_employee_id                   => l_employee_id,
p_allow_access_to_schemas       => l_allow_access_to_schemas,
p_person_type                   => l_person_type,
p_default_schema                => l_default_schema,
p_group_ids                     => l_groups,
p_developer_roles               => 'ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL',
p_description                   => l_description,
p_account_expiry                => l_account_expiry,
p_account_locked                => l_account_locked,
p_failed_access_attempts        => l_failed_access_attempts,
p_change_password_on_first_use  => l_change_password_on_first_use,
p_first_password_use_occurred   => l_first_password_use_occurred);
END;

参照:
「FETCH_USERプロシージャのシグネチャ3」

END_USER_ACCOUNT_DAYS_LEFTファンクション

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

構文

APEX_UTIL.END_USER_ACCOUNT_DAYS_LEFT (
p_user_name IN VARCHAR2)
RETURN NUMBER;

パラメータ

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

表1-19 END_USER_ACCOUNT_DAYS_LEFTのパラメータ

パラメータ

説明

p_user_name

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

例

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

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

参照:
「EXPIRE_END_USER_ACCOUNTプロシージャ」および「UNEXPIRE_END_USER_ACCOUNTプロシージャ」

EXPIRE_END_USER_ACCOUNTプロシージャ

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

構文

APEX_UTIL.EXPIRE_END_USER_ACCOUNT (
p_user_name IN VARCHAR2
);

パラメータ

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

表1-20 EXPIRE_END_USER_ACCOUNTのパラメータ

パラメータ

説明

p_user_name

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

例

次の例に、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;

参照:
「UNEXPIRE_END_USER_ACCOUNTプロシージャ」

EXPIRE_WORKSPACE_ACCOUNTプロシージャ

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

構文

APEX_UTIL.EXPIRE_WORKSPACE_ACCOUNT (
p_user_name IN VARCHAR2
);

パラメータ

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

表1-21 EXPIRE_WORKSPACE_ACCOUNTのパラメータ

パラメータ

説明

p_user_name

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

例

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

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

参照:
「UNEXPIRE_WORKSPACE_ACCOUNTプロシージャ」

EXPORT_USERSプロシージャ

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

構文

APEX_UTIL.EXPORT_USERS(
p_export_format IN VARCHAR2 DEFAULT 'UNIX');

パラメータ

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

表1-22 EXPORT_USERSのパラメータ

パラメータ

説明

p_export_format

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

例

次の例に、EXPORT_USERSプロシージャを使用する方法を示します。ページからこのプロシージャをコールして、現行のワークスペース定義、ワークスペースユーザーのリストおよびワークスペースグループのリストが含まれているエクスポート・ファイルを生成します。このファイルは、ライン・フィードで区切られた行で書式設定されます。

BEGIN
APEX_UTIL.EXPORT_USERS;
END;

FETCH_APP_ITEMファンクション

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

構文

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

パラメータ

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

表1-23 FETCH_APP_ITEMのパラメータ

パラメータ

説明

p_item

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

p_app

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

p_session

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

例

次の例に、FETCH_APP_ITEMファンクションを使用して、アプリケーション300のアプリケーション・アイテムF300_NAMEの値を取得する方法を示します。p_sessionに値が渡されないため、カレント・セッションのステート値にデフォルト設定されます。

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

FETCH_USERプロシージャのシグネチャ1

このプロシージャは、ユーザー・アカウント・レコードをフェッチします。このプロシージャを実行するには、カレント・ユーザーにワークスペースでの管理権限が必要です。このプロシージャには、オーバーロードされたバージョンが3つあり、許容されるパラメータやシグネチャはそれぞれ異なります。

シグネチャ1の構文

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

シグネチャ1のパラメータ

表1-24に、FETCH_USERプロシージャのシグネチャ1で使用可能なパラメータを示します。

表1-24 FETCH_USERのパラメータのシグネチャ1

パラメータ

説明

p_user_id

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

p_workspace

ワークスペースの名前

p_user_name

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

参照: 「GET_USERNAMEファンクション」

p_first_name

情報

参照: 「GET_FIRST_NAMEファンクション」

p_last_name

情報

参照: 「GET_LAST_NAMEファンクション」

p_web_password

難読化されたアカウント・パスワード

p_email_address

電子メール・アドレス。

参照: 「GET_EMAILファンクション」

p_start_date

未使用

p_end_date

未使用

p_employee_id

未使用

p_allow_access_to_schemas

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

p_person_type

未使用

p_default_schema

ユーザーのワークスペースに割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ。

参照: 「GET_DEFAULT_SCHEMAファンクション」

p_groups

ユーザーがメンバーであるグループのリスト。

参照: 「GET_GROUPS_USER_BELONGS_TOファンクション」および「CURRENT_USER_IN_GROUPファンクション」

p_developer_role

コロンで区切られた開発者ロールのリスト。このパラメータで使用可能な値は、次のとおりです。

null: エンド・ユーザー(開発済アプリケーションに対してのみ認証可能なユーザー)を示します。

CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL: 開発者権限を持つユーザーを示します。

ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL: ワークスペース管理者および開発者の完全な権限を持つユーザーを示します。

注意: 現在このパラメータの名前は一貫しておらず、CREATE_USER、EDIT_USERおよびFETCH_USER APIと呼ばれています。ただし、これらのすべての名前が、指定されたユーザー・アカウント・レコードに格納されているDEVELOPER_ROLEフィールドに関連しています。CREATE_USERではp_developer_privs、EDIT_USERではp_developer_roles、FETCH_USERではp_developer_roleが使用されます。

参照: 「GET_USER_ROLESファンクション」

p_description

情報

シグネチャ1の例

次の例に、シグネチャ1を使用してFETCH_USERプロシージャを使用する方法を示します。このプロシージャは、現在認証されているユーザーのIDを唯一のINパラメータp_user_idに渡します。その後、コードによって、他のすべてのOUTパラメータの値がローカル変数に格納されます。

DECLARE
l_workspace                 VARCHAR2(255);
l_user_name                 VARCHAR2(100);
l_first_name                VARCHAR2(255);
l_last_name                 VARCHAR2(255);
l_web_password              VARCHAR2(255);
l_email_address             VARCHAR2(240);
l_start_date                DATE;
l_end_date                  DATE;
l_employee_id               NUMBER(15,0);
l_allow_access_to_schemas   VARCHAR2(4000);
l_person_type               VARCHAR2(1);
l_default_schema            VARCHAR2(30);
l_groups                    VARCHAR2(1000);
l_developer_role            VARCHAR2(60);
l_description               VARCHAR2(240);
BEGIN
APEX_UTIL.FETCH_USER(
p_user_id                   => APEX_UTIL.GET_CURRENT_USER_ID,
p_workspace                 => l_workspace,
p_user_name                 => l_user_name,
p_first_name                => l_first_name,
p_last_name                 => l_last_name,
p_web_password              => l_web_password,
p_email_address             => l_email_address,
p_start_date                => l_start_date,
p_end_date                  => l_end_date,
p_employee_id               => l_employee_id,
p_allow_access_to_schemas   => l_allow_access_to_schemas,
p_person_type               => l_person_type,
p_default_schema            => l_default_schema,
p_groups                    => l_groups,
p_developer_role            => l_developer_role,
p_description               => l_description);
END;

参照:
「EDIT_USERプロシージャ」および「GET_CURRENT_USER_IDファンクション」

FETCH_USERプロシージャのシグネチャ2

このプロシージャは、ユーザー・アカウント・レコードをフェッチします。このプロシージャを実行するには、カレント・ユーザーにワークスペースでの管理権限が必要です。このプロシージャには、オーバーロードされたバージョンが3つあり、許容されるパラメータやシグネチャはそれぞれ異なります。

シグネチャ2の構文

APEX_UTIL.FETCH_USER (
p_user_id                     IN                 NUMBER,
p_user_name                   OUT                VARCHAR2,
p_first_name                  OUT                VARCHAR2,
p_last_name                   OUT                VARCHAR2,
p_email_address               OUT                VARCHAR2,
p_groups                      OUT                VARCHAR2,
p_developer_role              OUT                VARCHAR2,
p_description                 OUT                VARCHAR2 );

シグネチャ2のパラメータ

表1-25に、FETCH_USERプロシージャのシグネチャ2で使用可能なパラメータを示します。

表1-25 FETCH_USERのパラメータのシグネチャ2

パラメータ

説明

p_user_id

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

p_user_name

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

参照: 「GET_USERNAMEファンクション」

p_first_name

情報

参照: 「GET_FIRST_NAMEファンクション」

p_last_name

情報

参照: 「GET_LAST_NAMEファンクション」

p_email_address

電子メール・アドレス。

参照: 「GET_EMAILファンクション」

p_groups

ユーザーがメンバーであるグループのリスト。

参照: 「GET_GROUPS_USER_BELONGS_TOファンクション」および「CURRENT_USER_IN_GROUPファンクション」

p_developer_role

コロンで区切られた開発者ロールのリスト。このパラメータで使用可能な値は、次のとおりです。

null: エンド・ユーザー(開発済アプリケーションに対してのみ認証可能なユーザー)を示します。

CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL: 開発者権限を持つユーザーを示します。

ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL: ワークスペース管理者および開発者の完全な権限を持つユーザーを示します。

注意: 現在このパラメータの名前は一貫しておらず、CREATE_USER、EDIT_USERおよびFETCH_USER APIと呼ばれています。ただし、これらのすべての名前が、指定されたユーザー・アカウント・レコードに格納されているDEVELOPER_ROLEフィールドに関連しています。CREATE_USERではp_developer_privs、EDIT_USERではp_developer_roles、FETCH_USERではp_developer_roleが使用されます。

参照: 「GET_USER_ROLESファンクション」

p_description

情報

シグネチャ2の例

次の例に、シグネチャ2を使用してFETCH_USERプロシージャを使用する方法を示します。このプロシージャは、現在認証されているユーザーのIDを唯一のINパラメータp_user_idに渡します。その後、コードによって、他のすべてのOUTパラメータの値がローカル変数に格納されます。

DECLARE
l_user_name         VARCHAR2(100);
l_first_name        VARCHAR2(255);
l_last_name         VARCHAR2(255);
l_email_address     VARCHAR2(240);
l_groups            VARCHAR2(1000);
l_developer_role    VARCHAR2(60);
l_description       VARCHAR2(240);
BEGIN
APEX_UTIL.FETCH_USER(
p_user_id           => APEX_UTIL.GET_CURRENT_USER_ID,
p_user_name         => l_user_name,
p_first_name        => l_first_name,
p_last_name         => l_last_name,
p_email_address     => l_email_address,
p_groups            => l_groups,
p_developer_role    => l_developer_role,
p_description       => l_description);
END;

参照:
「EDIT_USERプロシージャ」および「GET_CURRENT_USER_IDファンクション」

FETCH_USERプロシージャのシグネチャ3

このプロシージャは、ユーザー・アカウント・レコードをフェッチします。このプロシージャを実行するには、カレント・ユーザーにワークスペースでの管理権限が必要です。このプロシージャには、オーバーロードされたバージョンが3つあり、許容されるパラメータやシグネチャはそれぞれ異なります。

シグネチャ3の構文

APEX_UTIL.FETCH_USER (
p_user_id                           IN                   NUMBER,
p_workspace                         OUT                  VARCHAR2,
p_user_name                         OUT                  VARCHAR2,
p_first_name                        OUT                  VARCHAR2,
p_last_name                         OUT                  VARCHAR2,
p_web_password                      OUT                  VARCHAR2,
p_email_address                     OUT                  VARCHAR2,
p_start_date                        OUT                  VARCHAR2,
p_end_date                          OUT                  VARCHAR2,
p_employee_id                       OUT                  VARCHAR2,
p_allow_access_to_schemas           OUT                  VARCHAR2,
p_person_type                       OUT                  VARCHAR2,
p_default_schema                    OUT                  VARCHAR2,
p_groups                            OUT                  VARCHAR2,
p_developer_role                    OUT                  VARCHAR2,
p_description                       OUT                  VARCHAR2,
p_account_expiry                    OUT                  DATE,
p_account_locked                    OUT                  VARCHAR2,
p_failed_access_attempts            OUT                  NUMBER,
p_change_password_on_first_use      OUT                  VARCHAR2,
p_first_password_use_occurred       OUT                  VARCHAR2 );

シグネチャ3のパラメータ

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

表1-26 FETCH_USERのパラメータのシグネチャ3

パラメータ

説明

p_user_id

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

p_workspace

ワークスペースの名前

p_user_name

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

参照: 「GET_USERNAMEファンクション」

p_first_name

情報

参照: 「GET_FIRST_NAMEファンクション」

p_last_name

情報

参照: 「GET_LAST_NAMEファンクション」

p_web_password

難読化されたアカウント・パスワード

p_email_address

電子メール・アドレス。

参照: 「GET_EMAILファンクション」

p_start_date

未使用

p_end_date

未使用

p_employee_id

未使用

p_allow_access_to_schemas

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

p_person_type

未使用

p_default_schema

ユーザーのワークスペースに割り当てられ、参照用にデフォルトで使用されるデータベース・スキーマ。

参照: 「GET_DEFAULT_SCHEMAファンクション」

p_groups

ユーザーがメンバーであるグループのリスト。

参照: 「GET_GROUPS_USER_BELONGS_TOファンクション」および「CURRENT_USER_IN_GROUPファンクション」

p_developer_role

コロンで区切られた開発者ロールのリスト。このパラメータで使用可能な値は、次のとおりです。

null: エンド・ユーザー(開発済アプリケーションに対してのみ認証可能なユーザー)を示します。

CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL: 開発者権限を持つユーザーを示します。

ADMIN:CREATE:DATA_LOADER:EDIT:HELP:MONITOR:SQL: ワークスペース管理者および開発者の完全な権限を持つユーザーを示します。

注意: 現在このパラメータの名前は一貫しておらず、CREATE_USER、EDIT_USERおよびFETCH_USER APIと呼ばれています。ただし、これらのすべての名前が、指定されたユーザー・アカウント・レコードに格納されているDEVELOPER_ROLEフィールドに関連しています。CREATE_USERではp_developer_privs、EDIT_USERではp_developer_roles、FETCH_USERではp_developer_roleが使用されます。

参照: 「GET_USER_ROLESファンクション」

p_description

情報

p_account_expiry

アカウント・パスワードが最後にリセットされた日付。

参照: 「END_USER_ACCOUNT_DAYS_LEFTファンクション」および「WORKSPACE_ACCOUNT_DAYS_LEFTファンクション」

p_account_locked

ロック/ロック解除を示すYまたはN

参照: 「GET_ACCOUNT_LOCKED_STATUSファンクション」

p_failed_access_attempts

ログインに連続して失敗した回数

p_change_password_on_first_use

最初の使用時にパスワード変更を強制する設定(YまたはN)

p_first_password_use_occurred

パスワードによるログインが行われたかどうかを示すYまたはN

シグネチャ3の例

次の例に、シグネチャ3を使用してFETCH_USERプロシージャを使用する方法を示します。このプロシージャは、現在認証されているユーザーのIDを唯一のINパラメータp_user_idに渡します。その後、コードによって、他のすべてのOUTパラメータの値がローカル変数に格納されます。

DECLARE
l_workspace                     VARCHAR2(255);
l_user_name                     VARCHAR2(100);
l_first_name                    VARCHAR2(255);
l_last_name                     VARCHAR2(255);
l_web_password                  VARCHAR2(255);
l_email_address                 VARCHAR2(240);
l_start_date                    DATE;
l_end_date                      DATE;
l_employee_id                   NUMBER(15,0);
l_allow_access_to_schemas       VARCHAR2(4000);
l_person_type                   VARCHAR2(1);
l_default_schema                VARCHAR2(30);
l_groups                        VARCHAR2(1000);
l_developer_role                VARCHAR2(60);
l_description                   VARCHAR2(240);
l_account_expiry                DATE;
l_account_locked                VARCHAR2(1);
l_failed_access_attempts        NUMBER;
l_change_password_on_first_use  VARCHAR2(1);
l_first_password_use_occurred   VARCHAR2(1);
BEGIN
APEX_UTIL.FETCH_USER(
p_user_id                       => APEX_UTIL.GET_CURRENT_USER_ID,
p_workspace                     => l_workspace,
p_user_name                     => l_user_name,
p_first_name                    => l_first_name,
p_last_name                     => l_last_name,
p_web_password                  => l_web_password,
p_email_address                 => l_email_address,
p_start_date                    => l_start_date,
p_end_date                      => l_end_date,
p_employee_id                   => l_employee_id,
p_allow_access_to_schemas       => l_allow_access_to_schemas,
p_person_type                   => l_person_type,
p_default_schema                => l_default_schema,
p_groups                        => l_groups,
p_developer_role                => l_developer_role,
p_description                   => l_description,
p_account_expiry                => l_account_expiry,
p_account_locked                => l_account_locked,
p_failed_access_attempts        => l_failed_access_attempts,
p_change_password_on_first_use  => l_change_password_on_first_use,
p_first_password_use_occurred   => l_first_password_use_occurred);
END;

参照:
「EDIT_USERプロシージャ」および「GET_CURRENT_USER_IDファンクション」

FIND_SECURITY_GROUP_IDファンクション

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

構文

APEX_UTIL.FIND_SECURITY_GROUP_ID(
p_workspace    IN VARCHAR2)
RETURN NUMBER;

パラメータ

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

表1-27 FIND_SECURITY_GROUP_IDのパラメータ

パラメータ

説明

p_workspace

ワークスペースの名前

例

次の例に、FIND_SECURITY_GROUP_IDファンクションを使用して、DEMOSというワークスペースのセキュリティ・グループIDを戻す方法を示します。

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

FIND_WORKSPACEファンクション

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

構文

APEX_UTIL.FIND_WORKSPACE(
p_security_group_id    IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表1-28 FIND_WORKSPACEのパラメータ

パラメータ

説明

p_security_group_id

ワークスペースのセキュリティ・グループID

例

次の例に、FIND_WORKSPACEファンクションを使用して、セキュリティ・グループIDが20のワークスペースのワークスペース名を戻す方法を示します。

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

GET_ACCOUNT_LOCKED_STATUSファンクション

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

構文

APEX_UTIL.GET_ACCOUNT_LOCKED_STATUS (
p_user_name IN VARCHAR2
) RETURN BOOLEAN;

パラメータ

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

表1-29 GET_ACCOUNT_LOCKED_STATUSのパラメータ

パラメータ

説明

p_user_name

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

例

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

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

参照:
「LOCK_ACCOUNTプロシージャ」および「UNLOCK_ACCOUNTプロシージャ」

GET_ATTRIBUTEファンクション

このファンクションは、Application Expressアカウント表内の指定したユーザーのいずれかの属性値の値(1から10)を戻します。これらには、APIを介してのみアクセスできることに注意してください。

構文

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

パラメータ

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

表1-30 GET_ATTRIBUTEのパラメータ

パラメータ

説明

p_username

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

p_attribute_number

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

例

次の例に、GET_ATTTIBUTEファンクションを使用して、ユーザーFRANKの1番目の属性の値を戻す方法を示します。

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

参照:
「SET_ATTRIBUTEプロシージャ」

GET_AUTHENTICATION_RESULTファンクション

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

構文

APEX_UTIL.GET_AUTHENTICATION_RESULT
RETURN NUMBER;

パラメータ

なし。

例

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

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

参照:
「SET_AUTHENTICATION_RESULTプロシージャ」および「SET_CUSTOM_AUTH_STATUSプロシージャ」

GET_BLOB_FILE_SRCファンクション

ダウンロード・リンクを指定した組込み方式を使用するかわりに、APEX_UTIL.GET_BLOB_FILE_SRCファンクションを使用できます。この方法を使用すると、イメージの表示形式をより具体的に設定できます(高さタグおよび幅タグを使用)。この方法は、有効なOracle Application Expressセッションからコールされた場合のみ有効であることに注意してください。また、アプリケーション内に有効な項目の形式としてリスト表示されるために、BLOBを説明するパラメータが必要です。この項目は後でファンクションが参照します。

参照:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「フォームおよびレポートでのBLOBサポートについて」

構文

APEX_UTIL.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-31に、GET_BLOB_FILE_SRCファンクションで使用可能なパラメータを示します。

表1-31 GET_BLOB_FILE_SRCのパラメータ

パラメータ

説明

p_item_name

タイプがFILEで、DB列のソース・タイプを含む有効なアプリケーション・ページ・アイテムの名前。

p_v1

主キー列1の値。

p_v2

主キー列2の値。

p_content_disposition

inlineまたはattachmentを指定します(その他の値はすべて無視されます)

例

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アプリケーション・ビルダー・ユーザーズ・ガイド』の「デモンストレーション・アプリケーションの実行」

GET_CURRENT_USER_IDファンクション

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

構文

APEX_UTIL.GET_CURRENT_USER_ID
RETURN NUMBER;

パラメータ

なし。

例

次の例に、GET_CURRENT_USER_IDファンクションを使用する方法を示します。このファンクションは、カレント・ユーザーの数値のユーザーIDをローカル変数に戻します。

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

GET_DEFAULT_SCHEMAファンクション

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

構文

APEX_UTIL.GET_DEFAULT_SCHEMA
RETURN VARCHAR2;

パラメータ

なし。

例

次の例に、GET_DEFAULT_SCHEMAファンクションを使用する方法を示します。このファンクションは、カレント・ユーザーに関連付けられているデフォルトのスキーマ名をローカル変数に戻します。

DECLARE
VAL VARCHAR2(30);
BEGIN
VAL := APEX_UTIL.GET_DEFAULT_SCHEMA;
END;

GET_EMAILファンクション

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

構文

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

パラメータ

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

表1-32 GET_EMAILのパラメータ

パラメータ

説明

p_username

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

例

次の例に、GET_EMAILファンクションを使用して、ユーザーFRANKの電子メール・アドレスを戻す方法を示します。

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

参照:
「SET_EMAILプロシージャ」

GET_FILEプロシージャ

このプロシージャは、Oracle Application Expressファイル・リポジトリからファイルをダウンロードします。ページ処理時にこのプロシージャを起動する場合は、ページ・ブランチが同じ条件で起動されていないことを確認する必要があることに注意してください。ページ・ブランチがファイルの取得に影響を及ぼすためです。このため、次の条件のブランチは、起動されないように設定してください。

- プロシージャを起動するボタンと同じ「対象ボタン」属性を持つブランチ。

- プロシージャが起動されている場合に、ページ処理時に正常に実行される条件ロジックが定義されているブランチ。

- 無条件。

構文

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

パラメータ

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

表1-33 GET_FILEのパラメータ

パラメータ

説明

p_file_id

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

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

p_inline

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

例

次の例に、GET_FILEファンクションを使用して、ID 8675309で識別されるファイルを戻す方法を示します。これは、ブラウザにインラインで表示されます。

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

参照:
「GET_FILE_IDファンクション」

GET_FILE_IDファンクション

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

構文

APEX_UTIL.GET_FILE_ID (
p_name    IN   VARCHAR2)
RETURN NUMBER;

パラメータ

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

表1-34 GET_FILE_IDのパラメータ

パラメータ

説明

p_name

ダウンロードするファイルのAPEX_APPLICATION_FILES内の名前。APEX_APPLICATION_FILESは、ワークスペースにアップロードされるすべてのファイルのビューです。

例

次の例に、GET_FILE_IDファンクションを使用して、ファイル名がF125.sqlのファイルのデータベース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_name => l_name);
END;

GET_FIRST_NAMEファンクション

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

構文

APEX_UTIL.GET_FIRST_NAME
p_username IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表1-35 GET_FIRST_NAMEのパラメータ

パラメータ

説明

p_username

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

例

次の例に、GET_FIRST_NAMEファンクションを使用してユーザーFRANKのFIRST_NAMEを戻す方法を示します。

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

参照:
「SET_FIRST_NAMEプロシージャ」

GET_GROUPS_USER_BELONGS_TOファンクション

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

構文

APEX_UTIL.GET_GROUPS_USER_BELONGS_TO(
p_username IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表1-36 GET_GROUPS_USER_BELONGS_TOのパラメータ

パラメータ

説明

p_username

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

例

次の例に、GET_GROUPS_USER_BELONGS_TOを使用して、ユーザーFRANKがメンバーであるグループのリストを戻す方法を示します。

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

参照:
「EDIT_USERプロシージャ」

GET_GROUP_IDファンクション

このファンクションは、ワークスペース内の指定したグループの数値のIDを戻します。

構文

APEX_UTIL.GET_GROUP_ID(
p_group_name IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表1-37 GET_GROUP_IDのパラメータ

パラメータ

説明

p_group_name

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

例

次の例に、GET_GROUP_IDファンクションを使用して、ManagersというグループのIDを戻す方法を示します。

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

GET_GROUP_NAMEファンクション

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

構文

APEX_UTIL.GET_GROUP_NAME(
p_group_id IN NUMBER)
RETURN VARCHAR2;

パラメータ

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

表1-38 GET_GROUP_NAMEのパラメータ

パラメータ

説明

p_group_id

ワークスペース内のグループの数値のIDを指定します。

例

次の例に、GET_GROUP_NAMEファンクションを使用して、ID 8922003のグループの名前を戻します。

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

GET_LAST_NAMEファンクション

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

構文

APEX_UTIL.GET_LAST_NAME(
p_username IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表1-39 GET_LAST_NAMEのパラメータ

パラメータ

説明

p_username

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

例

次の例に、このファンクションを使用してユーザーのFRANKのLAST_NAMEを戻す方法を示します。

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

参照:
「SET_LAST_NAMEプロシージャ」

GET_NUMERIC_SESSION_STATEファンクション

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

構文

APEX_UTIL.GET_NUMERIC_SESSION_STATE (
p_item     IN VARCHAR2)
RETURN NUMBER;

パラメータ

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

表1-40 GET_NUMERIC_SESSION_STATEのパラメータ

パラメータ

説明

p_item

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

例

次の例に、このファンクションを使用して、アイテムmy_itemのセッション・ステートに格納されている数値を戻す方法を示します。

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

参照:
「GET_SESSION_STATEファンクション」および「SET_SESSION_STATEプロシージャ」

GET_PREFERENCEファンクション

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

構文

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

パラメータ

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

表1-41 GET_PREFERENCEのパラメータ

パラメータ

説明

p_preference

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

p_value

プリファレンスの値

p_user

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

例

次の例に、GET_PREFERENCEファンクションを使用して、現在認証されているユーザーのdefault_viewというプリファレンスの値を戻す方法を示します。

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

参照:
「SET_PREFERENCEプロシージャ」、「REMOVE_PREFERENCEプロシージャ」および『Oracle Application Express管理ガイド』の「ユーザー・プリファレンスの管理」

GET_PRINT_DOCUMENTファンクションのシグネチャ1

このファンクションは、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-42に、GET_PRINT_DOCUMENTファンクションで使用可能なパラメータを示します。

表1-42 GET_PRINT_DOCUMENTのパラメータ

パラメータ

説明

p_report_data

XMLベースのレポート・データ

p_report_layout

XSL-FO形式またはRTF形式のレポート・レイアウト

p_report_layout_type

レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf")

p_document_format

ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml")

p_print_server

プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。

GET_PRINT_DOCUMENTの例は、「GET_PRINT_DOCUMENTファンクションのシグネチャ4」を参照してください。

GET_PRINT_DOCUMENTファンクションのシグネチャ2

このファンクションは、事前定義されたレポート問合せおよび事前定義されたレポート・レイアウトを使用して、ドキュメントをBLOBとして戻します。

構文

APEX_UTIL.GET_PRINT_DOCUMENT (
p_application_id      IN NUMBER,
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-43に、GET_PRINT_DOCUMENTファンクションで使用可能なパラメータを示します。

表1-43 GET_PRINT_DOCUMENTのパラメータ

パラメータ

説明

p_application_id

レポート問合せのアプリケーションIDを定義します

p_report_query_name

レポート問合せの名前(アプリケーションの共有コンポーネントの下に保存)

p_report_layout_name

レポート・レイアウトの名前(アプリケーションの共有コンポーネントの下に保存)

p_report_layout_type

レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf")

p_document_format

ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml")

p_print_server

プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。

GET_PRINT_DOCUMENTの例は、「GET_PRINT_DOCUMENTファンクションのシグネチャ4」を参照してください。

GET_PRINT_DOCUMENTファンクションのシグネチャ3

このファンクションは、事前定義されたレポート問合せ、および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-44に、GET_PRINT_DOCUMENTファンクションで使用可能なパラメータを示します。

表1-44 GET_PRINT_DOCUMENTのパラメータ

パラメータ

説明

p_application_id

レポート問合せのアプリケーションIDを定義します

p_report_query_name

レポート問合せの名前(アプリケーションの共有コンポーネントの下に保存)

p_report_layout

XSL-FO形式またはRTF形式のレポート・レイアウトを定義します

p_report_layout_type

レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf")

p_document_format

ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml")

p_print_server

プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます。

GET_PRINT_DOCUMENTの例は、「GET_PRINT_DOCUMENTファンクションのシグネチャ4」を参照してください。

GET_PRINT_DOCUMENTファンクションのシグネチャ4

このファンクションは、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-45に、GET_PRINT_DOCUMENTファンクションのシグネチャ4で使用可能なパラメータを示します。

表1-45 GET_PRINT_DOCUMENTのパラメータ

パラメータ

説明

p_report_data

XMLベースのレポート・データ(UTF-8でエンコードされている必要があります)

p_report_layout

XSL-FO形式またはRTF形式のレポート・レイアウト

p_report_layout_type

レポートのレイアウト・タイプを定義します("xsl-fo"または"rtf")

p_document_format

ドキュメントの形式を定義します("pdf"、"rtf"、"xls"、"htm"または"xml")

p_print_server

プリント・サーバーのURL。指定がない場合は、プリファレンスからプリント・サーバーが取得されます

シグネチャ4の例

次の例に、シグネチャ4を使用してGET_PRINT_DOCUMENTを使用する方法を示します(ドキュメントはXMLベースのレポート・データおよびRTFベースまたはXSL-FOベースのレポート・レイアウトを使用してBLOBとして戻されます)。この例では、GET_PRINT_DOCUMENTをAPEX_MAIL.SENDおよびAPEX_MAIL.ADD_ATTACHMENTと組み合せて使用して、GET_PRINT_DOCUMENTによって戻されるファイルが添付されている電子メールを送信します。レポート・データとレポート・レイアウトの両方に、ページ・アイテム(P1_XMLおよびP1_XSL)に格納されている値が適用されます。

DECLARE
l_id number;
l_document BLOB;
BEGIN
l_document := APEX_UTIL.GET_PRINT_DOCUMENT (
p_report_data         => :P1_XML,
p_report_layout       => :P1_XSL,
p_report_layout_type  => 'xsl-fo',
p_document_format     => 'pdf');

l_id := APEX_MAIL.SEND(
p_to        => :P35_MAIL_TO,
p_from      => 'noreplies@oracle.com',
p_subj      => 'sending PDF via print API',
p_body      => 'Please review the attachment.',
p_body_html => 'Please review the attachment');

APEX_MAIL.ADD_ATTACHMENT (
p_mail_id    => l_id,
p_attachment => l_document,
p_filename   => 'mydocument.pdf',
p_mime_type  => 'application/pdf');
END;

GET_SESSION_STATEファンクション

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

構文

APEX_UTIL.GET_SESSION_STATE (
p_item    IN   VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表1-46 GET_SESSION_STATEのパラメータ

パラメータ

説明

p_item

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

例

次の例に、GET_SESSION_STATEファンクションを使用して、アイテムmy_itemのセッション・ステートに格納されている値を戻す方法を示します。

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

参照:
「GET_NUMERIC_SESSION_STATEファンクション」および「SET_SESSION_STATEプロシージャ」

GET_USER_IDファンクション

このファンクションは、ワークスペース内の指定したユーザーの数値のIDを戻します。

構文

APEX_UTIL.GET_USER_ID(
p_username   IN VARCHAR2)
RETURN NUMBER;

パラメータ

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

表1-47 GET_USER_IDのパラメータ

パラメータ

説明

p_username

ワークスペース内のユーザー名を指定します。

例

次の例に、GET_USER_IDファンクションを使用して、FRANKというユーザーのIDを戻す方法を示します。

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

GET_USER_ROLESファンクション

このファンクションは、指定されたユーザー・アカウント・レコードに格納されているDEVELOPER_ROLEフィールドを戻します。現在このパラメータの名前は一貫しておらず、CREATE_USER、EDIT_USERおよびFETCH_USER APIと呼ばれていることに注意してください。ただし、これらのすべての名前が、DEVELOPER_ROLEフィールドに関連しています。CREATE_USERではp_developer_privs、EDIT_USERではp_developer_roles、FETCH_USERではp_developer_roleが使用されます。

構文

APEX_UTIL.GET_USER_ROLES(
p_username IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表1-48 GET_USER_ROLESのパラメータ

パラメータ

説明

p_username

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

例

次の例に、GET_USER_ROLESファンクションを使用して、ユーザーFRANKのDEVELOPER_ROLEフィールドに格納されているコロンで区切られたロールのリストを戻す方法を示します。

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

GET_USERNAMEファンクション

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

構文

APEX_UTIL.GET_USERNAME(
p_userid IN NUMBER)
RETURN VARCHAR2;

パラメータ

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

表1-49 GET_USERNAMEのパラメータ

パラメータ

説明

p_userid

ワークスペース内のユーザー・アカウントの数値のIDを指定します。

例

次の例に、GET_USERNAMEファンクションを使用して、IDが228922003のユーザーのユーザー名を戻す方法を示します。

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

参照:
「SET_USERNAMEプロシージャ」

IS_LOGIN_PASSWORD_VALIDファンクション

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

構文

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

パラメータ

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

表1-50 IS_LOGIN_PASSWORD_VALIDのパラメータ

パラメータ

説明

p_username

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

p_password

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

例

次の例に、IS_LOGIN_PASSWORD_VALIDファンクションを使用して、ユーザーFRANKのパスワードがtigerかどうかを確認する方法を示します。tigerがFRANKの有効なパスワードの場合はTRUE、そうでない場合はFALSEが戻されます。

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

IS_USERNAME_UNIQUEファンクション

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

構文

APEX_UTIL.IS_USERNAME_UNIQUE(
p_username IN VARCHAR2)
RETURN BOOLEAN;

パラメータ

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

表1-51 IS_USERNAME_UNIQUEのパラメータ

パラメータ

説明

p_username

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

例

次の例に、IS_USERNAME_UNIQUEファンクションを使用する方法を示します。現行のワークスペースにユーザーFRANKがすでに存在する場合はFALSE、存在しない場合はTRUEが戻されます。

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

KEYVAL_NUMファンクション

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

構文

APEX_UTIL.KEYVAL_NUM
RETURN NUMBER;

パラメータ

なし

例

次の例に、KEYVAL_NUMファンクションを使用して、パッケージ変数wwv_flow_utilities.g_val_numの現行の値を戻す方法を示します。

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

参照:
「SAVEKEY_NUMファンクション」

KEYVAL_VC2ファンクション

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

構文

APEX_UTIL.KEYVAL_VC2;

パラメータ

なし。

例

次の例に、KEYVAL_VC2ファンクションを使用して、パッケージ変数wwv_flow_utilities.g_val_vc2の現行の値を戻す方法を示します。

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

参照:
「SAVEKEY_VC2ファンクション」

LOCK_ACCOUNTプロシージャ

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

構文

APEX_UTIL.LOCK_ACCOUNT (
p_user_name IN VARCHAR2);

パラメータ

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

表1-52 LOCK_ACCOUNTのパラメータ

パラメータ

説明

p_user_name

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

例

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

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

参照:
UNLOCK_ACCOUNTプロシージャ」および「GET_ACCOUNT_LOCKED_STATUSファンクション」

PASSWORD_FIRST_USE_OCCURREDファンクション

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

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

構文

APEX_UTIL.PASSWORD_FIRST_USE_OCCURRED (
p_user_name IN VARCHAR2)
RETURN BOOLEAN;

パラメータ

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

表1-53 PASSWORD_FIRST_USE_OCCURREDのパラメータ

パラメータ

説明

p_user_name

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

例

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

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

参照:
「CHANGE_PASSWORD_ON_FIRST_USEファンクション」

PREPARE_URLファンクション

PREPARE_URLファンクションは、次の2つの目的で使用されます。

1. 「セッション・ステート保護」チェックサム引数(&cs=)が指定されたf?p URLを戻すため(このf?p URLが必要な場合)

2. セッションIDコンポーネントが0 (ゼロ)に置換されたf?p URLを戻すため(ゼロ・セッションID機能が使用され、他の条件が満たされている場合)

注意:
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-54に、PREPARE_URLファンクションで使用可能なパラメータを示します。

表1-54 PREPARE_URLのパラメータ

パラメータ

説明

p_url

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

p_url_charset

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

p_checksum type

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

例1

次の例に、PREPARE_URLファンクションを使用して、有効なSESSIONレベルのチェックサム引数が指定されたURLを戻す方法を示します。このURLによって、P1_ITEMページ・アイテムの値がxyzに設定されます。

DECLARE
l_url varchar2(2000);
l_app number := v('APP_ID');
l_session number := v('APP_SESSION');
BEGIN
l_url := APEX_UTIL.PREPARE_URL(
p_url => 'f?p=' || l_app || ':1:'||l_session||'::NO::P1_ITEM:xyz',
p_checksum_type => 'SESSION');
END;

例2

次の例に、PREPARE_URLファンクションを使用して、セッションIDが0 (ゼロ)のURLを戻す方法を示します。f?p URL (アンカー)を生成する「PL/SQL動的コンテンツ」リージョンでは、PREPARE_URLをコールして、ゼロ・セッションID機能が使用されている場合、ユーザーが(認証されていない)パブリック・ユーザーの場合およびターゲット・ページがカレント・アプリケーションのパブリック・ページである場合にセッションIDが0 (ゼロ)に設定されることを確認します。

htp.p(APEX_UTIL.PREPARE_URL(p_url => 'f?p=' || :APP_ID || ':10:'|| :APP_SESSION
||'::NO::P10_ITEM:ABC');

この目的でPREPARE_URLを使用する場合は、p_url_charsetおよびp_checksum_type引数を省略できます。ただし、セッション・ステート保護機能とゼロ・セッションID機能の両方を適用できる場合は、これらの引数を使用できます。

参照:
Oracle Application Expressアドバンスト・チュートリアルの「セッションIDにゼロを使用したブックマークの容易化」および「セッション・ステート保護の理解」

PUBLIC_CHECK_AUTHORIZATIONファンクション

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

構文

APEX_UTIL.PUBLIC_CHECK_AUTHORIZATION (
p_security_scheme    IN    VARCHAR2)
RETURN BOOLEAN;

パラメータ

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

表1-55 PUBLIC_CHECK_AUTHORIZATIONのパラメータ

パラメータ

説明

p_security_name

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

例

次の例に、PUBLIC_CHECK_AUTHORIZATIONファンクションを使用して、my_auth_scheme認証スキームに定義されているチェックをカレント・ユーザーが通過するかどうかを確認する方法を示します。

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

PURGE_REGIONS_BY_APPプロシージャ

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

構文

APEX_UTIL.PURGE_REGIONS_BY_APP (
p_application IN NUMBER);

パラメータ

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

表1-56 PURGE_REGIONS_BY_APPのパラメータ

パラメータ

説明

p_application

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

例

次の例に、APEX_UTIL.PURGE_REGIONS_BY_APPを使用して、アプリケーション番号123に対してキャッシュされたすべてのリージョンを削除する方法を示します。

BEGIN
APEX_UTILITIES.PURGE_REGIONS_BY_APP(p_application=>123);
END;

PURGE_REGIONS_BY_NAMEプロシージャ

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

構文

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

パラメータ

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

表1-57 PURGE_REGIONS_BY_NAMEのパラメータ

パラメータ

説明

p_application

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

p_page

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

p_region_name

削除されるリージョンの名前。

例

次の例に、PURGE_REGIONS_BY_NAMEプロシージャを使用して、カレント・アプリケーションのページ1のリージョンmy_cached_regionに対してキャッシュされたすべての値を削除する方法を示します。

BEGIN
APEX_UTIL.PURGE_REGIONS_BY_NAME(
p_application => :APP_ID,
p_page => 1,
p_region_name => 'my_cached_region');
END;

PURGE_REGIONS_BY_PAGEプロシージャ

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

構文

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

パラメータ

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

表1-58 PURGE_REGIONS_BY_PAGEのパラメータ

パラメータ

説明

p_application

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

p_page

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

例

次の例に、PURGE_REGIONS_BY_PAGEプロシージャを使用して、カレント・アプリケーションのページ1のリージョンに対してキャッシュされたすべての値を削除する方法を示します。

BEGIN
APEX_UTIL.PURGE_REGIONS_BY_PAGE(
p_application => :APP_ID,
p_page => 1);
END;

REMOVE_PREFERENCEプロシージャ

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

構文

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

パラメータ

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

表1-59 REMOVE_PREFERENCEのパラメータ

パラメータ

説明

p_preference

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

p_user

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

例

次の例に、REMOVE_PREFERENCEプロシージャを使用して、現在認証されているユーザーのプリファレンスdefault_viewを削除する方法を示します。

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

参照:
「GET_PREFERENCEファンクション」、「SET_PREFERENCEプロシージャ」および『Oracle Application Express管理ガイド』の「セッション・ステートおよびユーザー・プリファレンスの管理」

REMOVE_SORT_PREFERENCESプロシージャ

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

構文

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

パラメータ

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

表1-60 REMOVE_SORT_PREFERENCESのパラメータ

パラメータ

説明

p_user

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

例

次の例に、REMOVE_SORT_PREFERENCESプロシージャを使用して、現在認証されているユーザーの列ヘッダーのソート・プリファレンスを削除する方法を示します。

BEGIN
APEX_UTIL.REMOVE_SORT_PREFERENCES(:APP_USER);
END;

REMOVE_USERプロシージャ

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

構文

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

パラメータ

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

表1-61 REMOVE_USERのパラメータ

パラメータ

説明

p_user_id

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

p_user_name

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

例

次の例に、REMOVE_USERプロシージャを使用してユーザー・アカウントを削除する方法を示します。まず(p_user_idパラメータを使用して)主キーに基づいて、次に(p_user_nameパラメータを使用して)ユーザー名に基づいて削除します。

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

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

RESET_AUTHORIZATIONSプロシージャ

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

構文

APEX_UTIL.RESET_AUTHORIZATIONS;

パラメータ

なし。

例

次の例に、RESET_AUTHORIZATIONSプロシージャを使用して認証スキームのキャッシュをクリアする方法を示します。

BEGIN
APEX_UTIL.RESET_AUTHORIZATIONS;
END;

RESET_PWプロシージャ

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

構文

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

パラメータ

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

表1-62 RESET_PWのパラメータ

パラメータ

説明

p_user

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

p_msg

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

例

次の例に、RESET_PWプロシージャを使用してユーザーFRANKのパスワードをリセットする方法を示します。

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

参照:
「CHANGE_CURRENT_USER_PWプロシージャ」

SAVEKEY_NUMファンクション

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

構文

APEX_UTIL.SAVEKEY_NUM(
p_val IN NUMBER)
RETURN NUMBER;

パラメータ

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

表1-63 SAVEKEY_NUMのパラメータ

パラメータ

説明

p_val

保存する数値

例

次の例に、SAVEKEY_NUMファンクションを使用して、wwv_flow_utilities.g_val_numパッケージ変数の値を10に設定する方法を示します。

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

参照:
「KEYVAL_NUMファンクション」

SAVEKEY_VC2ファンクション

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

構文

APEX_UTIL.SAVEKEY_VC2(
p_val IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表1-64 SAVEKEY_VC2のパラメータ

パラメータ

説明

p_val

保存するVARCHAR2の値

例

次の例に、SAVEKEY_VC2ファンクションを使用して、wwv_flow_utilities.g_val_vc2パッケージ変数の値を'XXX'に設定する方法を示します。

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

参照:
「KEYVAL_VC2ファンクション」

SET_ATTRIBUTEプロシージャ

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

構文

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

パラメータ

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

表1-65 SET_ATTRIBUTEのパラメータ

パラメータ

説明

p_userid

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

p_attribute_number

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

p_attribute_value

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

例

次の例に、SET_ATTRIBUTEプロシージャを使用して、値'foo'を指定してユーザーFRANKに対して番号1の属性を設定する方法を示します。

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

参照:
「GET_ATTRIBUTEファンクション」

SET_AUTHENTICATION_RESULTプロシージャ

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

参照:
『Oracle Application Express管理ガイド』の「ワークスペース内のアクティビティの監視」

構文

APEX_UTIL.SET_AUTHENTICATION_RESULT(
p_code IN NUMBER);

パラメータ

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

表1-66 SET_AUTHENTICATION_RESULTのパラメータ

パラメータ

説明

p_code

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

例

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

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

参照:
「GET_AUTHENTICATION_RESULTファンクション」および「SET_CUSTOM_AUTH_STATUSプロシージャ」

SET_CUSTOM_AUTH_STATUSプロシージャ

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

参照:
『Oracle Application Express管理ガイド』の「ワークスペース内のアクティビティの監視」

構文

APEX_UTIL.SET_CUSTOM_AUTH_STATUS(
p_status  IN VARCHAR2);

パラメータ

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

表1-67 SET_CUSTOM_AUTH_STATUSのパラメータ

パラメータ

説明

p_status

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

例

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

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

参照:
「SET_AUTHENTICATION_RESULTプロシージャ」および「GET_AUTHENTICATION_RESULTファンクション」

SET_EMAILプロシージャ

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

構文

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

パラメータ

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

表1-68 SET_EMAILのパラメータ

パラメータ

説明

p_userid

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

p_email

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

例

次の例に、SET_EMAILプロシージャを使用して、EMAILの値をユーザーFRANKの'frank.scott@somewhere.com'に設定する方法を示します。

BEGIN
APEX_UTIL.SET_EMAIL(
p_userid  => APEX_UTIL.GET_USER_ID('FRANK'),
p_email   => 'frank.scott@somewhere.com');
END;

参照:
「GET_EMAILファンクション」および「GET_USER_IDファンクション」

SET_FIRST_NAMEプロシージャ

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

構文

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

パラメータ

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

表1-69 SET_FIRST_NAMEのパラメータ

パラメータ

説明

p_userid

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

p_first_name

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

例

次の例に、SET_FIRST_NAMEプロシージャを使用して、FIRST_NAMEの値をユーザーFRANKの'FRANK'に設定する方法を示します。

BEGIN
APEX_UTIL.SET_FIRST_NAME(
p_userid       => APEX_UTIL.GET_USER_ID('FRANK'),
p_first_name   => 'FRANK');
END;

参照:
「GET_FIRST_NAMEファンクション」および「GET_USER_IDファンクション」

SET_LAST_NAMEプロシージャ

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

構文

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

パラメータ

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

表1-70 SET_LAST_NAMEのパラメータ

パラメータ

説明

p_userid

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

p_last_name

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

例

次の例に、SET_LAST_NAMEプロシージャを使用して、LAST_NAMEの値をユーザーFRANKの'SMITH'に設定する方法を示します。

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

参照:
「GET_LAST_NAMEファンクション」および「GET_USER_IDファンクション」

SET_PREFERENCEプロシージャ

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

構文

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

パラメータ

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

表1-71 SET_PREFERENCEのパラメータ

パラメータ

説明

p_preference

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

p_value

プリファレンスの値

p_user

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

例

次の例に、SET_PREFERENCEプロシージャを使用して、default_viewというプリファレンスを現在認証されているユーザーのセッションを超えて存続する値'WEEKLY'に設定する方法を示します。

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

参照:
「GET_PREFERENCEファンクション」および「REMOVE_PREFERENCEプロシージャ」

SET_SESSION_LIFETIME_SECONDSプロシージャ

このプロシージャは、カレント・セッションに対するカレント・アプリケーションの「最大セッションの長さ」の値を設定して、対応するアプリケーション属性を上書きします。これによって、開発者は、ユーザーの認証後に決定された条件に基づいてセッションの存続期間を動的に短縮また延長できます。

注意:
このプロシージャを機能させるには、アプリケーションの「最大セッションの長さ」属性がアプリケーション定義で0 (ゼロ)以外の値に設定されている必要があります。開発者がこの属性を設定しなかった場合、このプロシージャは機能しません。

構文

APEX_UTIL.SET_SESSION_LIFETIME_SECONDS (
p_seconds  IN    NUMEBER,
p_scope    IN    VARCHAR2 DEFAULT 'SESSION');

パラメータ

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

表1-72 SET_SESSION_LIFETIME_SECONDSのパラメータ

パラメータ

説明

p_seconds

このアプリケーションで使用されるセッションが存在可能な秒数を示す正の整数。

p_scope

'SESSION'にデフォルト設定されます。また、'APPLICATION'に設定される場合もあります。'SESSION'の場合は、このセッションを使用しているすべてのアプリケーションが影響を受けます。''APPLICATION'の場合は、カレント・セッションを使用しているカレント・アプリケーションのみが影響を受けます。

例1

次の例に、SET_SESSION_LIFETIME_SECONDSプロシージャを使用して、カレント・アプリケーションの「最大セッションの長さ」属性を7200秒(2時間)に設定する方法を示します。開発者がアプリケーションの「最大セッションの長さ」属性をアプリケーション定義で0 (ゼロ)以外の値に設定しなかった場合、このAPIコールは機能しません。p_scope入力パラメータでデフォルト値の'SESSION'を使用できるようにすると、次の例は、カレント・セッションを使用しているすべてのアプリケーションに実際に適用されます。複数のApplication Expressアプリケーションで共通の認証スキームが使用され、それらのアプリケーションが共通のセッションでスイートとして動作するように設計されている場合は、このユースケースが最も一般的なユースケースとなります。

BEGIN
APEX_UTIL.SET_SESSION_LIFETIME_SECONDS(p_seconds => 7200);
END;

例2

次の例に、SET_SESSION_LIFETIME_SECONDSプロシージャを使用して、カレント・アプリケーションの「最大セッションの長さ」属性を3600秒(1時間)に設定する方法を示します。開発者がアプリケーションの「最大セッションの長さ」属性をアプリケーション定義で0 (ゼロ)以外の値に設定しなかった場合、このAPIコールは機能しません。p_scope入力パラメータのデフォルト値を上書きして'APPLICATION'に設定すると、次の例は、他のアプリケーションで同じセッションが使用されている場合でも、カレント・セッションを使用しているカレント・アプリケーションにのみ実際に適用されます。

BEGIN
APEX_UTIL.SET_SESSION_LIFETIME_SECONDS(p_seconds => 3600,
p_scope => 'APPLICATION');
END;

SET_SESSION_MAX_IDLE_SECONDSプロシージャ

カレント・セッションに対するカレント・アプリケーションの「最大セッション・アイドル時間」の値を設定して、対応するアプリケーション属性を上書きします。これによって、開発者は、ユーザーの認証後に決定された条件に基づいてページ・リクエスト間で許容される最大アイドル時間を動的に短縮または延長できます。

注意:
このプロシージャを機能させるには、アプリケーションの「最大セッション・アイドル時間」属性がアプリケーション定義で0 (ゼロ)以外の値に設定されている必要があります。開発者がこの属性を設定しなかった場合、このプロシージャは機能しません。

構文

APEX_UTIL.SET_SESSION_MAX_IDLE_SECONDS (
p_seconds  IN    NUMEBER,
p_scope    IN    VARCHAR2 DEFAULT 'SESSION');

パラメータ

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

表1-73 SET_SESSION_MAX_IDLE_SECONDSのパラメータ

パラメータ

説明

p_seconds

ページ・リクエスト間で許容される秒数を示す正の整数。

p_scope

'SESSION'にデフォルト設定されます。また、'APPLICATION'に設定される場合もあります。'SESSION'の場合は、このセッションを使用しているすべてのアプリケーションにこのアイドル時間が適用されます。'APPLICATION'の場合は、カレント・セッションを使用しているカレント・アプリケーションにのみこのアイドル時間が適用されます。

例1

次の例に、SET_SESSION_MAX_IDLE_SECONDSプロシージャを使用して、カレント・アプリケーションの「最大セッション・アイドル時間」属性を1200秒(20分)に設定する方法を示します。開発者がアプリケーションの「最大セッション・アイドル時間」属性をアプリケーション定義で0 (ゼロ)以外の値に設定しなかった場合、このAPIコールは機能しません。p_scope入力パラメータでデフォルト値の'SESSION'を使用できるようにすると、次の例は、カレント・セッションを使用しているすべてのアプリケーションに実際に適用されます。複数のApplication Expressアプリケーションで共通の認証スキームが使用され、それらのアプリケーションが共通のセッションでスイートとして動作するように設計されている場合は、このユースケースが最も一般的なユースケースとなります。

BEGIN
APEX_UTIL.SET_SESSION_MAX_IDLE_SECONDS(p_seconds => 1200);
END;

例2

次の例に、SET_SESSION_MAX_IDLE_SECONDSプロシージャを使用して、カレント・アプリケーションの「最大セッション・アイドル時間」属性を600秒(10分)に設定する方法を示します。開発者がアプリケーションの「最大セッション・アイドル時間」属性をアプリケーション定義で0 (ゼロ)以外の値に設定しなかった場合、このAPIコールは機能しません。p_scope入力パラメータのデフォルト値を上書きして'APPLICATION'に設定すると、次の例は、他のアプリケーションで同じセッションが使用されている場合でも、カレント・セッションを使用しているカレント・アプリケーションにのみ実際に適用されます。

BEGIN
APEX_UTIL.SET_SESSION_MAX_IDLE_SECONDS(p_seconds => 600,
p_scope => 'APPLICATION');
END;

SET_SESSION_STATEプロシージャ

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

構文

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

パラメータ

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

表1-74 SET_SESSION_STATEのパラメータ

パラメータ

説明

p_name

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

p_value

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

例

次の例に、SET_SESSION_STATEプロシージャを使用して、アイテムmy_itemの値をカレント・セッションの'myvalue'に設定する方法を示します。

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

参照:
「GET_SESSION_STATEファンクション」、「GET_NUMERIC_SESSION_STATEファンクション」および『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「セッション・ステートの管理の理解」

SET_USERNAMEプロシージャ

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

構文

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

パラメータ

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

表1-75 SET_USERNAMEのパラメータ

パラメータ

説明

p_userid

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

p_username

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

例

次の例に、SET_USERNAMEプロシージャを使用して、USERNAMEの値をユーザーFRANKの'USER-XRAY'に設定する方法を示します。

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

参照:
「GET_USERNAMEファンクション」および「GET_USER_IDファンクション」

STRONG_PASSWORD_CHECKプロシージャ

このプロシージャは、提示されたパスワードが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,
p_not_reusable_err            OUT BOOLEAN);

パラメータ

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

表1-76 STRONG_PASSWORD_CHECKのパラメータ

パラメータ

説明

p_username

現行のワークスペース内のアカウントを識別するユーザー名

p_password

パスワードの強度ルールを基準にチェックするパスワード

p_old_password

アカウントの現行のパスワード(「新しいパスワードは古いパスワードと異なること」というルールを適用する目的のみに使用されます)

p_workspace_name

現行のワークスペース名(「パスワードにはワークスペース名を含まないこと」というルールを適用する目的のみに使用されます)

p_use_strong_rules

このAPIをコールする場合はFALSEを渡します

p_min_length_err

パスワードが、最小の長さの要件を満たすかどうかに基づいて、TrueまたはFalseの結果が戻ります

p_new_differs_by_err

パスワードが「新しいパスワードは古いパスワードと異なること」という要件を満たすかどうかに基づいて、TrueまたはFalseの結果が戻ります

p_one_alpha_err

パスワードが、アルファベットを1文字以上含むことという要件を満たすかどうかに基づいて、TrueまたはFalseの結果が戻ります

p_one_numeric_err

パスワードが、数字を1文字以上含むことという要件を満たすかどうかに基づいて、TrueまたはFalseの結果が戻ります

p_one_punctuation_err

パスワードが、句読記号を1文字以上含むことという要件を満たすかどうかに基づいて、TrueまたはFalseの結果が戻ります

p_one_upper_err

パスワードが、大文字を1文字以上含むことという要件を満たすかどうかに基づいて、TrueまたはFalseの結果が戻ります

p_one_lower_err

パスワードが、小文字を1文字以上含むことという要件を満たすかどうかに基づいて、TrueまたはFalseの結果が戻ります

p_not_like_username_err

パスワードが、ユーザー名を含まないことという要件を満たすかどうかに基づいて、TrueまたはFalseの結果が戻ります

p_not_like_workspace_name_err

パスワードが、ワークスペース名を含まないことという要件を満たすかどうかに基づいて、TrueまたはFalseの結果が戻ります

p_not_like_words_err

パスワードが、指定された単純な単語を含まないことという要件を満たすかどうかに基づいて、TrueまたはFalseの結果が戻ります

p_not_reusable_err

パスワードが、パスワード履歴ルールに基づいて再利用できるかどうかに基づいて、TrueまたはFalseの結果が戻ります。

例

次の例に、STRONG_PASSWORD_CHECKプロシージャを使用する方法を示します。このプロシージャは、ユーザーSOMEBODYの新しいパスワードfooが、Oracle Application Expressのサイト管理者によって定義されたすべてのパスワードの強度要件を満たしていることをチェックします。いずれかのチェックが失敗した場合(関連するOUTパラメータがTRUEを戻した場合)、この例では、関連メッセージが出力されます。たとえば、Oracle Application Expressのサイト管理者がパスワードには1つ以上の数字が必要であると定義した場合にパスワードfooがチェックされると、p_one_numeric_err OUTパラメータによってTRUEが戻され、「Password must contain at least one numeric character」というメッセージが出力されます。

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;
l_not_reusable_err            boolean;
l_password_history_days       pls_integer;
BEGIN
l_username := 'SOMEBODY';
l_password := 'foo';
l_old_password := 'foo';
l_workspace_name := 'XYX_WS';
l_password_history_days :=
apex_instance_admin.get_parameter ('PASSWORD_HISTORY_DAYS');

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,
p_not_reusable_err            => l_not_reusable_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_upper_err THEN
htp.p('Password must contain at least one upper-case 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;

IF l_not_reusable_err THEN
htp.p('Password cannot be used because it has been used for the account within the last '||l_password_history_days||' days.');
END IF;
END;

参照:
『Oracle Application Express管理ガイド』の「パスワード・ポリシーについて」

STRONG_PASSWORD_VALIDATIONファンクション

このファンクションは、提示されたパスワードが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-77に、STRONG_PASSWORD_VALIDATIONファンクションで使用可能なパラメータを示します。

表1-77 STRONG_PASSWORD_VALIDATIONのパラメータ

パラメータ

説明

p_username

現行のワークスペース内のアカウントを識別するユーザー名

p_password

パスワードの強度ルールを基準にチェックするパスワード

p_old_password

アカウントの現行のパスワード(「新しいパスワードは古いパスワードと異なること」というルールを適用する目的のみに使用されます)

p_workspace_name

現行のワークスペース名(「パスワードにはワークスペース名を含まないこと」というルールを適用する目的のみに使用されます)

例

次の例に、STRONG_PASSWORD_VALIDATIONプロシージャを使用する方法を示します。このプロシージャは、ユーザーSOMEBODYの新しいパスワードfooが、Oracle Application Expressのサイト管理者によって定義されたすべてのパスワードの強度要件を満たしていることをチェックします。いずれかのチェックが失敗した場合、この例では、新しいパスワードが要件を満たすことに失敗した詳細を示す書式設定されたHTMLが出力されます。

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));
END;

STRING_TO_TABLEファンクション

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

構文

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

パラメータ

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

表1-78 STRING_TO_TABLEのパラメータ

パラメータ

説明

p_string

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

p_separator

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

例

次の例に、STRING_TO_TABLEファンクションを使用する方法を示します。このファンクションは、p_stringパラメータの文字列'One:Two:Three'を渡され、型がAPEX_APPLICATION_GLOBAL.VC_ARR2のPL/SQL配列を戻します。この配列は3つの要素を含み、位置1の要素には値'One'、位置2の要素には値'Two'、位置3の要素には値'Three'が含まれています。次に、このファンクションは、HTP.Pファンクション・コールを使用してこのPL/SQL配列を出力します。

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

参照:
「TABLE_TO_STRINGファンクション」

TABLE_TO_STRINGファンクション

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

構文

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

パラメータ

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

表1-79 TABLE_TO_STRINGのパラメータ

パラメータ

説明

p_string

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

p_table

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

例

次の例に、TABLE_TO_STRINGファンクションを使用する方法を示します。この例では、まずp_stringパラメータの文字列'One:Two:Three'を渡されるSTRING_TO_TABLEをコールし、型がAPEX_APPLICATION_GLOBAL.VC_ARR2のPL/SQL配列を戻します。この配列は3つの要素を含み、位置1の要素には値'One'、位置2の要素には値'Two'、位置3の要素には値'Three'が含まれています。次に、この配列がTABLE_TO_STRINGファンクションのp_stringパラメータに渡され、これによって元の文字列'One:Two:Three'が戻されます。

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;

参照:
「STRING_TO_TABLEファンクション」

UNEXPIRE_END_USER_ACCOUNTプロシージャ

期限切れのエンド・ユーザー・アカウントおよび関連付けられたパスワードを使用可能にして、エンド・ユーザーが開発済アプリケーションにログインできるようにします。

構文

APEX_UTIL.UNEXPIRE_END_USER_ACCOUNT (
p_user_name IN VARCHAR2);

パラメータ

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

表1-80 UNEXPIRE_END_USER_ACCOUNTのパラメータ

パラメータ

説明

p_user_name

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

例

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

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

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

参照:
「EXPIRE_END_USER_ACCOUNTパラメータ」および「END_USER_ACCOUNT_DAYS_LEFTファンクション」

UNEXPIRE_WORKSPACE_ACCOUNTプロシージャ

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

構文

APEX_UTIL.UNEXPIRE_WORKSPACE_ACCOUNT (
p_user_name IN VARCHAR2);

パラメータ

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

表1-81 UNEXPIRE_WORKSPACE_ACCOUNTのパラメータ

パラメータ

説明

p_user_name

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

例

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

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

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

参照:
「EXPIRE_WORKSPACE_ACCOUNTプロシージャ」および「WORKSPACE_ACCOUNT_DAYS_LEFTファンクション」

UNLOCK_ACCOUNTプロシージャ

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

構文

APEX_UTIL.UNLOCK_ACCOUNT (
p_user_name IN VARCHAR2);

パラメータ

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

表1-82 UNLOCK_ACCOUNTのパラメータ

パラメータ

説明

p_user_name

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

例

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

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

参照:
「LOCK_ACCOUNTプロシージャ」および「GET_ACCOUNT_LOCKED_STATUSファンクション」

URL_ENCODEファンクション

特殊文字は、次のようにエンコードされます。

Special       After
Characters    Encoding
%          %25
+          %2B
space         +
.          %2E
*          %2A
?          %3F
\          %5C
/          %2F
>          %3E
<          %3C
}          %7B
{          %7D
~          %7E
[          %5B
]          %5D
'          %60
;          %3B
?          %3F
@          %40
&          %26
#          %23
|          %7C
î          %5E
:          %3A
=          %3D
$          %24

構文

APEX_UTIL.URL_ENCODE (
p_url   IN    VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表1-83 URL_ENCODEのパラメータ

パラメータ

説明

p_url

エンコードする文字列

例

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

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

この例では、次のURLを使用しています。

http://www.myurl.com?id=1&cat=foo

これは、次のように戻されます。

http%3A%2F%2Fwww%2Emyurl%2Ecom%3Fid%3D1%26cat%3Dfoo

WORKSPACE_ACCOUNT_DAYS_LEFTファンクション

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

構文

APEX_UTIL.WORKSPACE_ACCOUNT_DAYS_LEFT (
p_user_name IN VARCHAR2)
RETURN NUMBER;

パラメータ

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

表1-84 WORKSPACE_ACCOUNT_DAYS_LEFTのパラメータ

パラメータ

説明

p_user_name

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

例

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

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

参照:
「EXPIRE_WORKSPACE_ACCOUNTプロシージャ」および「UNEXPIRE_WORKSPACE_ACCOUNTプロシージャ」

2 APEX_MAIL

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

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

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

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

- ADD_ATTACHMENTプロシージャ

- PUSH_QUEUEプロシージャ

- SENDプロシージャ

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

参照:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「アプリケーションからの電子メールの送信」

ADD_ATTACHMENTプロシージャ

このプロシージャは、アプリケーションから外部へ電子メール・メッセージを添付ファイルとして送信します。1つの電子メールに複数の添付ファイルを追加するには、1つの電子メール・メッセージに対してAPEX_MAIL.ADD_ATTACHMENTを繰り返しコールします。

構文

APEX_MAIL.ADD_ATTACHMENT(
p_mail_id                   IN    NUMBER,
p_attachment                IN    BLOB,
p_filename                  IN    VARCHAR2,
p_mime_type                 IN    VARCHAR2);

パラメータ

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

表2-1 ADD_ATTACHMENTのパラメータ

パラメータ

説明

p_mail_id

電子メールに関連付けられている数値ID。これは、電子メールの本文を作成するAPEX_MAIL.SENDのコールから戻される数値識別子です。

p_attachment

電子メール・メッセージに添付するバイナリ・コンテンツを含むBLOB変数。

p_filename

電子メール添付ファイルに関連付けられているファイル名。

p_mime_type

電子メールの添付ファイルに関連付けられる有効なMIMEタイプ(またはインターネット・メディア・タイプ)。

例

次の例に、APEX_APPLICATION_FILESに格納されているファイルにアクセスする方法、およびこれらを外部への電子メール・メッセージに追加する方法を示します

DECLARE
l_id NUMBER;
BEGIN
l_id := APEX_MAIL.SEND(
p_to        => 'fred@flintstone.com',
p_from      => 'barney@rubble.com',
p_subj      => 'APEX_MAIL with attachment',
p_body      => 'Please review the attachment.',
p_body_html => '<b>Please</b> review the attachment');
FOR c1 IN (SELECT filename, blob_content, mime_type
FROM APEX_APPLICATION_FILES
WHERE ID IN (123,456)) LOOP

APEX_MAIL.ADD_ATTACHMENT(
p_mail_id    => l_id,
p_attachment => c1.blob_content,
p_filename   => c1.filename,
p_mime_type  => c1.mime_type);
END LOOP;
COMMIT;
END;
/

PUSH_QUEUEプロシージャ

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

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

参照:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「アプリケーションからの電子メールの送信」

構文

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

パラメータ

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

表2-2 PUSH_QUEUEのパラメータ

パラメータ

説明

p_smtp_hostname

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

p_smtp_portno

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

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

参照:
『Oracle Application Express管理ガイド』の「電子メール設定の構成」

例

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

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

参照:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「アプリケーションからの電子メールの送信」

SENDプロシージャ

このプロシージャは、アプリケーションから外部へ電子メール・メッセージを送信します。このプロシージャを使用して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 NULL,
p_subj                      IN    VARCHAR2 DEFAULT NULL,
p_cc                        IN    VARCHAR2 DEFAULT NULL,
p_bcc                       IN    VARCHAR2 DEFAULT NULL,
p_replyto                   IN    VARCHAR2);

パラメータ

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

表2-3 SENDのパラメータ

パラメータ

説明

p_to

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

p_from

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

p_body

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

p_body_html

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

p_subj

電子メールの件名

p_cc

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

p_bcc

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

p_replyto

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

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

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

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

例

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

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

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

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

l_body_html := '<html>
<head>
<style type="text/css">
body{font-family: Arial, Helvetica, sans-serif;
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 APEX 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;
/

3 APEX_ITEM

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

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

- CHECKBOXファンクション

- DATE_POPUPファンクション

- DISPLAY_AND_SAVEファンクション

- HIDDENファンクション

- MD5_CHECKSUMファンクション

- MD5_HIDDENファンクション

- POPUP_FROM_LOVファンクション

- POPUP_FROM_QUERYファンクション

- POPUPKEY_FROM_LOVファンクション

- POPUPKEY_FROM_QUERYファンクション

- RADIOGROUPファンクション

- SELECT_LISTファンクション

- SELECT_LIST_FROM_LOVファンクション

- SELECT_LIST_FROM_LOV_XLファンクション

- SELECT_LIST_FROM_QUERYファンクション

- SELECT_LIST_FROM_QUERY_XLファンクション

- TEXTファンクション

- TEXTAREAファンクション

- TEXT_FROM_LOVファンクション

- TEXT_FROM_LOV_QUERYファンクション

CHECKBOXファンクション

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

構文

APEX_ITEM.CHECKBOX(
p_idx                       IN    NUMBER,
p_value                     IN    VARCHAR2 DEFAULT NULL,
p_attributes                IN    VARCHAR2 DEFAULT NULL,
p_checked_values            IN    VARCHAR2 DEFAULT NULL,
p_checked_values_delimitor  IN    VARCHAR2 DEFAULT ':',
p_item_id                   IN    VARCHAR2 DEFAULT NULL,
p_item_label                IN    VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2;

パラメータ

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

表3-1 CHECKBOXのパラメータ

パラメータ

説明

p_idx

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

p_value

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

p_attributes

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

p_checked_values

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

p_checked_values_delimitor

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

p_item_id

<input>タグのHTML属性のID

p_item_label

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

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

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

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

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

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

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

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

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

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

送信時プロセスの作成

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

SELECT APEX_ITEM.CHECKBOX(1,empno) "Select",
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;

次の例に、一意のIDを使用して、emp表の各従業員に対して未選択のチェック・ボックスを作成する方法を示します。この操作は、JavaScriptコード内からレコードを参照する場合に有効です。

SELECT APEX_ITEM.CHECKBOX(1,empno,NULL,NULL,NULL,'f01_#ROWNUM#') "Select",
ename, job
FROM   emp
ORDER BY 1

DATE_POPUPファンクション

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

構文

APEX_ITEM.DATE_POPUP(
p_idx                       IN    NUMBER,
p_row                       IN    NUMBER,
p_value                     IN    VARCHAR2 DEFAULT NULL,
p_date_format               IN    DATE DEFAULT 'DD-MON-YYYY',
p_size                      IN    NUMBER DEFAULT 20,
p_maxlength                 IN    NUMBER DEFAULT 2000,
p_attributes                IN    VARCHAR2 DEFAULT NULL,
p_item_id                   IN    VARCHAR2 DEFAULT NULL,
p_item_label                IN    VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2;

パラメータ

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

表3-2 DATE_POPUPのパラメータ

パラメータ

説明

p_idx

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

p_row

このパラメータは非推奨です。この値を指定しても無視されます。

p_value

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

p_date_format

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

p_size

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

p_maxlength

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

p_attributes

追加するHTMLパラメータ

p_item_id

<input>タグのHTML属性のID

p_item_label

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

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

例

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

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

DISPLAY_AND_SAVEファンクション

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

構文

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

パラメータ

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

表3-3 DISPLAY_AND_SAVEのパラメータ

パラメータ

説明

p_idx

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

p_value

現在の値

p_item_id

<span>タグのHTML属性のID

p_item_label

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

例

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

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

HIDDENファンクション

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

構文

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

パラメータ

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

表3-4 HIDDENのパラメータ

パラメータ

説明

p_idx

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

参照: 「APEX_APPLICATION」

p_value

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

p_attributes

追加するHTMLパラメータ

p_item_id

<input>タグのHTML属性のID

p_item_label

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

例

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

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

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

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

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

MD5_CHECKSUMファンクション

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

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

UTL_RAW.CAST_TO_RAW(DBMS_OBFUSCATION_TOOLKIT.MD5())

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

構文

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

パラメータ

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

表3-5 MD5_CHECKSUMのパラメータ

パラメータ

説明

p_value01

...

p_value50

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

p_col_sep

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

例

このファンクションは、fcsという名前をもつ非表示のフォーム要素を生成します。その後、値にはAPEX_APPLICATION.G_FCS配列を介してアクセスできます。

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

MD5_HIDDENファンクション

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

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

UTL_RAW.CAST_TO_RAW(DBMS_OBFUSCATION_TOOLKIT.MD5())

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

構文

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

パラメータ

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

表3-6 MD5_HIDDENのパラメータ

パラメータ

説明

p_idx

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

p_value01

...

p_value50

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

p_col_sep

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

例

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

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

POPUP_FROM_LOVファンクション

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

構文

APEX_ITEM.POPUP_FROM_LOV(
p_idx              IN    NUMBER,
p_value            IN    VARCHAR2 DEFAULT NULL,
p_lov_name         IN    VARCHAR2,
p_width            IN    VARCHAR2 DEFAULT NULL,
p_max_length       IN    VARCHAR2 DEFAULT NULL,
p_form_index       IN    VARCHAR2 DEFAULT '0',
p_escape_html      IN    VARCHAR2 DEFAULT NULL,
p_max_elements     IN    VARCHAR2 DEFAULT NULL,
p_attributes       IN    VARCHAR2 DEFAULT NULL,
p_ok_to_query      IN    VARCHAR2 DEFAULT 'YES',
p_item_id          IN    VARCHAR2 DEFAULT NULL,
p_item_label       IN    VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2;

パラメータ

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

表3-7 POPUP_FROM_LOVのパラメータ

パラメータ

説明

p_idx

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

p_value

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

p_lov_name

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

p_width

テキスト・ボックスの幅

p_max_length

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

p_form_index

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

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

p_escape_html

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

- <に対する<

- >に対する>

- &に対する&

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

p_max_elements

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

p_attributes

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

p_ok_to_query

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

p_item_id

フォーム要素のID属性。

p_item_label

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

例

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

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

POPUP_FROM_QUERYファンクション

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

構文

APEX_ITEM.POPUP_FROM_QUERY(

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

パラメータ

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

表3-8 POPUP_FROM_QUERYのパラメータ

パラメータ

説明

p_idx

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

p_value

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

p_lov_query

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

SELECT dname, deptno FROM dept

p_width

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

p_max_length

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

p_form_index

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

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

p_escape_html

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

- <に対する<

- >に対する>

- &に対する&

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

p_max_elements

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

p_attributes

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

p_ok_to_query

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

p_item_id

フォーム要素のID属性。

p_item_label

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

例

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

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

POPUPKEY_FROM_LOVファンクション

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

構文

APEX_ITEM.POPUPKEY_FROM_LOV(
p_idx              IN    NUMBER,
p_value            IN    VARCHAR2 DEFAULT NULL,
p_lov_name         IN    VARCHAR2,
p_width            IN    VARCHAR2 DEFAULT NULL,
p_max_length       IN    VARCHAR2 DEFAULT NULL,
p_form_index       IN    VARCHAR2 DEFAULT '0',
p_escape_html      IN    VARCHAR2 DEFAULT NULL,
p_max_elements     IN    VARCHAR2 DEFAULT NULL,
p_attributes       IN    VARCHAR2 DEFAULT NULL,
p_ok_to_query      IN    VARCHAR2 DEFAULT 'YES',
p_item_id          IN    VARCHAR2 DEFAULT NULL,
p_item_label       IN    VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2;

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

パラメータ

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

表3-9 POPUPKEY_FROM_LOVのパラメータ

パラメータ

説明

p_idx

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

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

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

p_value

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

p_lov_name

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

p_width

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

p_max_length

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

p_form_index

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

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

p_escape_html

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

- <に対する<

- >に対する>

- &に対する&

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

p_max_elements

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

p_attributes

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

p_ok_to_query

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

p_item_id

<input>タグのHTML属性のID

p_item_label

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

例

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

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

POPUPKEY_FROM_QUERYファンクション

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

構文

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

パラメータ

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

表3-10 POPUPKEY_FROM_QUERYのパラメータ

パラメータ

説明

p_idx

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

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

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

p_value

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

p_lov_query

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

p_width

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

p_max_length

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

p_form_index

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

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

p_escape_html

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

- <に対する<

- >に対する>

- &に対する&

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

p_max_elements

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

p_attributes

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

p_ok_to_query

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

p_item_id

フォーム要素のID属性。

p_item_label

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

例

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

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

RADIOGROUPファンクション

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

構文

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

パラメータ

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

表3-11 RADIOGROUPのパラメータ

パラメータ

説明

p_idx

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

p_value

ラジオ・グループの値。

p_selected_value

選択される値。

p_display

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

p_attributes

追加するHTMLパラメータ。

p_onblur

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

p_onchange

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

p_onfocus

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

p_item_id

<input>タグのHTML属性のID

p_item_label

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

例

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

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

SELECT_LISTファンクション

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

構文

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

パラメータ

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

表3-12 SELECT_LISTのパラメータ

パラメータ

説明

p_idx

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

p_value

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

p_list_values

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

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

p_attributes

追加するHTMLパラメータ。

p_show_null

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

p_null_value

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

p_null_text

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

p_item_id

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

p_item_label

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

p_show_extra

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

例

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

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

次の例に、APEX_ITEM.SELECT_LISTを使用して、次に示す条件で静的選択リストを生成する方法を示します。

- フォーム配列要素F03が生成される(p_idxパラメータ)。

- 各要素の初期値がempの行のdeptnoの値と等しくなる(p_valueパラメータ)。

- 選択リストに4つのオプションが含まれる(p_list_valuesパラメータ)。

- 選択リスト内のテキストが赤色で表示される(p_attributesパラメータ)。

- NULLのオプションが表示され(p_show_null)、このオプションによってテキストとして-Select-が表示される(p_null_textパラメータ)。

- 各行に対してHTML ID属性が生成され、各行の#ROWNUM#はカレント行rownumに置換される(p_item_idパラメータ)。(したがって、行4に対してはf03_4のIDが生成される。)

- 各行に対してHTMLラベル要素が生成される(p_item_labelパラメータ)。

- deptnoの現行の値が、p_list_valuesパラメータに渡されたLOVに含まれていない場合でも表示される(p_show_extraパラメータ)。

SELECT  empno "Employee #",
ename "Name",
APEX_ITEM.SELECT_LIST(
p_idx           =>   3,
p_value         =>   deptno,
p_list_values   =>   'ACCOUNTING;10,RESEARCH;20,SALES;30,OPERATIONS;40',
p_attributes    =>   'style="color:red;"',
p_show_null     =>   'YES',
p_null_value    =>   NULL,
p_null_text     =>   '-Select-',
p_item_id       =>   'f03_#ROWNUM#',
p_item_label    =>   'Label for f03_#ROWNUM#',
p_show_extra    =>   'YES') "Department"
FROM  emp;

SELECT_LIST_FROM_LOVファンクション

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

構文

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

パラメータ

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

表3-13 SELECT_LIST_FROM_LOVのパラメータ

パラメータ

説明

p_idx

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

p_value

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

p_lov

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

p_attributes

追加するHTMLパラメータ。

p_show_null

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

p_null_value

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

p_null_text

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

p_item_id

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

p_item_label

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

p_show_extra

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

例

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

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

SELECT_LIST_FROM_LOV_XLファンクション

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

構文

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

パラメータ

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

表3-14 SELECT_LIST_FROM_LOV_XLのパラメータ

パラメータ

説明

p_idx

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

p_value

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

p_lov

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

p_attributes

追加するHTMLパラメータ。

p_show_null

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

p_null_value

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

p_null_text

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

p_item_id

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

p_item_label

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

p_show_extra

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

例

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

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

SELECT_LIST_FROM_QUERYファンクション

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

構文

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

パラメータ

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

表3-15 SELECT_LIST_FROM_QUERYのパラメータ

パラメータ

説明

p_idx

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

p_value

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

p_query

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

SELECT dname, deptno FROM dept

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

また、この問合せのSELECT句に指定されている列が1つのみの場合は、表示する目的および戻す目的の両方でこの列の値が使用されることにも注意してください。

p_attributes

追加するHTMLパラメータ。

p_show_null

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

p_null_value

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

p_null_text

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

p_item_id

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

p_item_label

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

p_show_extra

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

例

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

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

SELECT_LIST_FROM_QUERY_XLファンクション

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

構文

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

パラメータ

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

表3-16 SELECT_LIST_FROM_QUERY_XLパラメータ

パラメータ

説明

p_idx

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

p_value

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

p_query

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

SELECT dname, deptno FROM dept

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

また、この問合せのSELECT句に指定されている列が1つのみの場合は、表示する目的および戻す目的の両方でこの列の値が使用されることにも注意してください。

p_attributes

追加するHTMLパラメータ。

p_show_null

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

p_null_value

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

p_null_text

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

p_item_id

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

p_item_label

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

p_show_extra

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

例

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

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

TEXTファンクション

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

構文

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

パラメータ

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

表3-17 TEXTのパラメータ

パラメータ

説明

p_idx

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

参照: 「APEX_APPLICATION」

p_value

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

p_size

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

p_maxlength

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

p_attributes

追加するHTMLパラメータ。

p_item_id

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

p_item_label

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

例

次の問合せの例に、各行に1つの更新フィールドを生成する方法を示します。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

TEXTAREAファンクション

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

構文

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

パラメータ

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

表3-18 TEXTAREAのパラメータ

パラメータ

説明

p_idx

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

参照: 「APEX_APPLICATION」

p_value

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

p_rows

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

p_cols

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

p_attributes

追加するHTMLパラメータ。

p_item_id

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

p_item_label

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

例

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

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

TEXT_FROM_LOVファンクション

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

構文

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

パラメータ

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

表3-19 TEXT_FROM_LOVパラメータ

パラメータ

説明

p_value

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

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

p_lov

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

p_null_text

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

例

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

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

TEXT_FROM_LOV_QUERYファンクション

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

構文

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

パラメータ

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

表3-20 TEXT_FROM_LOV_QUERYのパラメータ

パラメータ

説明

p_value

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

p_query

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

SELECT dname, deptno FROM dept

この問合せのSELECT句に指定されている列が1つのみの場合は、表示する目的および戻す目的の両方でこの列の値が使用されることに注意してください。

p_null_text

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

例

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

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

4 APEX_APPLICATION

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

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

グローバル変数

説明

G_USER

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

G_FLOW_ID

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

G_FLOW_STEP_ID

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

G_FLOW_OWNER

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

G_REQUEST

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

G_BROWSER_LANGUAGE

Webブラウザの現行の言語プリファレンスを参照します。

G_DEBUG

デバッグが現在有効になっているかどうかを参照します。DEBUGフラグの有効値は、「Yes」または「No」です。デバッグを有効にすると、アプリケーション処理の詳細が表示されます。

G_HOME_LINK

アプリケーションのホームページを参照します。ページが指定されておらず、かつ認証スキームのロジックによって代替ページが指定されていない場合、Application Expressエンジンによって、この場所にリダイレクトされます。

G_LOGIN_URL

現在ログインしていないユーザー用のログイン・ページへのリンクを表示するために使用できます。

G_IMAGE_PREFIX

Oracle Application Expressによって分散されたイメージ・ディレクトリを指すためにWebサーバーで使用される仮想パスを参照します。

G_FLOW_SCHEMA_OWNER

Application Expressスキーマの所有者を参照します。

G_PRINTER_FRIENDLY

Application Expressエンジンが印刷表示モードで実行されているかどうかを参照します。この設定は、印刷されたドキュメントに不要な要素をページから排除するための条件で参照できます。

G_PROXY_SERVER

アプリケーション属性「プロキシ・サーバー」を参照します。

G_SYSDATE

データベース・サーバーの現在の日付を参照します。この日付には、DATEデータ型が使用されています。

G_PUBLIC_USER

データベース・アクセス記述子(DAD)でデータベースに接続するために使用するOracleスキーマを参照します。

G_GLOBAL_NOTIFICATION

アプリケーションのグローバル通知属性を指定します。

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

- 配列の参照

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

- 配列の単一値への変換

- HELPプロシージャ

配列の参照

通常、アイテムは、テキスト・フィールド、選択リスト、チェック・ボックスなどの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)

HELPプロシージャ

このファンクションでは、書式設定されたHTMLとしてページ・レベルおよびアイテム・レベルのヘルプ・テキストが出力されます。また、このファンクションは、アプリケーションでのヘルプ情報の表示方法のカスタマイズに使用できます。

構文

APEX_APPLICATION.HELP (
p_request        IN VARCHAR2 DEFAULT NULL,
p_flow_id        IN VARCHAR2 DEFAULT NULL,
p_flow_step_id   IN VARCHAR2 DEFAULT NULL,
p_show_item_help IN VARCHAR2 DEFAULT 'YES',
p_show_regions   IN VARCHAR2 DEFAULT 'YES',
p_before_page_html     IN VARCHAR2 DEFAULT '<p>',
p_after_page_html      IN VARCHAR2 DEFAULT NULL,
p_before_region_html   IN VARCHAR2 DEFAULT NULL,
p_after_region_html    IN VARCHAR2 DEFAULT '</td></tr></table></p>',
p_before_prompt_html   IN VARCHAR2 DEFAULT '<p><b>',
p_after_prompt_html    IN VARCHAR2 DEFAULT '</b></p>:&nbsp;',
p_before_item_html     IN VARCHAR2 DEFAULT NULL,
p_after_item_html      IN VARCHAR2 DEFAULT NULL);

パラメータ

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

表4-2 HELPのパラメータ

パラメータ

説明

p_request

使用されません。

p_flow_id

出力するページ・レベルまたはアイテム・レベルのヘルプが含まれているアプリケーションID。

p_flow_step_id

表示するページ・レベルまたはアイテム・レベルのヘルプが含まれているページID。

p_show_item_help

アイテム・レベルのヘルプが出力されるかどうかを決定するフラグ。このパラメータを指定する場合は、値を「YES」または「NO」のいずれかに設定する必要があります。設定しないと、デフォルトの「YES」が設定されます。

p_show_regions

リージョン・ヘッダーが出力されるかどうかを決定するフラグ(ページ・アイテムが含まれているリージョン用)。このパラメータを指定する場合は、値を「YES」または「NO」のいずれかに設定する必要があります。設定しないと、デフォルトの「YES」が設定されます。

p_before_page_html

このパラメータは、ページ・レベルのヘルプ・テキストとアイテム・レベルのヘルプ・テキストの間にHTMLを含める場合に使用します。

p_after_page_html

このパラメータは、出力の下部の他のすべてのヘルプの後にHTMLを含める場合に使用します。

p_before_region_html

このパラメータは、すべてのリージョン・セクションの前にHTMLを含める場合に使用します。p_show_regionsが「NO」に設定されている場合、このパラメータは無視されることに注意してください。

p_after_region_html

このパラメータは、すべてのリージョン・セクションの後にHTMLを含める場合に使用します。p_show_regionsが「NO」に設定されている場合、このパラメータは無視されることに注意してください。

p_before_prompt_html

このパラメータは、アイテム・レベルのヘルプのすべてのアイテム・ラベルの前にHTMLを含める場合に使用します。p_show_item_helpが「NO」に設定されている場合、このパラメータは無視されることに注意してください。

p_after_prompt_html

このパラメータは、アイテム・レベルのヘルプのすべてのアイテム・ラベルの後にHTMLを含める場合に使用します。p_show_item_helpが「NO」に設定されている場合、このパラメータは無視されることに注意してください。

p_before_item_html

このパラメータは、アイテム・レベルのヘルプのすべてのアイテム・ヘルプ・テキストの前にHTMLを含める場合に使用します。p_show_item_helpが「NO」に設定されている場合、このパラメータは無視されることに注意してください。

p_after_item_html

このパラメータは、アイテム・レベルのヘルプのすべてのアイテム・ヘルプ・テキストの後にHTMLを含める場合に使用します。p_show_item_helpが「NO」に設定されている場合、このパラメータは無視されることに注意してください。

例

次の例に、APEX_APPLICATION.HELPプロシージャを使用してヘルプ情報の表示方法をカスタマイズする方法を示します。

この例では、p_flow_step_idパラメータが:REQUESTに設定されています。つまり、表示されるページのヘルプ情報の制御に、URLのREQUESTセクションに指定されたページIDが使用されます(こうするための手順の詳細は、例の後を参照)。

また、ヘルプの表示は、(p_before_region_htmlパラメータによって)リージョンのサブヘッダーが異なる色で表示されるようにカスタマイズされています。さらに、(p_after_prompt_htmlパラメータによって)すべてのアイテム・プロンプトの後にデフォルトで表示される「:」は削除されています。

APEX_APPLICATION.HELP(
p_flow_id => :APP_ID,
p_flow_step_id => :REQUEST,
p_before_region_html => '<p><br/><table bgcolor="#A3BED8" width="100%"><tr><td><b>',
p_after_prompt_html  => '</b></p>&nbsp;&nbsp;');

アプリケーションでこのタイプのコールを実装するには、次の手順を実行します。

1. アプリケーションのヘルプ・ページとなるページを作成します。

2. 「PL/SQL動的コンテンツ」タイプのリージョンを作成し、APEX_APPLICATION.HELPコールをPL/SQLソースとして追加します。

3. その後、このページに「ナビゲーション・バー」リンクを追加して、このリンクに設定されているREQUESTの値が&APP_PAGE_IDであることを確認します。

5 APEX_CUSTOM_AUTH

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

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

- APPLICATION_PAGE_ITEM_EXISTSファンクション

- CURRENT_PAGE_IS_PUBLICファンクション

- DEFINE_USER_SESSIONプロシージャ

- GET_COOKIE_PROPSプロシージャ

- GET_LDAP_PROPSプロシージャ

- GET_NEXT_SESSION_IDファンクション

- GET_SECURITY_GROUP_IDファンクション

- GET_SESSION_IDファンクション

- GET_SESSION_ID_FROM_COOKIEファンクション

- GET_USERファンクション

- GET_USERNAMEファンクション

- IS_SESSION_VALIDファンクション

- LOGINプロシージャ

- LOGOUTプロシージャ

- POST_LOGINプロシージャ

- SESSION_ID_EXISTSファンクション

- SET_SESSION_IDプロシージャ

- SET_SESSION_ID_TO_NEXT_VALUEプロシージャ

- SET_USERプロシージャ

APPLICATION_PAGE_ITEM_EXISTSファンクション

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

構文

APEX_CUSTOM_AUTH.APPLICATION_PAGE_ITEM_EXISTS(
p_item_name   IN    VARCHAR2)
RETURN BOOLEAN;

パラメータ

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

表5-1 APPLICATION_PAGE_ITEM_EXISTSのパラメータ

パラメータ

説明

p_item_name

ページ・レベル・アイテムの名前。

例

次の例では、アプリケーションのカレント・ページ内にページ・レベル・アイテムITEM_NAMEが存在するかどうかを確認します。

DECLARE
L_VAL BOOLEAN;
BEGIN
VAL := APEX_CUSTOM_AUTH.APPLICATION_PAGE_ITEM_EXISTS(:ITEM_NAME);
IF L_VAL THEN
htp.p('Item Exists');
ELSE
htp.p('Does not Exist');
END IF;
END;

CURRENT_PAGE_IS_PUBLICファンクション

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

参照:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「ページ属性の編集」

構文

APEX_CUSTOM_AUTH.CURRENT_PAGE_IS_PUBLIC
RETURN BOOLEAN;

例

次の例では、アプリケーションのカレント・ページがパブリックかどうかを確認します。

DECLARE
L_VAL BOOLEAN;
BEGIN
L_VAL := APEX_CUSTOM_AUTH.CURRENT_PAGE_IS_PUBLIC;
IF L_VAL THEN
htp.p('Page is Public');
ELSE
htp.p('Page is not Public');
END IF;
END;

DEFINE_USER_SESSIONプロシージャ

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

構文

APEX_CUSTOM_AUTH.DEFINE_USER_SESSION(
p_user         IN    VARCHAR2,
p_session_id   IN    NUMBER);

パラメータ

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

表5-2 DEFINE_USER_SESSIONのパラメータ

パラメータ

説明

p_user

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

p_session_id

セッションID。

例

次の例では、新しいセッションIDが生成され、カレント・アプリケーション・ユーザーとともに登録されます。

APEX_CUSTOM_AUTH.DEFINE_USER_SESSION (
:APP_USER,
APEX_CUSTOM_AUTH.GET_NEXT_SESSION_ID);

参照:
「SET_USERプロシージャ」および「SET_SESSION_IDプロシージャ」

GET_COOKIE_PROPSプロシージャ

このプロシージャは、指定したアプリケーションのカレント認証スキームで使用されるセッションCookieのプロパティを取得します。これらのプロパティは、認証スキーム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
p_secure                                    OUT BOOLEAN);

パラメータ

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

表5-3 GET_COOKIE_PROPSのパラメータ

パラメータ

説明

p_app_id

現行のワークスペースのアプリケーションIDです。

p_cookie_name

Cookie名です。

p_cookie_path

Cookieパスです。

p_cookie_domain

Cookieドメインです。

p_secure

Cookieのsecureプロパティを設定するためのフラグです。

例

次の例では、カレント・アプリケーションの認証スキームで使用されるセッションCookieの値を取得します。

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

GET_LDAP_PROPSプロシージャ

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

構文

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

パラメータ

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

表5-4 GET_LDAP_PROPSのパラメータ

パラメータ

説明

p_ldap_host

LDAPホスト名です。

p_ldap_port

LDAPポート番号です。

p_ldap_dn

LDAP DN文字列です。

p_ldap_edit_function

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

例

次の例では、カレント・アプリケーションに関連付けられているLDAP属性を取得します。

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

GET_NEXT_SESSION_IDファンクション

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

構文

APEX_CUSTOM_AUTH.GET_NEXT_SESSION_ID
RETURN NUMBER;

例

次の例では、次のセッションIDを生成して変数に格納します。

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

GET_SECURITY_GROUP_IDファンクション

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

構文

APEX_CUSTOM_AUTH.GET_SECURITY_GROUP_ID
RETURN NUMBER;

例

次の例では、カレント・ユーザーのセキュリティ・グループIDを取得します。

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

GET_SESSION_IDファンクション

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

構文

APEX_CUSTOM_AUTH.GET_SESSION_ID
RETURN NUMBER;

例

次の例では、カレント・ユーザーのセッションIDを取得します。

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

GET_SESSION_ID_FROM_COOKIEファンクション

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

構文

APEX_CUSTOM_AUTH.GET_SESSION_ID_FROM_COOKIE
RETURN NUMBER;

例

次の例では、現行のセッションCookieからセッションIDを取得します。

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

GET_USERファンクション

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

構文

APEX_CUSTOM_AUTH.GET_USER
RETURN VARCHAR2;

例

次の例では、カレント・セッションに関連付けられているユーザー名を取得します。

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

GET_USERNAMEファンクション

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

構文

APEX_CUSTOM_AUTH.GET_USERNAME
RETURN VARCHAR2;

例

次の例では、カレント・アプリケーション・セッションに登録されているユーザー名を取得します。

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

IS_SESSION_VALIDファンクション

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

構文

APEX_CUSTOM_AUTH.IS_SESSION_VALID
RETURN BOOLEAN;

例

次の例では、カレント・セッションが有効かどうかを検証します。

DECLARE
L_VAL BOOLEAN;
BEGIN
L_VAL := APEX_CUSTOM_AUTH.IS_SESSION_VALID;
IF L_VAL THEN
htp.p('Valid');
ELSE
htp.p('Invalid');
END IF;
END;

LOGINプロシージャ

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

構文

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

パラメータ

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

表5-5 LOGINのパラメータ

パラメータ

説明

p_uname

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

p_password

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

p_session_id

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

p_app_page

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

p_entry_point

内部でのみ使用します。

p_preserve_case

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

例

次の例では、ユーザーの認証およびセッションの登録を実行します。

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

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

LOGOUTプロシージャ

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

構文

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

パラメータ

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

表5-6 LOGOUTのパラメータ

パラメータ

説明

p_this_app

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

p_next_app_page_sess

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

p_next_url

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

例

次の例では、カレント・セッションからのロウアウトおよびアプリケーション1000のページ99へのリダイレクトを実行します。

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

POST_LOGINプロシージャ

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

構文

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

パラメータ

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

表5-7 POST_LOGINのパラメータ

パラメータ

説明

p_uname

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

p_session_id

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

p_app_page

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

p_preserve_case

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

例

次の例では、認証の成功に続いて、セッションの登録を実行します。

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

SESSION_ID_EXISTSファンクション

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

構文

APEX_CUSTOM_AUTH.SESSION_ID_EXISTS
RETURN BOOLEAN;

例

次の例では、現行のセッションIDが有効かどうかおよび存在するかどうかを確認します。

DECLARE
L_VAL BOOLEAN;
BEGIN
L_VAL := APEX_CUSTOM_AUTH.SESSION_ID_EXISTS;
IF VAL THEN
htp.p('Exists');
ELSE
htp.p('Does not exist');
END IF;
END;

SET_SESSION_IDプロシージャ

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

構文

APEX_CUSTOM_AUTH.SET_SESSION_ID(
p_session_id    IN    NUMBER);

パラメータ

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

表5-8 SET_SESSION_IDのパラメータ

パラメータ

説明

p_session_id

登録するセッションID。

例

次の例では、登録されたセッションIDの値がブラウザCookieから取得されます。

APEX_CUSTOM_AUTH.SET_SESSION_ID(APEX_CUSTOM_AUTH.GET_SESSION_ID_FROM_COOKIE);

SET_SESSION_ID_TO_NEXT_VALUEプロシージャ

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

構文

APEX_CUSTOM_AUTH.SET_SESSION_ID_TO_NEXT_VALUE;

例

次の例では、カレント・セッションが有効でない場合、新しいセッションIDが生成され、登録されます。

IF NOT APEX_CUSTOM_AUTH.SESSION_ID_EXISTS THEN
APEX_CUSTOM_AUTH.SET_SESSION_ID_TO_NEXT_VALUE;
END IF;

SET_USERプロシージャ

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

構文

APEX_CUSTOM_AUTH.SET_USER(
p_user   IN    VARCHAR2);

パラメータ

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

表5-9 SET_USERのパラメータ

パラメータ

説明

p_user

登録するユーザーID。

例

次の例では、カレント・アプリケーション・ユーザーがNOBODYの場合、JOHN.DOEがアプリケーション・ユーザーとして登録されます。

IF V('APP_USER') = 'NOBODY' THEN
APEX_CUSTOM_AUTH.SET_USER('JOHN.DOE');
END IF;

6 APEX_LDAP

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

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

- AUTHENTICATEファンクション

- GET_ALL_USER_ATTRIBUTESプロシージャ

- GET_USER_ATTRIBUTESプロシージャ

- IS_MEMBERファンクション

- MEMBER_OFファンクション

- MEMBER_OF2ファンクション

AUTHENTICATEファンクション

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

構文

APEX_LDAP.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;

パラメータ

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

表6-1 AUTHENTICATEのパラメータ

パラメータ

説明

p_username

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

p_password

p_usernameのパスワード。

p_search_base

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

p_host

LDAPサーバーのホスト名。

p_port

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

例

次の例に、APEX_LDAP.AUTHENTICATEファンクションを使用して、ユーザー資格証明を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;

GET_ALL_USER_ATTRIBUTESプロシージャ

GET_ALL_USER_ATTRIBUTESプロシージャは、指定した認証ベース、ホストおよびポートを使用して、p_username(および必要に応じてパスワード)によって指定されたユーザー名に対するuser_attributeの名前と値の2つのOUT配列を戻します。

構文

APEX_LDAP.GET_ALL_USER_ATTRIBUTES(
p_username          IN VARCHAR2 DEFAULT NULL,
p_pass              IN VARCHAR2 DEFAULT NULL,
p_auth_base         IN VARCHAR2 DEFAULT NULL,
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);

パラメータ

表6-2に、GET_ALL_USER_ATTRIBUTESプロシージャのパラメータを示します。

表6-2 GET_ALL_USER_ATTRIBUTESのパラメータ

パラメータ

説明

p_username

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

p_pass

p_usernameのパスワード。

p_auth_base

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

p_host

LDAPサーバーのホスト名。

p_port

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

p_attributes

戻される属性名の配列。

p_attribute_values

p_attributesの各属性名に対応して戻される値の配列。

例

次の例に、APEX_LDAP.GET_ALL_USER_ATTRIBUTESプロシージャを使用して、ユーザーに関連付けられているすべての属性値を取得する方法を示します。

DECLARE
L_ATTRIBUTES       wwv_flow_global.vc_arr2;
L_ATTRIBUTE_VALUES wwv_flow_global.vc_arr2;
BEGIN
APEX_LDAP.GET_ALL_USER_ATTRIBUTES(
p_username         => 'firstname.lastname',
p_pass             => 'abcdef',
p_auth_base        => 'cn=user,l=amer,dc=my_company,dc=com',
p_host             => 'our_ldap_sever.my_company.com',
p_port             => '389',
p_attributes       => L_ATTRIBUTES,
p_attribute_values => L_ATTRIBUTE_VALUES);

FOR i IN L_ATTRIBUTES.FIRST..L_ATTRIBUTES.LAST LOOP
htp.p('attribute name: '||L_ATTRIBUTES(i));
htp.p('attribute value: '||L_ATTRIBUTE_VALUES(i));
END LOOP;
END;

GET_USER_ATTRIBUTESプロシージャ

GET_USER_ATTRIBUTESプロシージャは、指定した認証ベース、ホストおよびポートを使用して、p_attributesによって指定された属性名に対応するp_username(および必要に応じてパスワード)によって指定されたユーザー名に対するuser_attribute値のOUT配列を戻します。

構文

APEX_LDAP.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);

パラメータ

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

表6-3 GET_USER_ATTRIBUTESのパラメータ

パラメータ

説明

p_username

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

p_pass

p_usernameのパスワード。

p_auth_base

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

p_host

LDAPサーバーのホスト名。

p_port

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

p_attributes

戻される値の属性名の配列。

p_attribute_values

p_attributesの各属性名に対応して戻される値の配列。

例

次の例に、APEX_LDAP.GET_USER_ATTRIBUTESプロシージャを使用して、ユーザーに関連付けられている特定の属性値を取得する方法を示します。

DECLARE
L_ATTRIBUTES wwv_flow_global.vc_arr2;
L_ATTRIBUTE_VALUES wwv_flow_global.vc_arr2;
BEGIN
L_ATTRIBUTES(1) := 'xxxxxxxxxx'; /* name of the employee number attribute */
APEX_LDAP.GET_USER_ATTRIBUTES(
p_username => 'firstname.lastname',
p_pass => NULL,
p_auth_base => 'cn=user,l=amer,dc=my_company,dc=com',
p_host => 'our_ldap_sever.my_company.com',
p_port => '389',
p_attributes => L_ATTRIBUTES,
p_attribute_values => L_ATTRIBUTE_VALUES);
END;

IS_MEMBERファンクション

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

構文

APEX_LDAP.IS_MEMBER(
p_username     IN VARCHAR2,
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;

パラメータ

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

表6-4 IS_MEMBERのパラメータ

パラメータ

説明

p_username

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

p_pass

p_usernameのパスワード。

p_auth_base

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

p_host

LDAPサーバーのホスト名。

p_port

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

p_group

メンバーシップを検索するグループ名。

p_group_base

検索を開始するベース。

例

次の例に、APEX_LDAP.IS_MEMBERファンクションを使用して、ユーザーがグループのメンバーであるかどうかをLDAPサーバーに対して検証する方法を示します。

DECLARE
L_VAL boolean;
BEGIN
L_VAL := APEX_LDAP.IS_MEMBER(
p_username =>'firstname.lastname',
p_pass =>'abcdef',
p_auth_base => 'cn=user,l=amer,dc=my_company,dc=com',
p_host => 'our_ldap_sever.my_company.com',
p_port => 389,
p_group => 'group_name',
p_group_base => 'group_base');
IF L_VAL THEN
htp.p('Is a member.');
ELSE
htp.p('Not a member.');
END IF;
END;

MEMBER_OFファンクション

MEMBER_OFファンクションは、指定した認証ベース、ホストおよびポートを使用して、p_username(および必要に応じてパスワード)によって指定されたユーザー名が属するグループの配列を戻します。

構文

APEX_LDAP.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;

パラメータ

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

表6-5 MEMBER_OFのパラメータ

パラメータ

説明

p_username

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

p_pass

p_usernameのパスワード。

p_auth_base

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

p_host

LDAPサーバーのホスト名。

p_port

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

例

次の例に、APEX_LDAP.MEMBER_OFファンクションを使用して、指定したユーザー名で特定されたすべてのグループを取得する方法を示します。

DECLARE
L_MEMBERSHIP       wwv_flow_global.vc_arr2;
BEGIN
L_MEMBERSHIP := APEX_LDAP.MEMBER_OF(
p_username         => 'firstname.lastname',
p_pass             => 'abcdef',
p_auth_base        => 'cn=user,l=amer,dc=my_company,dc=com',
p_host             => 'our_ldap_sever.my_company.com',
p_port             => '389');
FOR i IN L_MEMBERSHIP.FIRST..L_MEMBERSHIP.LAST LOOP
htp.p('Member of: '||L_MEMBERSHIP(i));
END LOOP;
END;

MEMBER_OF2ファンクション

MEMBER_OF2ファンクションは、指定した認証ベース、ホストおよびポートを使用して、p_username(および必要に応じてパスワード)によって指定されたユーザー名が属するグループのVARCHAR2コロン区切りリストを戻します。

構文

APEX_LDAP.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;

パラメータ

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

表6-6 MEMBER_OF2のパラメータ

パラメータ

説明

p_username

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

p_pass

p_usernameのパスワード。

p_auth_base

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

p_host

LDAPサーバーのホスト名。

p_port

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

例

次の例に、APEX_LDAP.MEMBER_OF2ファンクションを使用して、指定したユーザー名で特定されたすべてのグループを取得する方法を示します。

DECLARE
L_VAL varchar2(4000);
BEGIN
L_VAL := APEX_LDAP.MEMBER_OF2(
p_username => 'firstname.lastname',
p_pass => 'abcdef',
p_auth_base => 'cn=user,l=amer,dc=my_company,dc=com',
p_host => 'our_ldap_sever.my_company.com',
p_port => 389);
htp.p('Is Member of:'||L_VAL);
END;

7 APEX_INSTANCE_ADMIN

APEX_INSTANCE_ADMINパッケージには、Oracle Application Expressのランタイム環境を管理するためのユーティリティが用意されています。APEX_INSTANCE_ADMINパッケージを使用すると、電子メール設定、ウォレット設定、レポート出力設定などの取得と設定を行い、スキームとワークスペースのマッピングを管理できます。APEX_INSTANCE_ADMINは、SYS、SYSTEM、APEX_030200のデータベース・ユーザーに加え、ロールAPEX_ADMINISTRATOR_ROLEが付与されているすべてのデータベース・ユーザーが実行できます。

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

- ADD_SCHEMAプロシージャ

- ADD_WORKSPACEプロシージャ

- GET_PARAMETERファンクション

- GET_SCHEMASファンクション

- REMOVE_SAVED_REPORTSプロシージャ

- REMOVE_SCHEMAプロシージャ

- REMOVE_WORKSPACEプロシージャ

- SET_PARAMETERプロシージャ

- 使用可能なパラメータ値

ADD_SCHEMAプロシージャ

ADD_SCHEMAプロシージャは、ワークスペースとスキーマのマッピングにスキーマを追加します。

構文

APEX_INSTANCE_ADMIN.ADD_SCHEMA(
p_workspace    IN VARCHAR2,
p_schema       IN VARCHAR2);

パラメータ

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

表7-1 ADD_SCHEMAのパラメータ

パラメータ

説明

p_workspace

スキーマ・マッピングを追加するワークスペースの名前。

p_schema

スキーマとワークスペースのマッピングに追加するスキーマ。

例

次の例に、ADD_SCHEMAプロシージャを使用してスキーマをワークスペースにマッピングする方法を示します。

BEGIN
APEX_INSTANCE_ADMIN.ADD_SCHEMA('MY_WORKSPACE','FRANK');
END;

ADD_WORKSPACEプロシージャ

ADD_WORKSPACEプロシージャは、Application Expressインスタンスにワークスペースを追加します。

構文

APEX_INSTANCE_ADMIN.ADD_WORKSPACE(
p_workspace_id        IN NUMBER DEFAULT NULL,
p_workspace           IN VARCHAR2,
p_primary_schema      IN VARCHAR2,
p_additional_schemas  IN VARCHAR2 );

パラメータ

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

表7-2 ADD_WORKSPACEのパラメータ

パラメータ

説明

p_workspace_id

Application Expressインスタンス内でワークスペースを一意に識別するID。これをNULLのままにすると、新しい一意のIDが割り当てられます。

p_workspace

追加するワークスペースの名前。

p_primary_schema

新しいワークスペースに関連付けるプライマリ・データベース・スキーマ。

p_additional_schemas

このワークスペースに関連付ける追加スキーマを列挙したコロン区切りのリスト。

例

次の例に、ADD_WORKSPACEプロシージャを使用して、HRおよびOE用の追加のスキーマ・マッピングとともにSCOTTというプライマリ・スキーマを使用するMY_WORKSPACEという新しいワークスペースを追加する方法を示します。

BEGIN
APEX_INSTANCE_ADMIN.ADD_WORKSPACE(8675309,'MY_WORKSPACE','SCOTT','HR:OE');
END;

GET_PARAMETERファンクション

GET_PARAMETERファンクションは、ランタイム環境の管理に使用されるパラメータの値を取得します。

構文

APEX_INSTANCE_ADMIN.GET_PARAMETER(
p_parameter     IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表7-3 GET_PARAMETERのパラメータ

パラメータ

説明

p_parameter

取得するインスタンス・パラメータ。

「使用可能なパラメータ値」を参照してください。

例

次の例に、GET_PARAMETERファンクションを使用して、Oracle Application Expressインスタンスに対して現在定義されているSMTP_HOST_ADDRESSパラメータを取得する方法を示します。

DECLARE
L_VAL VARCHAR2(4000);
BEGIN
L_VAL :=APEX_INSTANCE_ADMIN.GET_PARAMETER('SMTP_HOST_ADDRESS');
DBMS_OUTPUT.PUT_LINE('The SMTP Host Setting Is: '||L_VAL);
END;

GET_SCHEMASファンクション

GET_SCHEMASファンクションは、特定のワークスペースにマッピングされているスキーマのカンマ区切りリストを取得します。

構文

APEX_INSTANCE_ADMIN.GET_SCHEMAS(
p_workspace     IN VARCHAR2)
RETURN VARCHAR2;

パラメータ

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

表7-4 GET_SCHEMASのパラメータ

パラメータ

説明

p_workspace

スキーマ・リストを取得するワークスペースの名前。

例

次の例に、GET_SCHEMAファンクションを使用して、ワークスペースにマッピングされた基礎となるスキーマを取得する方法を示します。

DECLARE
L_VAL VARCHAR2(4000);
BEGIN
L_VAL :=APEX_INSTANCE_ADMIN.GET_SCHEMAS('MY_WORKSPACE');
DBMS_OUTPUT.PUT_LINE('The schemas for my workspace: '||L_VAL);
END;

REMOVE_SAVED_REPORTSプロシージャ

REMOVE_SAVED_REPORTSプロシージャは、特定のアプリケーションまたはインスタンス全体に対してユーザーが保存したすべての対話モード・レポートの設定を削除します。

構文

APEX_INSTANCE_ADMIN.REMOVE_SAVED_REPORTS(
p_application_id     IN NUMBER DEFAULT NULL);

パラメータ

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

表7-5 REMOVE_SAVED_REPORTSパラメータ

パラメータ

説明

p_application_id

ユーザーが保存した対話モード・レポートの情報を削除する対象アプリケーションのID。このパラメータをNULLのままにしておくと、インスタンス全体に対してユーザーが保存したすべての対話モード・レポートが削除されます。

例

次の例に、REMOVE_SAVED_REPORTSプロシージャを使用して、IDが100のアプリケーションに対してユーザーが保存した対話モード・レポートの情報を削除する方法を示します。

BEGIN
APEX_INSTANCE_ADMIN.REMOVE_SAVED_REPORTS(100);
END;

REMOVE_SCHEMAプロシージャ

このREMOVE_SCHEMAは、ワークスペースからスキーマへのマッピングを削除します。

構文

APEX_INSTANCE_ADMIN.REMOVE_SCHEMA(
p_workspace     IN VARCHAR2,
p_schema        IN VARCHAR2);

パラメータ

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

表7-6 REMOVE_SCHEMAのパラメータ

パラメータ

説明

p_workspace

スキーマ・マッピングを削除するワークスペースの名前。

p_schema

スキーマとワークスペースのマッピングから削除するスキーマ。

例

次の例に、REMOVE_SCHEMAプロシージャを使用して、ワークスペースとスキーマのマッピングMY_WORKSPACEからFrankというスキーマを削除する方法を示します。

BEGIN
APEX_INSTANCE_ADMIN.REMOVE_SCHEMA('MY_WORKSPACE','FRANK');
END;

REMOVE_WORKSPACEプロシージャ

REMOVE_WORKSPACEプロシージャは、Application Expressインスタンスからワークスペースを削除します。

構文

APEX_INSTANCE_ADMIN.REMOVE_WORKSPACE(
p_workspace         IN VARCHAR2,
p_drop_users        IN VARCHAR2 DEFAULT 'N',
p_drop_tablespaces  IN VARCHAR2 DEFAULT 'N' );

パラメータ

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

表7-7 REMOVE_WORKSPACEのパラメータ

パラメータ

説明

p_workspace

削除するワークスペースの名前。

p_drop_users

'Y'を指定すると、ワークスペースに関連付けられているデータベース・ユーザーも削除されます。デフォルトは'N'です。

p_drop_tablespaces

'Y'を指定すると、ワークスペースに関連付けられているデータベース・ユーザーに関連付けられた表領域も削除されます。デフォルトは'N'です。

例

次の例に、REMOVE_WORKSPACEプロシージャを使用して、関連するデータベース・ユーザーおよび表領域とともにMY_WORKSPACEという既存のワークスペースを削除する方法を示します。

BEGIN
APEX_INSTANCE_ADMIN.REMOVE_WORKSPACE('MY_WORKSPACE','Y','Y');
END;

SET_PARAMETERプロシージャ

SET_PARAMETERプロシージャは、ランタイム環境の管理に使用されるパラメータを設定します。

構文

APEX_INSTANCE_ADMIN.SET_PARAMETER(
p_parameter     IN VARCHAR2,
p_value         IN VARCHAR2 DEFAULT 'N');

パラメータ

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

表7-8 SET_PARAMETERのパラメータ

パラメータ

説明

p_parameter

設定するインスタンス・パラメータ。

p_value

パラメータの値。

「使用可能なパラメータ値」を参照してください。

例

次の例に、SET_PARAMETERプロシージャを使用して、Oracle Application ExpressインスタンスのSMTP_HOST_ADDRESSパラメータを設定する方法を示します。

BEGIN
APEX_INSTANCE_ADMIN.SET_PARAMETER('SMTP_HOST_ADDRESS','mail.mycompany.com');
END;

使用可能なパラメータ値

表7-9に、APEX_INSTANCE_ADMINパッケージ内で設定可能なすべてのパラメータ(電子メール、ウォレット、レポート出力用のパラメータなど)の値を示します。

表7-9 使用可能なパラメータ

パラメータ名

説明

SMTP_FROM

割当てリクエストの承認や、パスワードのリセットなど、電子メールを作成する管理タスクに対する送信元アドレスを定義します。

有効な電子メール・アドレスを入力します。次に例を示します。

someone@somewhere.com

SMTP_HOST_ADDRESS

SMTPサーバーのサーバー・アドレスを定義します。別のサーバーをSMTPリレーとして使用する場合は、このパラメータをそのサーバーのアドレスに変更します。

デフォルト設定:

localhost

SMTP_HOST_PORT

メール・リクエスト用にSMTPサーバーが待機するポートを定義します。

デフォルト設定:

25

WALLET_PATH

ファイル・システムでのウォレットへのパス。次に例を示します。

file:/home/<username>/wallets

WALLET_PWD

ウォレットに関連付けられているパスワード。

PRINT_BIB_LICENSED

標準サポートまたは拡張サポートのいずれかを指定します。拡張サポートの場合は、Oracle BI Publisherの使用許諾が必要です。有効な値は、次のとおりです。

- STANDARD

- ADVANCED

PRINT_SVR_PROTOCOL

有効な値は、次のとおりです。

- http

- https

PRINT_SVR_HOST

プリント・サーバー変換エンジンのホスト・アドレス(localhostなど)を指定します。プリント・サーバーが別の場所にインストールされている場合は、対応するホスト・アドレスを入力します。

PRINT_SVR_PORT

プリント・サーバー・エンジンのポート(8888など)を定義します。値は、正の整数である必要があります。

PRINT_SVR_SCRIPT

プリント・サーバー・エンジンのスクリプトを定義します。次に例を示します。

/xmlpserver/convert

参照:
『Oracle Application Express管理ガイド』の「ランタイム環境での電子メールの構成」、「ランタイム環境でのウォレットの構成」および「ランタイム環境でのレポート出力設定の構成」

8 APEX_UI_DEFAULT_UPDATE

APEX_UI_DEFAULT_UPDATEパッケージは、SQL DeveloperまたはSQL*Plusからユーザー・インタフェースのデフォルト値にアクセスするためのプロシージャを提供します。

このパッケージを使用すると、ユーザー・インタフェースのデフォルト値を設定して、スキーマ内の表に関連付けることができます。このパッケージは、更新する表を所有しているスキーマ内からコールする必要があります。

ユーザー・インタフェースのデフォルト値を使用して、指定したスキーマ内の表、列またはビューにデフォルトのユーザー・インタフェースのプロパティを割り当てることができます。ウィザードを使用してフォームまたはレポートを作成する場合、ウィザードはこの情報を使用してリージョン・プロパティおよびアイテム・プロパティのデフォルト値を作成します。ユーザー・インタフェースのデフォルト値を使用すると、貴重な開発時間を節約でき、さらにアプリケーション内の複数のページで一貫性を保つことができるという利点もあります。

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

- UPD_DISPLAY_IN_FORMプロシージャ

- UPD_DISPLAY_IN_REPORTプロシージャ

- UPD_FORM_REGION_TITLEプロシージャ

- UPD_ITEM_DISPLAY_HEIGHTプロシージャ

- UPD_ITEM_DISPLAY_WIDTHプロシージャ

- UPD_ITEM_FORMAT_MASKプロシージャ

- UPD_ITEM_HELPプロシージャ

- UPD_LABELプロシージャ

- UPD_REPORT_ALIGNMENTプロシージャ

- UPD_REPORT_FORMAT_MASKプロシージャ

- UPD_REPORT_REGION_TITLEプロシージャ

参照:
Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイドの「ユーザー・インタフェースのデフォルト値の管理」

UPD_DISPLAY_IN_FORMプロシージャ

UPD_DISPLAY_IN_FORMプロシージャは、ユーザー・インタフェースのフォーム内の表示に関するデフォルト値を設定します。このユーザー・インタフェースのデフォルト値は、指定の表に基づいてフォームを作成する場合に、ウィザードで使用されます。また、指定の列をデフォルトで含めるかどうかを制御します。

構文

APEX_UI_DEFAULT_UPDATE.UPD_DISPLAY_IN_FORM (
p_table_name            IN VARCHAR2,
p_column_name           IN VARCHAR2,
p_display_in_form       IN VARCHAR2);

パラメータ

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

表8-1 UPD_DISPLAY_IN_FORMのパラメータ

パラメータ

説明

p_table_name

表名

p_column_name

列名

p_display_in_form

フォーム内にデフォルトで表示するかどうかを指定します。有効な値はYおよびNです

例

次の例では、DEPT表に対してフォームを作成する際に、DEPTNO列に対する表示オプションがデフォルトで「No」になるように設定します。

APEX_UI_DEFAULT_UPDATE.UPD_DISPLAY_IN_FORM(
p_table_name => 'DEPT',
p_column_name => 'DEPTNO',
p_display_in_form => 'N');

UPD_DISPLAY_IN_REPORTプロシージャ

UPD_DISPLAY_IN_REPORTプロシージャは、ユーザー・インタフェースのレポート内の表示に関するデフォルト値を設定します。このユーザー・インタフェースのデフォルト値は、指定の表に基づいてレポートを作成する場合に、ウィザードで使用されます。また、指定の列をデフォルトで含めるかどうかを制御します。

構文

APEX_UI_DEFAULT_UPDATE.UPD_DISPLAY_IN_REPORT (
p_table_name            IN VARCHAR2,
p_column_name           IN VARCHAR2,
p_display_in_report     IN VARCHAR2);

パラメータ

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

表8-2 UPD_DISPLAY_IN_REPORTのパラメータ

パラメータ

説明

p_table_name

表名

p_column_name

列名

p_display_in_report

レポート内にデフォルトで表示するかどうかを指定します。有効な値はYおよびNです

例

次の例では、DEPT表に対してレポートを作成する際に、DEPTNO列に対する表示オプションがデフォルトで「No」になるように設定します。

APEX_UI_DEFAULT_UPDATE.UPD_DISPLAY_IN_REPORT(
p_table_name => 'DEPT',
p_column_name => 'DEPTNO',
p_display_in_report => 'N');

UPD_FORM_REGION_TITLEプロシージャ

UPD_FORM_REGION_TITLEプロシージャは、フォーム・リージョン・タイトルのユーザー・インタフェースのデフォルト値を更新します。ユーザー・インタフェースのデフォルト値は、指定の表に基づいてフォームを作成するときに、ウィザードで使用されます。

構文

APEX_UI_DEFAULT_UPDATE.UPD_FORM_REGION_TITLE (
p_table_name            IN VARCHAR2,
p_form_region_title     IN VARCHAR2 DEFAULT NULL);

パラメータ

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

表8-3 APEX_UI_DEFAULT_UPDATEのパラメータ

パラメータ

説明

p_table_name

表名

p_form_region_title

希望するフォーム・リージョン・タイトル

例

次の例に、DEPT表にフォーム・リージョン・タイトルのユーザー・インタフェースのデフォルト値を設定する方法を示します。

APEX_UI_DEFAULT_UPDATE.UPD_FORM_REGION_TITLE (
p_table_name         => 'DEPT',
p_form_region_title  => 'Deptartment Details');

UPD_ITEM_DISPLAY_HEIGHTプロシージャ

UPD_ITEM_DISPLAY_HEIGHTプロシージャは、ユーザー・インタフェースのアイテム表示の高さに関するデフォルト値を設定します。このユーザー・インタフェースのデフォルト値は、指定の表に基づいてフォームを作成する場合に指定の列を含めるようにすると、ウィザードで使用されます。表示の高さでは、アイテムをテキスト・ボックスまたはテキスト領域にするかどうかを制御します。

構文

APEX_UI_DEFAULT_UPDATE.UPD_ITEM_DISPLAY_HEIGHT (
p_table_name            IN VARCHAR2,
p_column_name           IN VARCHAR2,
p_display_height        IN NUMBER);

パラメータ

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

表8-4 UPD_ITEM_DISPLAY_HEIGHTのパラメータ

パラメータ

説明

p_table_name

表名

p_column_name

列名

p_display_height

この列に基づいて作成されるすべてのアイテムの表示の高さ

例

次の例では、DEPT表に対してDNAME列にアイテムを作成する際に、デフォルトのアイテムの高さを3に設定します。

APEX_UI_DEFAULT_UPDATE.UPD_ITEM_DISPLAY_HEIGHT(
p_table_name => 'DEPT',
p_column_name => 'DNAME',
p_display_height => 3);

UPD_ITEM_DISPLAY_WIDTHプロシージャ

UPD_ITEM_DISPLAY_WIDTHプロシージャは、ユーザー・インタフェースのアイテム表示幅に関するデフォルト値を設定します。このユーザー・インタフェースのデフォルト値は、指定の表に基づいてフォームを作成する場合に指定の列を含めるようにすると、ウィザードで使用されます。

構文

APEX_UI_DEFAULT_UPDATE.UPD_ITEM_DISPLAY_WIDTH (
p_table_name            IN VARCHAR2,
p_column_name           IN VARCHAR2,
p_display_width         IN NUMBER);

パラメータ

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

表8-5 UPD_ITEM_DISPLAY_WIDTHのパラメータ

パラメータ

説明

p_table_name

表名

p_column_name

列名

p_display_width

この列に基づいて作成されるすべてのアイテムの表示幅

例

次の例では、DEPT表に対してDEPTNO列にアイテムを作成する際に、デフォルトのアイテムの幅を5に設定します。

APEX_UI_DEFAULT_UPDATE.UPD_ITEM_DISPLAY_WIDTH(
p_table_name => 'DEPT',
p_column_name => 'DEPTNO',
p_display_width => 5);

UPD_ITEM_FORMAT_MASKプロシージャ

UPD_ITEM_FORMAT_MASKプロシージャは、ユーザー・インタフェースのアイテム書式マスクに関するデフォルト値を設定します。このユーザー・インタフェースのデフォルト値は、指定の表に基づいてフォームを作成する場合に指定の列を含めるようにすると、ウィザードで使用されます。アイテムの書式マスクは、通常、数字と日付を書式化するために使用します。

構文

APEX_UI_DEFAULT_UPDATE.UPD_ITEM_FORMAT_MASK (
p_table_name            IN VARCHAR2,
p_column_name           IN VARCHAR2,
p_format_mask           IN VARCHAR2 DEFAULT NULL);

パラメータ

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

表8-6 UPD_ITEM_FORMAT_MASKのパラメータ

パラメータ

説明

p_table_name

表名

p_column_name

列名

p_format_mask

列に関連付ける書式マスク

例

次の例では、EMP表に対してフォームを作成する際に、HIREDATE列に対するデフォルトのアイテム書式マスクが'DD-MON-YYYY'に設定されています。

APEX_UI_DEFAULT_UPDATE.UPD_ITEM_FORMAT_MASK(
p_table_name => 'EMP',
p_column_name => 'HIREDATE',
p_format_mask=> 'DD-MON-YYYY');

UPD_ITEM_HELPプロシージャ

UPD_ITEM_HELPプロシージャは、指定された表および列のヘルプ・テキストを更新します。このユーザー・インタフェースのデフォルト値は、指定の表に基づいてフォームを作成する場合に、指定の列を含むようにすると使用されます。

構文

APEX_UI_DEFAULT_UPDATE.UPD_ITEM_HELP (
p_table_name            IN VARCHAR2,
p_column_name           IN VARCHAR2,
p_help_text             IN VARCHAR2 DEFAULT NULL);

パラメータ

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

表8-7 UPD_ITEM_HELPのパラメータ

パラメータ

説明

p_table_name

表名

p_column_name

列名

p_help_text

希望するヘルプ・テキスト

例

次の例に、DEPT表のDEPTNO列にユーザー・インタフェースのアイテム・ヘルプ・テキストのデフォルト値を設定する方法を示します。

APEX_UI_DEFAULT_UPDATE.UPD_ITEM_HELP(
p_table_name => 'DEPT',
p_column_name => 'DEPTNO',
p_help_text => 'The number assigned to the department.');

UPD_LABELプロシージャ

UPD_LABELプロシージャは、アイテムに使用されるラベルを設定します。このユーザー・インタフェースのデフォルト値は、指定された表に基づいてフォームまたはレポートを作成し、特定の列を含めるときに使用されます。

構文

APEX_UI_DEFAULT_UPDATE.UPD_ITEM_LABEL (
p_table_name            IN VARCHAR2,
p_column_name           IN VARCHAR2,
p_label                 IN VARCHAR2 DEFAULT NULL);

パラメータ

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

表8-8 UPD_LABELのパラメータ

パラメータ

説明

p_table_name

表名

p_column_name

列名

p_label

希望するアイテム・ラベル

例

次の例に、DEPT表のDEPTNO列にユーザー・インタフェースのアイテム・ラベルのデフォルト値を設定する方法を示します。

APEX_UI_DEFAULT_UPDATE.UPD_LABEL(
p_table_name => 'DEPT',
p_column_name => 'DEPTNO',
p_label => 'Department Number');

UPD_REPORT_ALIGNMENTプロシージャ

UPD_REPORT_ALIGNMENTプロシージャは、ユーザー・インタフェースのレポート位置に関するデフォルト値を設定します。このユーザー・インタフェースのデフォルト値がウィザードで使用されるのは、指定の表に基づいてレポートを作成し、指定の列を含むようにしたときに、レポートの列の位置を左、中央または右に調節するかどうかを決定する場合です。

構文

APEX_UI_DEFAULT_UPDATE.UPD_REPORT_ALIGNMENT (
p_table_name            IN VARCHAR2,
p_column_name           IN VARCHAR2,
p_report_alignment      IN VARCHAR2);

パラメータ

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

表8-9 UPD_REPORT_ALIGNMENTのパラメータ

パラメータ

説明

p_table_name

表名。

p_column_name

列名。

p_report_alignment

レポート内の列の位置を定義します。有効な値は、L (左)、C (中央)およびR (右)です。

例

次の例では、DEPT表に対してレポートを作成する際に、DEPTNO列に対するデフォルトの列の位置合せが右揃えに設定されています。

APEX_UI_DEFAULT_UPDATE.UPD_REPORT_ALIGNMENT(
p_table_name => 'DEPT',
p_column_name => 'DEPTNO',
p_report_alignment => 'R');

UPD_REPORT_FORMAT_MASKプロシージャ

UPD_REPORT_FORMAT_MASKプロシージャは、ユーザー・インタフェースのレポート書式マスクに関するデフォルト値を設定します。このユーザー・インタフェースのデフォルト値は、指定の表に基づいてレポートを作成する場合に指定の列を含めるようにすると、ウィザードで使用されます。レポートの書式マスクは、通常、数字と日付を書式化するために使用します。

構文

APEX_UI_DEFAULT_UPDATE.UPD_REPORT_FORMAT_MASK (
p_table_name            IN VARCHAR2,
p_column_name           IN VARCHAR2,
p_format_mask           IN VARCHAR2 DEFAULT NULL);

パラメータ

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

表8-10 UPD_REPORT_FORMAT_MASKのパラメータ

パラメータ

説明

p_table_name

表名

p_column_name

列名

p_format_mask

レポートに指定の列が含まれる場合に、その列に常に関連付ける書式マスク

例

次の例では、EMP表に対してレポートを作成する際に、HIREDATE列に対するデフォルトの書式マスクが'DD-MON-YYYY'に設定されています。

APEX_UI_DEFAULT_UPDATE.UPD_REPORT_FORMAT_MASK(
p_table_name => 'EMP',
p_column_name => 'HIREDATE',
p_format_mask=> 'DD-MON-YYYY');

UPD_REPORT_REGION_TITLEプロシージャ

UPD_REPORT_REGION_TITLEプロシージャは、レポート・リージョン・タイトルを設定します。ユーザー・インタフェースのデフォルト値は、表に関するレポートを作成するときに、ウィザードで使用されます。

構文

APEX_UI_DEFAULT_UPDATE.UPD_REPORT_REGION_TITLE (
p_table_name            IN VARCHAR2,
p_report_region_title   IN VARCHAR2 DEFAULT NULL);

パラメータ

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

表8-11 UPD_REPORT_REGION_TITLEのパラメータ

パラメータ

説明

p_table_name

表名

p_report_region_title

希望するレポート・リージョン・タイトル

例

次の例に、DEPT表にレポート・リージョン・タイトルのユーザー・インタフェースのデフォルト値を設定する方法を示します。

APEX_UI_DEFAULT_UPDATE.UPD_REPORT_REGION_TITLE (
p_table_name            => 'DEPT',
p_report_region_title   => 'Deptartments');

9 JavaScript API

このセクションでは、Oracle Application Expressに付属する、すべてのページで使用可能なJavaScriptのファンクションおよびオブジェクトについて説明します。これらのファンクションおよびオブジェクトを使用することで、クライアント側の機能(ページ要素の表示/非表示、XML HTTP Asynchronous JavaScriptおよびXML (AJAX)リクエストの作成など)を提供できます。

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

- $x(pNd)

- $v(pNd)

- $s(pNd, pValue)

- $u_Carray(pNd)

- $u_Narray(pNd)

- $nvl(pTest, pDefault)

- doSubmit(pRequest)

- confirmDelete(pMessage, pRequest)

- $x_Style(pNd, pStyle, pString)

- $x_Hide(pNd)

- $x_Show(pNd)

- $x_Toggle(pNd)

- $x_Remove(pNd)

- $x_Value(pNd,pValue)

- $x_UpTill(pNd, pToTag)

- $x_ItemRow(pNd,pFunc)

- $x_HideItemRow(pNd)

- $x_ShowItemRow(pNd)

- $x_ToggleItemRow(pNd)

- $x_HideAllExcept(pNd,pNdArray)

- $x_HideSiblings(pNd)

- $x_ShowSiblings(pNd)

- $x_Class(pNd,pClass)

- $x_SetSiblingsClass(pNd, pClass, pNdClass)

- $x_ByClass(pClass, pNd, pTag)

- $x_ShowAllByClass(pNd, pClass, pTag)

- $x_ShowChildren(pNd)

- $x_HideChildren(pNd)

- $x_disableItem(pNd, pTest)

- $f_get_emptys(pNd, pClassFail, pClass)

- $v_Array(pNd)

- $f_ReturnChecked(pNd)

- $d_ClearAndHide(pNd)

- $f_SelectedOptions(pNd)

- $f_SelectValue(pNd)

- $u_ArrayToString(pArray, pDelim)

- $x_CheckImageSrc(pId,pSearch)

- $v_CheckValueAgainst(pThis, pValue)

- $f_Hide_On_Value_Item(pThis, pThat, pValue)

- $f_Show_On_Value_Item(pThis, pThat, pValue)

- $f_Hide_On_Value_Item_Row(pThis, pThat, pValue)

- $f_Show_On_Value_Item_Row(pThis, pThat, pValue)

- $f_DisableOnValue(pThis, pValue, pThat)

- $x_ClassByClass(pNd, pClass, pTag, pClass2)

- $f_ValuesToArray(pThis, pClass, pTag)

- $x_FormItems(pNd, pType)

- $f_CheckAll(pThis, pCheck, pArray)

- $f_CheckFirstColumn(pNd)

- $v_PopupReturn(pValue, pThat)

- $x_ToggleWithImage(pThis,pNd)

- $x_SwitchImageSrc(pNd, pSearch, pReplace)

- $x_CheckImageSrc(pNd, pSearch)

- $u_SubString(pText,pMatch)

- html_RemoveAllChildren(pNd)

- $v_IsEmpty(pThis)

- html_SetSelectValue(pId,pValue)

- addLoadEvent(pFunction)

- $f_Swap(pThis,pThat)

- submitEnter(pNd,e)

- $f_SetValueSequence(pArray,pMultiple)

- $dom_AddTag(pThis, pTag, pText)

- $tr_AddTD(pThis,pText)

- $dom_AddInput(pThis,pType,pId,pName,pValue)

- $dom_MakeParent(p_Node,p_Parent)

- $x_RowHighlight(pThis, pColor)

- $x_RowHighlightOff(pThis)

- $v_Upper(pNd)

- $v_Upper(pNd)

- $d_Find(pThis,pString,pTags,pClass)

- returnInput(p_R, p_D)

- setReturn(p_R,p_D)

- $f_First_field(pNd)

- GetCookie (pName)

- SetCookie (pName,pValue)

$x(pNd)

DOMノードまたは文字列ID (pNd)を指定すると、このファンクションは、その要素がページ上に存在する場合はDOMノードを戻し、存在しない場合はfalseを戻します。

戻り値

(DOM Node | false)

パラメータ

pNd (DOM Node | string ID)

$v(pNd)

DOMノードまたは文字列ID (pNd)を指定すると、このファンクションは、Application Expressアイテムがポストされた場合と同じ形式で、その値を戻します。

パラメータ

pNd (DOM Node | string ID)

$s(pNd, pValue)

DOMノードまたは文字列ID (pNd)を指定すると、このファンクションは、そのApplication Expressアイテムの型を考慮した上で、値を設定します。

パラメータ

pNd (DOM Node | string ID)
pValue  (String | Array)

$u_Carray(pNd)

指定されたDOMノード、文字列IDまたは配列(pNd)に対して、このファンクションは配列を戻します。1つまたは複数のDOMノードに対応可能なDOMベースの機能を作成する場合に使用されます。

戻り値

pNd (DOM Node | string ID | Array)

パラメータ

Array

$u_Narray(pNd)

指定されたDOMノード、文字列IDまたは配列(pNd)に対して、このファンクションは、pNdが配列であり、その要素が1つのみの場合はその要素の値を戻し、それ以外の場合は配列を戻します。1つまたは複数のDOMノードに対応可能なDOMベースの機能を作成する場合に使用されます。

戻り値

Array (DOM Node | string ID | Array)

パラメータ

Array or first value

$nvl(pTest, pDefault)

pTestが空またはfalseの場合はpDefaultを戻し、それ以外の場合はpTestを戻します。

戻り値

(string | Array)

パラメータ

pTest  (String | Array)
pDefault (String | Array)

doSubmit(pRequest)

ページを送信して、Application Express Requestの値(pRequest)を設定します。

パラメータ

pRequest (String)

confirmDelete(pMessage, pRequest)

メッセージ(pMessage)を表示する確認画面を表示し、ユーザーの選択に基づいて、ページを送信してリクエスト値(pRequest)を設定するか、またはページの送信をキャンセルします。

パラメータ

pMessage (string)
pRequest (string)

$x_Style(pNd, pStyle, pString)

DOMノードまたはDOMノード配列(pNd)の特定のスタイル・プロパティ(pStyle)を指定の値(pString)に設定します。

戻り値

(DOM node | DOM Array)

パラメータ

pNd (DOM node | string ID | DOM node Array )
pStyle (String)
pString (String)

$x_Hide(pNd)

1つのDOMノードまたは配列のDOMノード(pNd)を非表示にします。

戻り値

(DOM node | Array)

パラメータ

pNd (DOM node | string ID | DOM node Array )

$x_Show(pNd)

1つのDOMノードまたは配列のDOMノード(pNd)を表示します。

戻り値

(DOM node | Array)

パラメータ

pNd (DOM node | string ID | DOM node Array )

$x_Toggle(pNd)

1つのDOMノードまたは配列のDOMノード(pNd)を切り替えます。

戻り値

(DOM node | Array)

パラメータ

pNd (DOM node | string ID | Array)

$x_Remove(pNd)

1つのDOMノードまたは配列のDOMノードを削除します。

戻り値

(DOM Node | Array)

パラメータ

pNd (DOM node | string ID | DOM node Array)

$x_Value(pNd,pValue)

1つのDOMノードまたは配列のDOMノード(pNd)の値(pValue)を設定します。

戻り値

Not applicable.

パラメータ

pNd (DOM node | string ID | DOM node Array)
pValue (String)

$x_UpTill(pNd, pToTag)

このファンクションは、DOMノード(pNd)から開始して、ノード名のタグ(pToTag)が検出されるまでDOMツリーの上位の方にカスケードします。

戻り値

(DOM Node | false)

パラメータ

pNd  (DOM Node | string ID)
String (pToTag)
String (pToClass )

$x_ItemRow(pNd,pFunc)

DOMノードまたはDOMノードの配列を指定すると、このファンクションは、そのDOMノードまたはDOMノードの配列を含む行全体を表示するか、非表示にするか、または切り替えます。これは、ページ・アイテムを使用する場合に最も役立ちます。

戻り値

Not applicable.

パラメータ

pNd (DOM Node | string ID | Dom node Array)
pFunc ['TOGGLE','SHOW','HIDE'] (String )

$x_HideItemRow(pNd)

ページ・アイテム名を指定すると、このファンクションは、そのアイテムを保持している行全体を非表示にします。ほとんどの場合、これはアイテムおよびそのラベルです。

戻り値

Not applicable.

パラメータ

pNd (DOM Node | string ID | DON node Array)

$x_ShowItemRow(pNd)

ページ・アイテム名を指定すると、このファンクションは、そのアイテムを保持している行全体を表示します。ほとんどの場合、これはアイテムおよびそのラベルです。

戻り値

Not applicable.

パラメータ

pNd (DOM node | string ID | DOM note Array)

$x_ToggleItemRow(pNd)

ページ・アイテム名(pNd)を指定すると、このファンクションは、そのアイテムを保持している行全体を切り替えます。ほとんどの場合、これはアイテムおよびそのラベルです。

戻り値

Not applicable.

パラメータ

pNd (DOM node | string ID | DOM node ray)

$x_HideAllExcept(pNd,pNdArray)

pNdArrayから参照されているすべてのDOMノードを非表示にし、pNdで参照されているDOMノードを表示します。これは、pNdがpNdArrayのノードでもある場合に最も役立ちます。

戻り値

(DOM node | DOM Array)

パラメータ

pNd (DOM node | string ID | DOM node Array)
pNdArray (DOM node | String | Array)

$x_HideSiblings(pNd)

指定されたpNdの兄弟ノードをすべて非表示にします。

戻り値

(DOM node)

パラメータ

pNd (DOM node | string ID )

$x_ShowSiblings(pNd)

指定されたDOMノード(pNd)の兄弟DOMノードをすべて表示します。

戻り値

(DOM node)

パラメータ

pNd (DOM node | string ID )

$x_Class(pNd,pClass)

1つのDOMノードまたは配列のDOMノードを1つのクラス名に設定します。

戻り値

Not applicable.

パラメータ

pNd (DOM node | string ID | DOM node Array)
pClass (String)

$x_SetSiblingsClass(pNd, pClass, pNdClass)

ノード(pNd)のすべての兄弟DOMノードのクラス(pClass)を設定します。pNdClassがNULLでない場合、pNdはpNdClassに設定されます。

戻り値

(DOM node | false)

パラメータ

pNd (DOM Nnde | string ID)
pClass (String)
pThisClass (String)

$x_ByClass(pClass, pNd, pTag)

指定されたクラス名(pClass)に基づいて、DOMノードの配列を戻します。pNdパラメータが提示されている場合、戻される要素はすべてそのDOMノードの子になります。pTagパラメータも指定すると、戻り値が絞り込まれて、そのタグ・タイプのノードのみが戻されます。

戻り値

(Array)

パラメータ

pClass (String)
pNd  (DOM node | string ID)
pTag (String)

$x_ShowAllByClass(pNd, pClass, pTag)

DOMノード(pNd)の子で、特定のクラス(pClass)およびタグ(pTag)を持つDOMノードをすべて表示します。

戻り値

Not applicable.

パラメータ

pNd (DOM node | string ID)
pClass (String)
pTag (String)

$x_ShowChildren(pNd)

DOMノード(pNd)の子のDOMノードをすべて表示します。

戻り値

Not applicable.

パラメータ

pNd (DOM node | string ID)

$x_HideChildren(pNd)

DOMノード(pNd)の子のDOMノードをすべて非表示にします。

戻り値

Not applicable.

パラメータ

pNd (DOM node | string ID)

$x_disableItem(pNd, pTest)

1つのアイテムまたは配列のアイテムを、(pTest)に基づいて無効または有効にします。

戻り値

Not applicable.

パラメータ

pNd (DOM node | string ID | DOM node array)
a (true | false)

$f_get_emptys(pNd, pClassFail, pClass)

1つのアイテムまたは配列のアイテムが空かどうかをチェックし、空のすべてのアイテムについてそのクラスをpClassFailに設定します。空でないすべてのアイテムについては、クラスをpClassに設定します。

戻り値

false, Array  Array of all items that are empty (false | Array)

パラメータ

pNd (DOM node | string ID | DOM node Array)
Sting (pClassFail)
Sting (pClass)

$v_Array(pNd)

アイテムの値を配列として戻します。複数選択およびチェック・ボックスで役立ちます。

戻り値

(Array)

パラメータ

pId (DOM Node | string ID)

$f_ReturnChecked(pNd)

アイテムの値を配列として戻します。ラジオ・アイテムおよびチェック・ボックスで役立ちます。

戻り値

(Array)

パラメータ

pId (DOM node | string ID)

$d_ClearAndHide(pNd)

1つのDOMノードまたは配列のDOMノードの内容をクリアし、そのノードを非表示にします。

戻り値

Not applicable.

パラメータ

pNd (DOM node | string ID | DOM node array)

$f_SelectedOptions(pNd)

選択アイテム(pNd)の選択されたオプションのDOMノードを戻します。

戻り値

(DOM Array)

パラメータ

pNd (DOM node | string ID)

$f_SelectValue(pNd)

選択アイテム(pNd)の選択されたオプションの値を戻します。

戻り値

(DOM Array | String)

パラメータ

pNd (DOM node | string ID)

$u_ArrayToString(pArray, pDelim)

指定された配列(pArray)について、その値を指定の区切り文字(pDelim)で区切った文字列を戻します。

戻り値

Not applicable.

パラメータ

pArray (pArray)
pDelim (String)

$x_CheckImageSrc(pId,pSearch)

イメージ(pId)のsource属性に、部分文字列(pSearch)が含まれているかどうかをチェックします。ファンクションは、部分文字列(pSearch)が見つかった場合にtrueを戻します。検出されない場合はfalseが戻ります。

戻り値

(true | false)

パラメータ

pId (DOM Node | String)
pSearch (pSearch)

$v_CheckValueAgainst(pThis, pValue)

ページ・アイテム(pThis)の値と、一連の値(pValue)を照合します。値が一致すると、このファンクションはtrueを戻します。

戻り値

(true | false)

パラメータ

pThis (DOM node | string ID)
pValue (Number | String | Array)

$f_Hide_On_Value_Item(pThis, pThat, pValue)

ページ・アイテム(pThis)の値と値(pValue)を照合します。一致した場合は、DOMノード(pThat)が非表示に設定されます。一致しなかった場合は、DOMノード(pThat)が表示されるように設定されます。

戻り値

(true | false)

パラメータ

pThis (DOM node | string ID)
pThat  (DOM node | string ID | DOM node Array )
pValue (Number | String | Array)

$f_Show_On_Value_Item(pThis, pThat, pValue)

ページ・アイテム(pThis)の値と値(pValue)を照合します。一致した場合は、DOMノード(pThat)が非表示に設定されます。一致しなかった場合は、DOMノード(pThat)が表示されるように設定されます。

戻り値

(true | false)

パラメータ

pThis (DOM node | string ID)
pThat  (DOM node | string ID | DOM node Array )
pValue (Number | String | Array)

$f_Hide_On_Value_Item_Row(pThis, pThat, pValue)

アイテム(pThis)の値(pValue)をチェックします。一致した場合、このファンクションは、表内の(pThat)を保持する行を非表示にします。一致しなかった場合は、その行を表示します。

戻り値

(true | false)

パラメータ

pThis (DOM node | string ID)
pThat  (DOM node | string ID | DOM node Array )
pValue (Number | String | Array)

$f_Show_On_Value_Item_Row(pThis, pThat, pValue)

アイテム(pThis)の値(pValue)をチェックします。一致した場合、このファンクションは、表内の(pThat)を保持する行を非表示にします。一致しなかった場合は、その行を表示します。

戻り値

(true | false)

パラメータ

pThis (DOM node | string ID)
pThat  (DOM node | string ID | DOM node Array )
pValue (Number | String | Array)

$f_DisableOnValue(pThis, pValue, pThat)

アイテム(pThis)の値(pValue)をチェックします。一致した場合、このファンクションは、そのアイテムまたは配列のアイテム(pThat)を無効にします。一致しなかった場合は、アイテムを有効にします。

戻り値

(true | false)

パラメータ

pThis (DOM node | string ID)
pValue (String)
pThat  (DOM node | string ID | DOM node Array )

$x_ClassByClass(pNd, pClass, pTag, pClass2)

配列のノードをクラスによって選択し、そのクラス属性を設定します。

戻り値

(DOM node | DOM node Array)

パラメータ

pNd (DOM node | string ID)
pClass (String)
pTag (String)
pClass2 (String)

$f_ValuesToArray(pThis, pClass, pTag)

クラス属性が(pClass)、ノード名が(pTag)のDOMノード(pThis)に含まれるフォーム・アイテムの値を収集して、配列を戻します。

戻り値

No applicable.

パラメータ

pThis (DOM node | string ID)
pCLass (String)
pTag (String)

$x_FormItems(pNd, pType)

特定のタイプ(pType)のDOMノード(pThis)に含まれているフォーム入力アイテムをすべて戻します。

戻り値

DOM node Array

パラメータ

pNd (DOM node | string ID)
pType (String)

$f_CheckAll(pThis, pCheck, pArray)

DOMノード(pThis)に含まれるすべてのチェック・ボックスを選択または選択解除(pCheck)します。DOMノードのチェック・ボックスの配列(pArray)が指定されている場合は、その配列を対象のチェック・ボックスとして使用します。

戻り値

Not applicable.

パラメータ

pThis (DOM node | string ID)
pCheck (true | fales)
pArray (DOM node array)

$f_CheckFirstColumn(pNd)

このファンクションは、表の最初の列にあるすべてのチェック・ボックスを、コール先のチェック・ボックス(pNd)の選択状態に基づいて設定します。これは、表形式のフォームで役立ちます。

戻り値

DOM node Array

パラメータ

pNd (DOM node | String)

$v_PopupReturn(pValue, pThat)

親ウィンドウ(pThat)内のアイテムの値を(pValue)に設定してから、ポップアップ・ウィンドウを閉じます。

戻り値

Not applicable.

パラメータ

pValue (string)
pThat (DOM node | string ID)

$x_ToggleWithImage(pThis,pNd)

イメージ要素(pThis)およびDOMノード(pNd)を指定すると、このファンクションは、DOMノード(pNd)の表示状態を切り替えます。イメージ要素(pThis)のsrc属性はリライトされます。イメージのsrcは、プラスの部分文字列がマイナスの部分文字列で置換されるか、またはマイナスの部分文字列がプラスの部分文字列で置換されます。

戻り値

(DOM Node)

パラメータ

pThis (DOM Node | string ID)
pNd (DOM Nnde | string iD | DOM node Array)

$x_SwitchImageSrc(pNd, pSearch, pReplace)

イメージ(pId)のsrc属性に部分文字列(pSearch)が含まれているかどうかをチェックします。その部分文字列が検出されると、このファンクションはイメージのsrc属性全体を(pReplace)で置換します。

戻り値

(DOM node | false)

パラメータ

pNd (DOM node | string ID)
pSearch (String)
pReplace (String)

$x_CheckImageSrc(pNd, pSearch)

イメージ(pNd)のsource属性に、部分文字列(pSearch)が含まれているかどうかをチェックします。ファンクションは、部分文字列(pSearch)が見つかった場合にtrueを戻します。検出されない場合はfalseが戻ります。

戻り値

(true | fales)

パラメータ

pNd  (DOM node | string ID)
pSearch (String)

$u_SubString(pText,pMatch)

文字列(pText)に部分文字列(pMatch)が含まれるかどうかで、trueまたはfalseを戻します。

戻り値

(true | false)

パラメータ

pText (String)
pMatch (String)

html_RemoveAllChildren(pNd)

DOMメソッドを使用して、DOMノード(pND)の子のDOMをすべて削除します。

戻り値

Not applicable.

パラメータ

pNd (DOM node | string ID)

$v_IsEmpty(pThis)

フォーム要素が空かどうかでtrueまたはfalseを戻します。空白、タブ、フォーム・フィードなどの空白文字は、空とみなされます。

戻り値

[true | false]

パラメータ

pThis (DOM Node | String)

html_SetSelectValue(pId,pValue)

選択アイテム(pId)の値(pValue)を設定します。値が検出されない場合、このファンクションは最初のオプションを選択します(通常はNULLを選択します)。

戻り値

Not applicable.

パラメータ

pId (DOM node | String)
pValue (String)

addLoadEvent(pFunction)

onloadファンクション(func)を追加します。すでに指定されたonloadファンクションが存在している場合でも、そのファンクションは上書きされません。

戻り値

Not applicable.

パラメータ

pFunction (Javascript Function)

$f_Swap(pThis,pThat)

2つのフォーム要素(pThis、pThat)のフォーム値を交換します。

戻り値

Not applicable.

パラメータ

pThis (DOM Node | String)
pThat (DOM Node | String)

submitEnter(pNd,e)

テキスト・フィールドで[Enter]が押されたときにページを送信し、リクエスト値をDOMノード(pNd)のIDに設定します。

例: onkeypress="submitEnter(this,event)"

戻り値

Not applicable.

パラメータ

pNd (DOM node | String | Array)

$f_SetValueSequence(pArray,pMultiple)

フォーム・アイテムの配列(pArray)に(pMultiple)の倍数の連番を設定します。

戻り値

Not applicable.

パラメータ

pArray (Array)
pMultiple (Number)

$dom_AddTag(pThis, pTag, pText)

innerHTMLを(pText)に設定し、html要素(pTag)をDOMノード(pThis)の子ノードとして挿入します。

戻り値

DOM node

パラメータ

pThis (DOM node | string ID )
pTag (String)
pText (String)

$tr_AddTD(pThis,pText)

表のセルを表の行(pThis)に追加します。内容を(pText)に設定します。

戻り値

(DOM node)

パラメータ

pThis (DOM node | string ID)
pText (String)

$tr_AddTH(pThis,pText)

表のセルを表の行(pThis)に追加します。内容を(pText)に設定します。

戻り値

DOM node

パラメータ

pThis (DOM node | string ID)
pTest (String)

$dom_AddInput(pThis,pType,pId,pName,pValue)

ID (pId)および名前(pName)の値をpValueに設定して、htmlフォーム入力要素(pType)をDOMノード(pThis)の子ノードとして挿入します。

戻り値

(DOM node)

パラメータ

pThis (DOM node | string ID)
pType (String)
pId (String)
pName (String)
pValue (String)

$dom_MakeParent(p_Node,p_Parent)

DOMノード(p_Node)をDOMノード(p_Parent)の子にしてから、DOMノード(pNode)を戻します。

戻り値

(DOM node)

パラメータ

p_This (DOM node | string ID)
p_Parent (DOM node | string ID)

$x_RowHighlight(pThis, pColor)

表の行のDOM要素(pThis)を指定すると、このファンクションは、表のすべてのセルの背景色を(pColor)に設定します。グローバル変数gCurrentRowはpThisに設定されます。

戻り値

Not applicable.

パラメータ

pThis (DOM node | String)
pColor(String)

$x_RowHighlightOff(pThis)

表の行のDOMノード(pThis)を指定すると、このファンクションは、表のすべてのセルの背景をNULLに設定します。

戻り値

Not applicable.

パラメータ

pThis (DOM Element | String)

$v_Upper(pNd)

フォーム・アイテム(pNd)の値を大文字にします。

戻り値

Not applicable.

パラメータ

pNd (DOM Node | String)

$d_Find(pThis,pString,pTags,pClass)

DOMノード(pThis)の子ノードで、そのinnerHTMLがpStringのいずれかのインスタンスに一致するものを非表示にします。子ノードを絞り込むには、タグ名(pTag)またはクラス名(pClass)を指定します。子ノードは、表示するように設定されると、ブロック・レベル要素に設定されることに注意してください。

戻り値

Not applicable.

パラメータ

pThis (DOM node | String)
pString (String)
pTags (String
pClass (String)

returnInput(p_R, p_D)

ポップアップからのアイテムの移入に使用できるように、DOMノードをグローバル変数returnInput(p_R) およびreturnDisplay(p_D)に設定します。

戻り値

Not applicable.

パラメータ

p_R (DOM node | String)
p_R (DOM node | String)

setReturn(p_R,p_D)

ポップアップからのアイテムの移入に使用できるように、DOMアイテムをグローバル変数returnInput(p_R)およびreturnDisplay(p_D)に設定します。

戻り値

Not applicable.

パラメータ

p_R
p_D

$f_First_field(pNd)

ユーザーのフォーカスをフォーム・アイテム(pNd)に移動します。pNdが検出されなかった場合は、ユーザー編集が可能なフィールドで、最初に検出されたフィールドにフォーカスが移動します。

戻り値

true (if successful)

パラメータ

pNd

GetCookie (pName)

Cookie名(pName)の値を戻します。

戻り値

Not applicable.

パラメータ

pName (String)

SetCookie (pName,pValue)

Cookie (pName)を指定の値(pValue)に設定します。

戻り値

Not applicable.

パラメータ

pName (String)
pValue (String)

10 APEX_PLSQL_JOB

APEX_PLSQL_JOBパッケージを使用すると、アプリケーションのバックグラウンドでPL/SQLコードを実行できます。操作が完了していない状態でもユーザーがアプリケーションで作業を継続できるため、長時間実行操作の管理に有効な方法です。

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

- JOBS_ARE_ENABLEDファンクション

- PURGE_PROCESSプロシージャ

- SUBMIT_PROCESSファンクション

- TIME_ELAPSEDファンクション

- UPDATE_JOB_STATUSプロシージャ

JOBS_ARE_ENABLEDファンクション

このファンクションをコールすると、そのデータベースが現在、APEX_PLSQL_JOBパッケージへのジョブの送信をサポートするモードであるかどうかを確認できます。

構文

APEX_PLSQL_JOB.JOBS_ARE_ENABLED
RETURN BOOLEAN;

パラメータ

なし。

例

次の例に、JOBS_ARE_ENABLEDファンクションを使用する方法を示します。この例では、このファンクションによってTRUEが戻された場合、「Jobs are enabled on this database instance」というメッセージが表示されます。そうでない場合は、「Jobs are not enabled on this database instance」というメッセージが表示されます。

BEGIN
IF APEX_PLSQL_JOB.JOBS_ARE_ENABLED THEN
HTP.P('Jobs are enabled on this database instance.');
ELSE
HTP.P('Jobs are not enabled on this database instance.');
END IF;
END;

PURGE_PROCESSプロシージャ

このプロシージャをコールすると、送信されたジョブをクリーンアップできます。送信されたジョブは、Oracle Application Expressによってそれらのレコードがクリーンアップされるか、またはPURGE_PROCESSのコールによって手動で削除するまで、APEX_PLSQL_JOBSビューに保持されます。

構文

APEX_PLSQL_JOB.PURGE_PROCESS (
p_job IN NUMBER);

パラメータ

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

表10-1 PURGE_PROCESSのパラメータ

パラメータ

説明

p_job

パージする送信済ジョブを識別するジョブ番号。

例

次の例に、PURGE_PROCESSプロシージャを使用して、ジョブ番号161で識別される送信済ジョブをパージする方法を示します。また、APEX_PLSQL_JOBSビューを参照して、現行の送信済ジョブのすべてまたは一部をパージすることもできます。

BEGIN
APEX_PLSQL_JOB.PURGE_PROCESS(
p_job => 161);
END;

SUBMIT_PROCESSファンクション

このプロシージャを使用すると、バックグラウンドPL/SQLを送信できます。このプロシージャは、一意のジョブ番号を戻します。このジョブ番号は、このパッケージ内の他のプロシージャおよびファンクションの参照点として使用できるため、自分のスキーマ内に格納しておくと役に立ちます。

構文

APEX_PLSQL_JOB.SUBMIT_PROCESS (
p_sql IN VARCHAR2,
p_when IN DATE DEFAULT SYSDATE,
p_status IN VARCHAR2 DEFAULT 'PENDING')
RETURN NUMBER;

パラメータ

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

表10-2 SUBMIT_PROCESSのパラメータ

パラメータ

説明

p_sql

ジョブで実行する必要があるプロセス。このプロセスには、任意の有効な無名ブロックを指定できます。次に例を示します。

'BEGIN <your code> END;'
or
'DECLARE <your declaration>
BEGIN <your code> END;'

p_when

実行のタイミング。デフォルトはSYSDATEで、ジョブはすぐに実行されます。後で実行されるようにジョブを設定することもできます。次に例を示します。

sysdate + 1 - ジョブは1日に1回実行されます。

sysdate + (1/24) - ジョブは1時間に1回実行されます。

sysdate + (10/24/60) - ジョブは10分に1回実行されます。

p_status

このジョブのプレーン・テキストのステータス情報。

例

次の例に、SUBMIT_PROCESSファンクションを使用して、すぐに開始するバックグラウンド・プロセスを送信する方法を示します。

DECLARE
l_sql VARCHAR2(4000);
l_job NUMBER;
BEGIN
l_sql := 'BEGIN MY_PACKAGE.MY_PROCESS; END;';
l_job := APEX_PLSQL_JOB.SUBMIT_PROCESS(
p_sql => l_sql,
p_status => 'Background process submitted');
--store l_job for later reference
END;

TIME_ELAPSEDファンクション

このファンクションを使用すると、ジョブが送信されてから経過した時間を確認できます。

構文

APEX_PLSQL_JOB.TIME_ELAPSED(
p_job IN NUMBER)
RETURN NUMBER;

パラメータ

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

表10-3 TIME_ELAPSEDのパラメータ

パラメータ

説明

p_job

送信してからの経過時間を確認する必要があるジョブのID。

例

次の例に、TIME_ELAPSEDファンクションを使用して、ジョブ番号161で識別される送信済ジョブの経過時間を取得する方法を示します。

DECLARE
l_time NUMBER;
BEGIN
l_time := APEX_PLSQL_JOB.TIME_ELAPSED(p_job => 161);
END;

UPDATE_JOB_STATUSプロシージャ

このプロシージャをコールすると、現在実行しているジョブのステータスを更新できます。このプロシージャは、送信されたPL/SQLからコールされたときに最も有効です。

構文

APEX_PLSQL_JOB.UPDATE_JOB_STATUS (
p_job IN NUMBER,
p_status IN VARCHAR2);

パラメータ

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

表10-4 UPDATE_JOB_STATUSのパラメータ

パラメータ

説明

p_job

予約語JOBが渡されます。このコードが実行されると、予約語JOBを介してジョブ番号を表示できます。

p_status

関連付けるプレーン・テキスト

JOB: p_job.

例

次の例に、UPDATE_JOB_STATUSプロシージャを使用する方法を示します。この例では、次のことに注意してください。

- 002から010行では、100個のレコードをemp表に挿入するループを実行します。

- APP_JOBは、INSERTのVALUES句内でバインド変数として参照され、UPDATE_JOB_STATUSへのコール内でp_jobパラメータの値として指定されます。

- APP_JOBは、APEX_PLSQL_JOBに送信される際に、このプロセスに割り当てられるジョブ番号を表します。プロセス・コード内にこの予約アイテムを指定すると、実行時に実際のジョブ番号に置換されます。

- この例では、コード・ブロック内で、10個のレコードごとにUPDATE_JOB_STATUSがコールされることに注意してください。通常、Oracleトランザクション規則では、コード・ブロック内で実行された更新は、トランザクション全体がコミットされるまで表示されません。一方、APEX_PLSQL_JOB.UPDATE_JOB_STATUSプロシージャは、ジョブが成功したか失敗したかにかかわらず更新を実行するように実装されています。このことは、次の2つの理由から重要です。

1. ステータスが「100 rows inserted」の場合でも、操作全体が成功したわけではありません。コード・ブロックでコミットが試行されたときにエラーが発生した場合、ステータスの更新は個別にコミットされるため、APEX_PLSQL_JOBSのuser_status列は影響を受けません。

2. 更新は自律的に実行されます。ジョブが完了する前にジョブ・ステータスを表示できます。これによって、バックグラウンドで実行中の各操作についてステータス・テキストを表示できます。

BEGIN
FOR i IN 1 .. 100 LOOP
INSERT INTO emp(a,b) VALUES (:APP_JOB,i);
IF MOD(i,10) = 0 THEN
APEX_PLSQL_JOB.UPDATE_JOB_STATUS(
P_JOB => :APP_JOB,
P_STATUS => i || ' rows inserted');
END IF;
APEX_UTIL.PAUSE(2);
END LOOP;
END;

11 APEX_LANG

APEX_LANG APIを使用してメッセージを翻訳できます。

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

- LANGファンクション

- MESSAGEファンクション

LANGファンクション

このファンクションは、動的翻訳で定義された翻訳に対して翻訳済テキスト文字列を戻すために使用します。

構文

APEX_LANG.LANG (
p_primary_text_string IN VARCHAR2 DEFAULT NULL,
p0 IN VARCHAR2 DEFAULT NULL,
p1 IN VARCHAR2 DEFAULT NULL,
p2 IN VARCHAR2 DEFAULT NULL,
...
p9 IN VARCHAR2 DEFAULT NULL,
p_primary_language IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2;

パラメータ

表11-1に、APEX_LANG.LANGファンクションで使用可能なパラメータを示します。

表11-1 LANGのパラメータ

パラメータ

説明

p_primary_text_string

プライマリ言語のテキスト文字列。これは、「動的翻訳」の「翻訳元テキスト」の値になります。

p_p0からp_p9

動的置換値。p0は、翻訳文字列の0%に対応します。p1は、翻訳文字列の1%に対応します。p2は、翻訳文字列の2% に対応します(以降同様)。

p_primary_language

取得されるメッセージの言語コード。指定しない場合、Oracle Application Expressは、アプリケーション言語の派生元属性で定義されているとおり、ユーザーの現行の言語を使用します。

参照: 『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「アプリケーションへのプライマリ言語の指定」

例

すべての1次色を定義する表があるとします。それぞれの色に動的メッセージを定義し、問合せで定義された値にLANGファンクションを適用します。次に例を示します。

SELECT APEX_LANG.LANG(color)
FROM my_colors

アプリケーションをドイツ語で実行中の場合、my_colors表の「カラー」列の値がREDであったとすると、赤にドイツ語を定義すると、前述の例では、ROTが戻されます。

MESSAGEファンクション

このファンクションは、PL/SQLのストアド・プロシージャ、ストアド・ファンクション、ストアド・トリガー、パッケージ化されたプロシージャおよびパッケージ化されたファンクションから生成されたテキスト文字列(メッセージ)の翻訳に使用します。

構文

APEX_LANG.MESSAGE (
p_name IN VARCHAR2 DEFAULT NULL,
p0 IN VARCHAR2 DEFAULT NULL,
p1 IN VARCHAR2 DEFAULT NULL,
p2 IN VARCHAR2 DEFAULT NULL,
...
p9 IN VARCHAR2 DEFAULT NULL,
p_lang IN VARCHAR2 DEFAULT NULL)
RETURN VARCHAR2;

パラメータ

表11-2に、APEX_LANG.MESSAGEファンクションで使用可能なパラメータを示します。

表11-2 MESSAGEのパラメータ

パラメータ

説明

p_name

Oracle Application Expressでアプリケーションの「共有コンポーネント」→「テキスト・メッセージ」で定義されたメッセージの名前。

p_p0からp_p9

動的置換値。p0は、翻訳文字列の0%に対応します。p1は、翻訳文字列の1%に対応します。p2は、翻訳文字列の2% に対応します(以降同様)。

p_lang

取得されるメッセージの言語コード。指定しない場合、Oracle Application Expressは、アプリケーション言語の派生元属性で定義されているとおり、ユーザーの現行の言語を使用します。

参照: 『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「アプリケーションへのプライマリ言語の指定」

例

次の例では、アプリケーションのGREETING_MSGというメッセージを、英語でGood morning%0、ドイツ語でGuten Tag%1と定義したと仮定しています。この例は、PL/SQLからこのメッセージを呼び出す方法を示しています。

BEGIN
---- Print the greeting
--
APEX_LANG.MESSAGE('GREETING_MSG', V('APP_USER'));
END;

p_lang属性の定義は、Application Expressエンジンがアプリケーションのプライマリ言語を導出する方法によって異なります。たとえば、アプリケーションをドイツ語で実行中で、前回のコールがAPEX_LANG.MESSAGE APIに対して行われた場合、Application Expressエンジンは、最初にLANG_CODEがdeであるGREETING_MSGというメッセージを検索します。見つからない場合は、アプリケーションのプライマリ言語属性に戻ります。それでも見つからない場合、Application Expressエンジンは、言語コードがen-usであるこの名前のメッセージを検索します。

参照:
『Oracle Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド』の「アプリケーションへのプライマリ言語の指定」

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2013, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。