Oracle HTMLDB_UTIL
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
Purpose Undocumented in the Types and Packages documentation this package contains supporting utilities for Application Express (APEX)
AUTHID DEFINER
Constants
Name Data Type Value
c_must_not_be_public_user VARCHAR2(30) 'MUST_NOT_BE_PUBLIC_USER'
Dependencies
APEX_UTIL WWV_FLOW_EXEC_API WWV_FLOW_REGION_NATIVE
DBMS_LOB WWV_FLOW_F4000_PLUGINS WWV_FLOW_RESPONSE
DBMS_SQL WWV_FLOW_F4500_OB_DEV WWV_FLOW_REST_WS
DBMS_STANDARD WWV_FLOW_FEEDBACK_INT WWV_FLOW_SECURITY
F WWV_FLOW_FILE_MGR WWV_FLOW_SESSION
HTP WWV_FLOW_FND_USER_INT WWV_FLOW_SESSION_STATE
NV WWV_FLOW_GLOBAL WWV_FLOW_STRING
PLITBLM WWV_FLOW_ID WWV_FLOW_TEAM_FILE
V WWV_FLOW_IMP WWV_FLOW_T_BLOB_WRITER
WWV_DICTIONARY_CACHE_DEV WWV_FLOW_INSTALL WWV_FLOW_T_CLOB_WRITER
WWV_FLOW WWV_FLOW_INSTALL_SCRIPTS WWV_FLOW_T_DBMS_OUTPUT_WRITER
WWV_FLOWS WWV_FLOW_INTERACTIVE_GRID WWV_FLOW_T_HTP_WRITER
WWV_FLOW_4000_UI WWV_FLOW_IR_API WWV_FLOW_T_NUMBER
WWV_FLOW_AJAX WWV_FLOW_IR_RENDER WWV_FLOW_T_TEMP_LOV_DATA
WWV_FLOW_APPLICATION_ADMIN_API WWV_FLOW_ISSUE_INT WWV_FLOW_T_TEMP_LOV_VALUE
WWV_FLOW_APPROVAL_API WWV_FLOW_JSON WWV_FLOW_T_VARCHAR2
WWV_FLOW_APP_BUILDER_API WWV_FLOW_LANG WWV_FLOW_T_WRITER
WWV_FLOW_ASSERT WWV_FLOW_LOCK WWV_FLOW_USER_API
WWV_FLOW_AUTHORIZATION WWV_FLOW_META_DATA WWV_FLOW_UTILITIES
WWV_FLOW_BLUEPRINT_V3 WWV_FLOW_NATIVE_ITEM WWV_FLOW_WIZZARD_API
WWV_FLOW_CRYPTO WWV_FLOW_PAGE WWV_FLOW_WORKSPACE_REPORTS
WWV_FLOW_DEBUG WWV_FLOW_PAGE_DEV WWV_META_META_DATA
WWV_FLOW_DEFINE_APP_V3 WWV_FLOW_PAGE_PLUGS WWV_QS_DATA
WWV_FLOW_DML WWV_FLOW_PLUGIN_DEV WWV_QS_DESIGN_SCHEMA_PUB
WWV_FLOW_EPG_INCLUDE_MODULES WWV_FLOW_PLUGIN_UTIL WWV_RENDER_REPORT3
WWV_FLOW_ERROR WWV_FLOW_PREFERENCES WWV_SAMPLE_DATASET
WWV_FLOW_ESCAPE WWV_FLOW_PROCESS_NATIVE Z
WWV_FLOW_EXEC WWV_FLOW_PROVISIONING  
Documented No
First Available 12.1
Security Model Owned by the APEX230100 owner with EXECUTE granted to PUBLIC
Source Prior to 23ai: {ORACLE_HOME}/apex/core/htmldb_util.sql In 23.4 installed b=from an upgrade DMP file
Subprograms
AGENDA_CALENDAR GET_FILE_ID REMOVE_PREFERENCE
BLOB_TO_CLOB GET_FIRST_NAME REMOVE_SORT_PREFERENCES
CACHE_GET_DATE_OF_PAGE_CACHE GET_GLOBAL_NOTIFICATION REMOVE_USER
CACHE_GET_DATE_OF_REGION_CACHE GET_GROUPS_USER_BELONGS_TO REPLY_TO_FEEDBACK
CACHE_PURGE_BY_APPLICATION GET_GROUP_ID RESET_AUTHORIZATIONS
CACHE_PURGE_BY_PAGE GET_GROUP_NAME RESET_PASSWORD
CACHE_PURGE_STALE GET_HASH RESET_PW
CHANGE_CURRENT_USER_PW GET_HIGH_CONTRAST_MODE_TOGGLE RESET_SESSION_LANG
CHANGE_PASSWORD_ON_FIRST_USE GET_LANGUAGE_SELECTOR_LIST RESET_SESSION_TERRITORY
CLEAR_APP_CACHE GET_LAST_NAME RESET_SESSION_TIME_ZONE
CLEAR_PAGE_CACHE GET_NUMERIC_SESSION_STATE SAVEKEY_NUM
CLEAR_USER_CACHE GET_PREFERENCE SAVEKEY_VC2
CLOB_TO_BLOB GET_PRINT_DOCUMENT SET_APPLICATION_STATUS
CLOSE_OPEN_DB_LINKS GET_SCREEN_READER_MODE_TOGGLE SET_APP_BUILD_STATUS
COMPRESS_INT GET_SESSION_LANG SET_ATTRIBUTE
COUNT_CLICK GET_SESSION_STATE SET_AUTHENTICATION_RESULT
CREATE_USER GET_SESSION_TERRITORY SET_BLOB
CREATE_USER_FROM_FILE GET_SESSION_TIME_ZONE SET_BUILD_OPTION_STATUS
CREATE_USER_GROUP GET_SINCE SET_COMPATIBILITY_MODE
CURRENT_USER_IN_GROUP GET_SINCE_TSWLTZ SET_CURRENT_THEME_STYLE
CUSTOM_CALENDAR GET_SINCE_TSWTZ SET_CUSTOM_AUTH_STATUS
DAILY_CALENDAR GET_SUPPORTING_OBJECT_SCRIPT SET_EDITION
DECREMENT_CALENDAR GET_TIMEFRAME SET_EMAIL
DELETE_FEEDBACK GET_TIMEFRAME_LOV_DATA SET_FIRST_NAME
DELETE_FEEDBACK_ATTACHMENT GET_USERNAME SET_GLOBAL_NOTIFICATION
DELETE_USER_GROUP GET_USER_ID SET_GROUP_GROUP_GRANTS
DOWNLOAD_PRINT_DOCUMENT GET_USER_ROLES SET_GROUP_USER_GRANTS
DO_COMMIT GET_UUID SET_LAST_NAME
EDIT_USER HAS_RESTRICTED_CHARS SET_PARSING_SCHEMA_FOR_REQUEST
END_USER_ACCOUNT_DAYS_LEFT HOST_URL SET_PREFERENCE
EXPIRE_END_USER_ACCOUNT HTML_PCT_GRAPH_MASK SET_REPORT_COLUMN_FORMAT
EXPIRE_WORKSPACE_ACCOUNT INCREMENT_CALENDAR SET_SECURITY_GROUP_ID
EXPORT_APPLICATION IR_CLEAR SET_SESSION_HIGH_CONTRAST_OFF
EXPORT_APPLICATION_COMPONENT IR_DELETE_REPORT SET_SESSION_HIGH_CONTRAST_ON
EXPORT_APPLICATION_PAGE IR_DELETE_SUBSCRIPTION SET_SESSION_LANG
EXPORT_USERS IR_FILTER SET_SESSION_LIFETIME_SECONDS
FEEDBACK_ENABLED IR_RESET SET_SESSION_MAX_IDLE_SECONDS
FETCH_APP_ITEM IS_HIGH_CONTRAST_SESSION SET_SESSION_SCREEN_READER_OFF
FETCH_USER IS_HIGH_CONTRAST_SESSION_YN SET_SESSION_SCREEN_READER_ON
FILESIZE_MASK IS_LOGIN_PASSWORD_VALID SET_SESSION_STATE
FIND_SECURITY_GROUP_ID IS_SCREEN_READER_SESSION SET_SESSION_TERRITORY
FIND_WORKSPACE IS_SCREEN_READER_SESSION_YN SET_SESSION_TIME_ZONE
FLASH2 IS_USERNAME_UNIQUE SET_USERNAME
GET_ACCOUNT_LOCKED_STATUS JSON_FROM_ARRAY SET_WORKSPACE
GET_APEX_CHAR_ID JSON_FROM_ITEMS SHOW_HIGH_CONTRAST_MODE_TOGGLE
GET_APEX_ID JSON_FROM_SQL SHOW_SCREEN_READER_MODE_TOGGLE
GET_APPLICATION_ID_STATUS JSON_FROM_STRING STRING_TO_TABLE
GET_APPLICATION_NAME KEYVAL_NUM STRONG_PASSWORD_CHECK
GET_APPLICATION_STATUS KEYVAL_VC2 STRONG_PASSWORD_VALIDATION
GET_ATTRIBUTE LOCK_ACCOUNT SUBMIT_FEEDBACK
GET_AUTHENTICATION_RESULT MINIMUM_FREE_APPLICATION_ID SUBMIT_FEEDBACK_FOLLOWUP
GET_BLOB MONTH_CALENDAR TABLE_TO_STRING
GET_BLOB_FILE PASSWORD_FIRST_USE_OCCURRED TODAY_CALENDAR
GET_BLOB_FILE_SRC PAUSE UNCOMPRESS_INT
GET_BUILD_OPTION_STATUS PREPARE_URL UNEXPIRE_END_USER_ACCOUNT
GET_CURRENT_USER_ID PRN UNEXPIRE_WORKSPACE_ACCOUNT
GET_DEFAULT_SCHEMA PUBLIC_CHECK_AUTHORIZATION UNLOCK_ACCOUNT
GET_EDITION PURGE_REGIONS_BY_APP URL_ENCODE
GET_EMAIL PURGE_REGIONS_BY_NAME USER_IN_GROUP
GET_FEEDBACK_FOLLOW_UP PURGE_REGIONS_BY_PAGE WEEKLY_CALENDAR
GET_FILE REDIRECT_URL WORKSPACE_ACCOUNT_DAYS_LEFT
 
AGENDA_CALENDAR
Undocumented htmldb_util.agenda_calendar(p_date_type_field IN VARCHAR2 DEFAULT NULL);
exec htmldb_util.agenda_calendar(SYSDATE);
 
CACHE_GET_DATE_OF_PAGE_CACHE
Returns the date and time the specified application page was cached either for the user issuing the call or for all users if the page was not set to be cached by user htmldb_util.cache_get_date_of_page_cache(
p_application IN NUMBER,
p_page        IN NUMBER)
RETURN DATE;
exec htmldb_util.cache_get_date_of_page_cache(1, 101);
 
CACHE_PURGE_BY_APPLICATION
Purges all cached pages and regions for a given application htmldb_util.cache_purge_by_application(p_application IN NUMBER);
exec htmldb_util.cache_purge_by_application(1);
 
CACHE_PURGE_BY_PAGE
Purges all cached pages and regions for a given application and page.
If p_user_name is supplied, only that user's cached pages and regions will be purged
htmldb_util.cache_purge_by_page(
p_application IN NUMBER,
p_page        IN NUMBER,
p_user_name   IN VARCHAR2 DEFAULT NULL);
exec htmldb_util.cache_purge_by_application(1, 101, USER);
 
CACHE_PURGE_STALE
Deletes all cached pages and regions for the specified application that have passed their timeout htmldb_util.cache_purge_by_page(p_application IN NUMBER);
exec htmldb_util.cache_purge_stale(1);
 
CHANGE_CURRENT_USER_PW
Change current user password htmldb_util.change_current_user_pw(p_new_password IN VARCHAR2);
exec htmldb_util.change_current_user_pw('N0Access4You');
 
CHANGE_PASSWORD_ON_FIRST_USE
Force changing the existing password with the first login htmldb_util.change_password_on_first_use(p_user_name IN VARCHAR2) RETURN BOOLEAN;
BEGIN
  IF htmldb_util.change_password_on_first_use('UWCLASS') THEN
    dbms_output.put_line('TRUE');
  ELSE
    dbms_output.put_line('FALSE');
  END IF;
END;
/
 
CLEAR_APP_CACHE
For the current session remove session state identified application htmldb_util.clear_app_cache(p_app_id IN VARCHAR2 DEFAULT NULL);
exec htmldb_util.clear_app_cache('101');
 
CLEAR_PAGE_CACHE
Reset all cached items for a given page to null htmldb_util.clear_page_cache(p_page_id IN NUMBER DEFAULT NULL);
exec htmldb_util.clear_page_cache(1);
 
CLEAR_USER_CACHE
For the current user's session remove session state and flow system preferences htmldb_util.clear_user_cache;
exec htmldb_util.clear_user_cache;
 
CLOSE_OPEN_DB_LINKS
Close all database links open in the current session htmldb_util.close_open_db_links;
exec htmldb_util.close_open_db_links;
 
COMPRESS_INT
Return a minimum of 4 character alphanumeric compressed value for an integer htmldb_util.compress_int(p_number IN INTEGER) RETURN VARCHAR2;
SELECT htmldb_util.compress_int(1);

HTMLDB_UTIL.COMPRESS_INT(1)
--------------------------------------------------
AAAB


SELECT htmldb_util.compress_int(42);

HTMLDB_UTIL.COMPRESS_INT(42)
--------------------------------------------------
AABQ
 
CURRENT_USER_IN_GROUP
Given a group name return a boolean true or false if the current application user is part of that group htmldb_util.curent_user_in_group(p_group_name IN VARCHAR2) RETURN BOOLEAN;
TBD
 
DECREMENT_CALENDAR
Decreases the calendar date by one day htmldb_util.decrement_calendar;
exec htmldb_util.procedure decrement_calendar;
 
DELETE_USER_GROUP
Allows for removal of group from wwv_flow_fnd_user_groups

Overload 1
htmldb_util.delete_user_group(p_group_id IN NUMBER);
exec htmldb_util.delete_user_group(42);
Overload 2 htmldb_util.delete_user_group(p_group_name IN VARCHAR2);
exec htmldb_util.delete_user_group('UWGrp');
 
EDIT_USER
Edit user information in  wwv_flow_fnd_user, wwv_flow_fnd_group_users and wwv_flow_developers tables htmldb_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_default_date_format          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');
exec htmldb_util.edit_user(1, 'MORGAN', p_failed_access_attempts=>3);
 
END_USER_ACCOUNT_DAYS_LEFT
Returns the number of days left before an end user account expires htmldb_util.end_user_account_days_left(p_user_name IN VARCHAR2) RETURN NUMBER;
SELECT htmldb_util.end_user_account_days_left('MORGAN');
 
EXPIRE_END_USER_ACCOUNT
Causes the immediate expiration of an end user's account htmldb_util.expire_end_user_account(p_user_name IN VARCHAR2);
exec htmldb_util.expire_end_user_account('MORGAN');
 
EXPIRE_WORKSPACE_ACCOUNT
Causes the immediate expiration of an end user's workspace account htmldb_util.expire_workspace_account(p_user_name IN VARCHAR2);
exec htmldb_util.expire_workspace_account('MORGAN');
 
EXPORT_APPLICATION
For use from SQL prompt: Application export generated to HTP buffer htmldb_util.export_application(
p_workspace_id   IN NUMBER,
p_application_id IN NUMBER);
exec htmldb_util.export_application(1, 2);
 
EXPORT_APPLICATION_COMPONENT
For use from SQL prompt: Application component export generated to HTP buffer htmldb_util.export_application_component(
p_workspace_id   IN NUMBER,
p_application_id IN NUMBER,
p_component_id   IN NUMBER,
p_component_type IN VARCHAR2);
TBD
 
EXPORT_APPLICATION_PAGE
For use from SQL prompt: Application page export generated to HTP buffera htmldb_util.export_application_page(
p_workspace_id   IN NUMBER,
p_application_id IN NUMBER,
p_page_id        IN NUMBER);
exec htmldb_util.export_application(1, 2, 3);
 
EXPORT_USERS
Designed to be called from dev: exports all users in a the current workspace htmldb_util.export_users(p_export_format IN VARCHAR2 DEFAULT 'UNIX')
exec htmldb_util.export_users;
 
FETCH_APP_ITEM
Given an application-level item name, locate item in current or specified application and current or specified session and return item value htmldb_util.fetch_app_item(
p_item    IN VARCHAR2,
p_app     IN NUMBER DEFAULT NULL,
p_session IN NUMBER DEFAULT NULL)
RETURN VARCHAR2;
SELECT htmldb_util.fetch_app_item(p_item=>'CUST_NAME', p_app=>1);
 
FETCH_USER
Fetch user information from wwv_flow_fnd_user, wwv_flow_fnd_group_users and wwv_flow_developers table

Overload 1
htmldb_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);
TBD
Overload 2 htmldb_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);
DECLARE
 uname   VARCHAR2(30);
 fname   VARCHAR2(30);
 lname   VARCHAR2(30);
 email   VARCHAR2(64);
 grp     VARCHAR2(30);
 devrole VARCHAR2(64);
 desc    VARCHAR2(64);
BEGIN
  htmldb_util.fetch_user(42, uname, fname, lname, email, grp, devrole, desc);
END;
/
Overload 3 htmldb_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);
TBD

Related Topics
Built-in Functions
Built-in Packages
What's New In 21c
What's New In 26ai

Morgan's Library Page Footer
This site is maintained by Daniel Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2026 Daniel A. Morgan All Rights Reserved