Oracle® Application Express

Release Notes

Release 18.2

F10921-02

February 2019

1.1 About These Release Notes

These release notes contain important information not included in the Oracle Application Express documentation.

2.1.1 About Checking for the Most Current Release

Oracle Application Express is released more frequently than the Oracle Database. To view information about or download a more current release, see:

http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html

2.1.2 About Upgrading to the Latest Oracle Application Express Release

If you already have Oracle Application Express installed, Oracle strongly recommends that you regularly upgrade to the latest version available. To learn more about see "Upgrading from a Previous Oracle Application Express Release" in Oracle Application Express Installation Guide.

2.1.3 About Determining Your Release Version

To determine which release of Oracle Application Express you are currently running, do one of the following:

  • View the release number on the Workspace home page:

    • Sign in to Oracle Application Express.

      The Workspace home page appears. The current release version displays in bottom right corner.

  • View the About Application Express page:

    1. Sign in to Oracle Application Express.

      The Workspace home page appears.

    2. Click the Help menu at the top of the page and select About.

      The About Application Express page appears.

See Also:

"About Accessing Your Development Environment" in Oracle Application Express App Builder User’s Guide

2.1.5 Important Information if Upgrading from Oracle Database Version 12c CDB

If you are upgrading an Oracle Database 12c Release 1 (12.1) multitenant container database (CDB), you must download the patch for Bug 20618595 from My Oracle Support and apply it to your database. To locate this patch, search for 20618595 on the Patches tab.

3.1 Configuration Requirements

When configuring the mod_plsql Database Access Descriptor (DAD), you must set the value of the character set portion of PlsqlNLSLanguage to AL32UTF8 regardless of the underlying database character set.

The Database Access Descriptor now contains a parameter for PlsqlRequestValidationFunction. The purpose of this parameter is to limit the number of procedures which can be invoked through mod_plsql. By default, the only procedures permitted are the public entry points of Oracle Application Express. This can be extended using the validation functions shipped with Oracle Application Express. 

Enabling the PlsqlRequestValidationFunction for a Database Access Descriptor may cause existing applications which relied upon publicly executable procedures to fail. You may choose to either omit the PlsqlRequestValidationFunction from the Database Access Descriptor definition, or follow the recommended approach of extending the supplied validation function.

See Also:

"Restricting Access to Oracle Application Express by Database Access Descriptor (DAD)" in Oracle Application Express Administration Guide

4.1 New Features

Oracle Application Express release 18.2 includes a number of new features. These new features are not present in Oracle Application Express release 18.1 and earlier releases.

4.1.1 Updated Font APEX

Oracle Application Express release 18.2 uses Font APEX 2.1. This includes many bug fixes and updates. Social or brand icons are not part of Font APEX.

Font APEX 2.1 contains two sets of icons: Small and Large

  • Small Icons are 16x16. Large icons are 32x32.

  • There are several new directional and form control icons.

  • Some templates (cards, media list, and so on) automatically pick up the correct icon size based on template options.

4.1.2 JavaScript API Documentation

The JavaScript API chapter in the Oracle Application Express API Reference is being migrated to its own new reference guide, Oracle Application Express JavaScript API Reference. This new guide is not finalized and may not include all relevant information.

New widget APIs in this release include:

  • grid

  • iconList

  • interactiveGrid

  • menu

  • recordView

  • tableModelView

  • treeView

Namespaces and interfaces:

  • apex.actions

  • apex.model

4.1.3 Side by Side Master Detail

A new Side by Side master detail form creates a single page master detail utilizing a side by side layout and report regions with modal edit windows. The left side contains a master list to navigate to the master record. The right side contains the selected master record and up to four detail reports.

4.1.4 New Dashboard Page

Create Page Wizard features a new Dashboard option. Dashboard enables the creation of a first-cut dashboard based on sample data that you can later customize using Page Designer. Choose from a number of different chart layouts as the starting point for your page.

4.1.5 Declarative Static List of Values

Page Designer now includes a declarative approach to creating static list of values (LOVs).

4.1.6 Sample Dataset Enhancements

After installing a sample dataset, clicking Create Application launches the Create Application Wizard and pre-populates it with components built on the sample dataset. Additionally, this release includes new languages for the sample dataset EMP / DEPT.

5.1.1 Browser Requirements

Oracle Application Express requires a JavaScript-enabled browser and supports the current and prior major release of Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Internet Explorer, and Microsoft Edge.

Note:

 Microsoft Internet Explorer 11 is the prior major release, with Microsoft Edge being the current Microsoft browser.

5.1.2 Compatibility Mode

The application attribute Compatibility Mode controls the compatibility mode of the Application Express runtime engine. Certain runtime behaviors change from release to release. You can use the Compatibility Mode attribute to obtain specific application behavior. This section lists Compatibility Mode changes by release. Note that all mode changes are inclusive in that all changes in older releases are included in newer releases.

Compatibility Mode Changes in Mode 4.1

In Oracle Application Express release 4.1, Automatic DML forms raised an error when rendering the page if the column name of the source of an item was invalid. Prior to Oracle Application Express release 4.1, an invalid column name of the source of an item would not raise an error when rendering the page but it would also not set session state of the item.

Also, in Oracle Application Express release 4.1, there are two new application Security Attributes to control Browser Security: Cache and Embed in Frames. Enabling the Cache attribute enables the browser to save the contents of your application's pages in its cache, both in memory and on disk. The Embed in Frames attribute controls if the browser displays your application's pages within a frame. Applications running in a Pre-4.1 Compatibility Mode function as if the Cache is enabled and as if Embed in Frames is set to allowed. Applications running in Compatibility Mode 4.1 or later respect the specific Browser Security attributes.

Also, in Oracle Application Express release 4.1, because of bug 12990445, the following changes were implemented for Automatic Row Processing (DML) process types. The code which performs the INSERT was changed to determine if the columns should be included in the INSERT statement. Note that these are the same checks which occur before an UPDATE. These new checks include:

  • Is the source type a DB Column?

  • Is the page item contained in the POST request? For example, if the page item is conditional it will not be contained in the POST request if the condition evaluates to FALSE during page rendering.

  • Is the page item not of type Display Only where Save State is set to No?

To enable these behaviors, set the Compatibility Mode to 4.1 or later. For behavior that matches earlier releases, set the Compatibility Mode to Pre-4.1.

Compatibility Mode Changes in Mode 4.2

In Oracle Application Express release 4.2 due to changes for the new grid layout, when a page is rendered, all regions in a certain display point are evaluated before rendering that display point, to find out if they should be displayed or not (so that the grid layout knows how many columns to render). The regions where the evaluation returned true will be executed and displayed. However, this will not work if a PL/SQL based region sets session state which is then used in a subsequent region condition to determine if the region should be displayed. In that scenario, the condition has already been checked before the display point is rendered. Use computations or PL/SQL processes to set session state before any region is displayed. In previous versions, the condition was evaluated right before each region was displayed.

In Oracle Application Express release 4.2, computations and processes with a processing point Before Region(s) do now fire before any region gets rendered. Computations and processes with a processing point After Region(s) fire after all regions have been rendered. In previous versions, the computations and processes fired just before and after the region display point Page Template Body (1-3).

Oracle Application Express Patch Set 4.2.2 added two new Compatibility Mode changes for Compatibility Mode 4.2:

  • Text areas were changed to always use the Maximum Width attribute to restrict text input.

  • Enhanced security for report column links, where the link contains both JavaScript and references to other report column substitutions, for example:

    javascript:alert( 'Delete #NAME#' );

    In the previous example, NAME is a column name in the report.

Prior to Oracle Application Express release 4.2.1, to protect against possible cross-site scripting vulnerabilities, you would have had to explicitly escape any column values in the report source, so that they could safely be used in JavaScript links. When running in Compatibility Mode 4.2, Oracle Application Express automatically JavaScript escapes column name substitutions referenced in JavaScript links if the column is defined to escape special characters.

See Also:

To learn more, see Oracle Application Express Patch Set Notes and search for Compatibility Mode.

Compatibility Mode Changes in Mode 5.0

In Oracle Application Express release 5.0, referencing a Static Application File with #WORKSPACE_IMAGES# no longer returns the application file. Instead, use #APP_IMAGES#.

The API calls to wwv_flow_custom_auth_std.logout, wwv_flow_custom_auth_std.logout_then_go_to_pagewwv_flow_custom_auth_std.logout_then_go_to_url, and apex_custom_auth.logout are desupported and will raise a runtime error instead of logging out from the Oracle Application Express session. Instead, use the apex_authentication.logout entry point.

Prior to release 5.0, developers using data upload did not have the option to choose a date format. Instead, a parser checked for the best format to match the user's entry or an end user could enter their own format. Oracle Application Express release 5.0 includes a new item that enables the user to choose an application date format or user entered format. Because applications created before release 5.0 do not have an item, a Compatibility Mode of 5.0 checks if the user has entered some data. If no data has been entered, it picks the application date format.

When a session timeout occurs and no timeout URL is specified, Oracle Application Express raises an error instead of redirecting to the application's home page. If the session setup for an Ajax requests fails, Oracle Application Express also raises an error. For Ajax requests that expect JSON, the response is a JSON string with members that describe the error. For other requests, the error appears on an error page.

Page items based on a database column where the attribute Source Used is set to Only when current value in session state is null will raise an error when the page item gets rendered. Using this setting for a database column is very dangerous and can result in accidentally overwriting data when viewing and saving multiple records. Always set the Source Used attribute to Always, replacing any existing value in session state.

Compatibility Mode Changes in Mode 5.1 / 18.1

In Oracle Application Express 18.1, buttons where the Execute Validations attribute is set to Yes also perform some client-side validations (such as item required checks) and will not submit the page until all issues are fixed. In previous versions this flag was just used to determine if server-side validations should be executed.

Tip:

Please pay attention when changing the Compatibility Mode to 5.1/18.1. Buttons, such as Cancel or Previous, where the Execute Validation flag has incorrectly been set to Yes and which use an After Submit branch, never execute validations when the user clicks the button. You can address this issue by using the new client-side validations, or by setting Execute Validations to No.

In release 5.1, any Ajax-based Dynamic Actions where the "Wait for Result" attribute is set to Yes perform an asynchronous Ajax call. Prior to 5.1, such calls would be made synchronously.

5.1.3 Enabling Network Services in Oracle Database 11g or Later

You must enable network services in Oracle Database 11g or later versions to send outbound mail, use Web services, or use PDF report printing in Oracle Application Express.

5.1.3.1 When and Why Network Services Must be Enabled

Enabling network services enables support for sending outbound mail in Oracle Application Express, use of Web services in Oracle Application Express, and PDF report printing.

By default, the ability to interact with network services is disabled in Oracle Database 11g Release 2 or later. Therefore, if you are running Oracle Application Express with Oracle Database 11g Release 2 or later, you must use the new DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the APEX_180200 database user. Failing to grant these privileges results in issues with:

  • Sending outbound mail in Oracle Application Express.

    Users can call methods from the APEX_MAIL package, but issues arise when sending outbound email.

  • Using Web services in Oracle Application Express.

  • PDF report printing.

Tip:

To run the examples described in this section, the compatible initialization parameter of the database must be set to at least 11.1.0.0.0. By default a 11g or 12c database will already have the parameter set properly, but a database upgraded to 11g or 12c from a prior version may not. For information about changing database initialization parameters, see "Creating and Configuring an Oracle Database" in Oracle Database Administrator’s Guide.

5.1.3.2 Granting Connect Privileges Prior to Oracle Database 12c

Demonstrates how to grant connect privileges to any host for the APEX_180200 database user.

The following example demonstrates how to grant connect privileges to any host for the APEX_180200 database user. This example assumes you connected to the database where Oracle Application Express is installed as SYS specifying the SYSDBA role.

DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to '*' and give APEX_180200
  -- the "connect" privilege if APEX_180200 does not have the privilege yet.
 
  SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
   WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
 
  IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_180200',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_180200', TRUE, 'connect');
  END IF;
 
EXCEPTION
  -- When no ACL has been assigned to '*'.
  WHEN NO_DATA_FOUND THEN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',
    'ACL that lets power users to connect to everywhere',
    'APEX_180200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

The following example demonstrates how to provide less privileged access to local network resources. This example enables access to servers on the local host only, such as email and report servers.

DECLARE
  ACL_PATH  VARCHAR2(4000);
BEGIN
  -- Look for the ACL currently assigned to 'localhost' and give APEX_180200
  -- the "connect" privilege if APEX_180200 does not have the privilege yet.
  SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS
   WHERE HOST = 'localhost' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;
   
  IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_180200',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_180200', TRUE, 'connect');
  END IF;
  
EXCEPTION
  -- When no ACL has been assigned to 'localhost'.
  WHEN NO_DATA_FOUND THEN
  DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('local-access-users.xml',
    'ACL that lets users to connect to localhost',
    'APEX_180200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;
5.1.3.3 Granting Connect Privileges in Oracle Database 12c or Later

Procedures CREATE_ACL, ASSIGN_ACL, ADD_PRIVILEGE and CHECK_PRIVILEGE in DBMS_NETWORK_ACL_ADMIN are deprecated in Oracle Database 12c. Oracle recommends to use APPEND_HOST_ACE.

The following example demonstrates how to grant connect privileges to any host for the APEX_180200 database user. This example assumes you connected to the database where Oracle Application Express is installed as SYS specifying the SYSDBA role.

BEGIN
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
        host => '*',
        ace => xs$ace_type(privilege_list => xs$name_list('connect'),
                           principal_name => 'APEX_180200',
                           principal_type => xs_acl.ptype_db));
END;
/

The following example demonstrates how to provide less privileged access to local network resources. This example enables access to servers on the local host only, such as email and report servers.

BEGIN
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
        host => 'localhost',
        ace => xs$ace_type(privilege_list => xs$name_list('connect'),
                           principal_name => 'APEX_180200',
                           principal_type => xs_acl.ptype_db));
END;
/
5.1.3.4 Troubleshooting an Invalid ACL Error

Learn how to identify a invalid ACL error by running the query.

If you receive an ORA-44416: Invalid ACL error after running the previous script, use the following query to identify the invalid ACL:

REM Show the dangling references to dropped users in the ACL that is assigned
REM to '*'.

SELECT ACL, PRINCIPAL
  FROM DBA_NETWORK_ACLS NACL, XDS_ACE ACE
 WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL AND
       NACL.ACLID = ACE.ACLID AND
       NOT EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);

Next, run the following code to fix the ACL:

DECLARE
  ACL_ID   RAW(16);
  CNT      NUMBER;
BEGIN
  -- Look for the object ID of the ACL currently assigned to '*'
  SELECT ACLID INTO ACL_ID FROM DBA_NETWORK_ACLS
   WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;

  -- If just some users referenced in the ACL are invalid, remove just those
  -- users in the ACL. Otherwise, drop the ACL completely.
  SELECT COUNT(PRINCIPAL) INTO CNT FROM XDS_ACE
   WHERE ACLID = ACL_ID AND
         EXISTS (SELECT NULL FROM ALL_USERS WHERE USERNAME = PRINCIPAL);

  IF (CNT > 0) THEN

    FOR R IN (SELECT PRINCIPAL FROM XDS_ACE
               WHERE ACLID = ACL_ID AND
                     NOT EXISTS (SELECT NULL FROM ALL_USERS
                                  WHERE USERNAME = PRINCIPAL)) LOOP
      UPDATE XDB.XDB$ACL
         SET OBJECT_VALUE =
               DELETEXML(OBJECT_VALUE,
                         '/ACL/ACE[PRINCIPAL="'||R.PRINCIPAL||'"]')
       WHERE OBJECT_ID = ACL_ID;
    END LOOP;

  ELSE
    DELETE FROM XDB.XDB$ACL WHERE OBJECT_ID = ACL_ID;
  END IF;

END;
/

REM commit the changes.

COMMIT;

Once the ACL has been fixed, you must run the first script in this section to apply the ACL to the APEX_180200 user.

5.1.4 APEX_WORKSPACE_ACTIVITY_LOG.THINK_TIME is always NULL

As of this release, the value of THINK_TIME in view APEX_WORKSPACE_ACTIVITY_LOG is always null.

Previously, the computation of this column negatively impacted the view’s performance. It required an additional index, causing more I/O during page processing.

You can compute THINK_TIME by using the following example as a guide:

  select view_date,
         (view_date - lag(view_date) over (
                          partition by apex_session_id
                          order by view_date )) *60*60*24 think_time,
         application_id,
         page_id,
         apex_session_id,
         apex_user
    from apex_workspace_activity_log
   where workspace = 'EXAMPLE WORKSPACE'
     and view_date > sysdate-1
   order by 1, 2 desc

5.1.5 Internal engine changes for Classic Reports

Changes to the engine executing classic reports in order to support REST enabled SQL and REST Services includes the following:

  • When Compute Sum is enabled, the application now computes the sum using the SUM() SQL function with a windowing clause.

  • When Compute Sum and Break Columns are enabled and the report query contains an ORDER BY clause, the SUM() analytic SQL function may cause the query optimizer to ignore the ORDER BY clause. Use the Sorting > Default Sequence column attribute to control report sorting.
  • When Generic Columns and a PL/SQL function returning SQL Query is used, the generated SQL Query must have unique column names (no duplicate column names). Additionally, the column names must be valid SQL identifiers. On Oracle Database 12.2 and higher, column names can be up to 128 characters (for older versions, 30 characters).

  • You can only enable Compute Sum for numeric report columns. In previous releases, you could create Classic Reports with Compute Sum enabled for VARCHAR2 columns. These reports now fail with an ORA-1722 error message in this release. Set Compute Sum to No for non-numeric columns in these Classic Reports.

  • Oracle Application Express uses Bulk Row Fetching by default for better performance. For tabular forms, however, custom Javascript code may no longer function properly. To force Single Row fetching, add the comment /* APEX$SINGLE_ROW_FETCH*/ to your SQL query.

  • In the past, classic reports rendered when the result set contained multiple columns with the same name. In Application Express 18.1, the column names of the query result set must be unique, otherwise a "Column Ambiguously Defined" error occurs. You must change any non-unique report queries present in your current applications.

  • Classic reports which select a ROWID column without a column alias may throw ORA-01446 error messages under specific circumstances (cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, and so on). When a report throws this error message, adjust the SQL query to provide a column alias for the ROWID column.

5.1.6 Changes to Interactive Reports

This release introduces the following changes to the engine executing interactive reports in order to support REST enabled SQL and REST Services:

  • Interactive reports with Invalid Computations do not render. Previously, interactive reports could contain invalid computations as long as the computation was hidden by the end user. An invalid computation can occur when end users create computations and developers remove dependent columns afterwards. With this release, such invalid computations display an error message. Since an invalid computation has no value, developers or users should delete them to make the report work again.

  • The SQL text generated by an interactive report differs from the text generated in previous versions (however, it is semantically the same). Developers may need to update applications that depend on the exact SQL query text returned by APEX_IR.GET_REPORT

  • End users cannot use interactive report columns which are set to "Hidden" in Page Designer in filters, highlights, or other report actions. Setting a column to hidden completely hides this column from the end user.

5.1.7 Page Designer Improvements

Property Editor

The following changes have been made to the Property Editor in Page Designer:

  • Updated UI to improve usability

  • Removed the Show Common, Show All, Collapse All, and Expand All functionality

  • Property groups glow when you select a property

  • Improved Go to Group functionality

  • The Two Pane / Three Pane button has been moved to the Utilities, Layout submenu

Sticky Filters

Filter terms can now be pinned to the Property Editor search filter so you can click other components and retain the filter.

5.1.8 Interactive Grid Enhancements

Updates to interactive grid regions in this release include:

  • Expose additional events to Dynamic Actions

  • A new Selections sub-menu (within the Actions menu) with the following new features:

    • Toggle selection mode between Cell Selection and Row Selection

    • Copy Down, Clear, and Fill actions

    • Copy to Clipboard (for row or cell range selections)

5.1.9 Tree Region Enhancements

Updates to the tree region for this release include:

  • Oracle Application Express now supports the Advanced: JavaScript Initialization Code attribute. This attribute and the Oracle Application Express JavaScript API Reference make customizing the tree region easier (see "Widget: treeView").

  • SQL columns and their use no longer have a fixed association. Now you choose the column to use for functions such as node label, tooltip, and link.

  • The Hierarchy attribute provides the option to let the engine automatically compute the hierarchy from the SQL statement.

  • Added Default Icon attribute. Allow Icon Type to be empty (without forcing a-Icon).

  • Improved Page Designer help text for all attributes.

  • Support for Dynamic Action Event Selection Change [Tree].

  • Advanced Config option (nodeSelector) to support checkbox selection.

  • Tree region now supports the apex.region API.

  • Copy selection to clipboard.

  • For Security reasons, tooltip contents are now escaped.

    To use HTML markup in a tooltip:

    1. Choose "HTML Expression" as Tooltip and use HTML markup in the Tooltip Value attribute.

    2. Reference database columns within Tooltip Value using Substitution syntax (&COLUMN.).

5.1.10 Developer Toolbar Improvements

This release introduces the following updates to the Developer Toolbar:

  • An indicator for when there is a JavaScript error on the page.

  • New Page Info menu which contains the Show Layout Columns and Show Page Timing features.

5.1.11 Advisor Improvements

Updates to the Oracle Application Express Advisor in this release include:

  • New Accessibility checks to check your apps for common accessibility issues

  • New Performance check for inclusion of compatibility JavaScript

5.1.12 Item Type Improvements

This release introduces the new Text with Autocomplete item type using Oracle JET.

Some additional changes to the implementation of this item type have resulted in the following changed behavior.

Prior to this release, if an Application Express page had only one item on it, and that item was a "Text with autocomplete," pressing the Enter key when focused on the item may have submitted the page. This behavior was not by design in Application Express. Rather, this is a default browser behavior where if a web page contains just one form element, pressing Enter when focused on the item submits the form.

In this release, the updated autocomplete implementation prevents this from happening. If you relied on this behavior in previous releases (such as submitting the page and branching to a page relevant to the selected search item), this no longer works. Implement one of the following solutions instead:

  • Add a button next to the autocomplete item that submits the page.

  • Use the "update" Dynamic Action event along with a "Submit Page" action to trigger the page submit when a search item is selected.

  • Create a Dynamic Action to trigger the submit after the Enter key has been pressed. For example, use the "Key Down" event, define the autocomplete item in the "When > Item(s)", and define a "JavaScript expression" Client-side Condition with the following:

    this.browserEvent.which === 13

    Then define a "True Action" that calls the "Submit Page" action type.

5.1.13 Item Type Markup Improvements

This release includes the following improvements in form markup for item types:

  • Markup has moved away from tables and changed to <div> elements.

  • CSS classes feature a more consistent naming convention.

  • Includes additional classes used to style items.

These changes may impact custom themes and therefore could impact your application UI. If you are using a custom theme, you may want to review the markup for items.

If you are using Universal Theme, Oracle recommends refreshing the theme to the latest version to resolve known issues with previous versions of Universal Theme.

See Also:

"Refreshing a Subscribed Theme" in the Oracle Application Express App Builder User’s Guide

5.1.14 Text Message Substitutions

Text message substitution updates in this release include:

  • For a given text message MY_MESSAGE, you can now use v('APP_TEXT$MY_MESSAGE') to retrieve the message text.

  • Use APP_TEXT$MY_MESSAGE$XX to return the translation text for language XX (such as DE, FR, and so on).

  • Same syntax is supported on the client via the apex.util.applyTemplate API.

5.1.15 List View Region

The List View region from the deprecated mobile UI is supported on desktop UI.

This release includes the following updates to the List View Region:
  • The desktop UI now supports the List View region from the deprecated mobile UI.

  • Refresh works for nested lists.

  • Nested lists in the desktop UI do not create jQuery Mobile pages.

  • For the desktop UI, some CSS class names have changed so developers may need to update CSS customizations. Additionally, options related to jQuery Mobile theme are not supported.

5.1.16 Column Toggle Report Region

This release includes the following updates to the Column Toggle Report region:

  • The desktop UI now supports the Column Toggle Report region from the deprecated mobile UI.

  • The Column Toggle Report region now supports refresh and page items to submit.

  • The Column Toggle Report region now supports the Messages: When No Data Found attribute (desktop only).

  • New Column Button Text attribute to customize the button that opens the column popup.

  • New accessible table markup and Use As Row Header attribute.

  • For the desktop UI, some CSS class names have changed so developers may need to update CSS customizations. Additionally, options related to jQuery Mobile theme are not supported.

5.1.17 Reflow Report Region

This release includes the following updates to the Reflow Report region:

  • The desktop UI now supports the Reflow Report region from the deprecated mobile UI.

  • The Reflow Report region now supports refresh and page items to submit.

  • The Reflow Report region now supports the Messages: When No Data Found attribute (desktop only).

  • Accessible table markup and Use As Row Header attribute.

  • For the desktop UI, some CSS class names have changed so developers may need to update CSS customizations. Additionally, options related to jQuery Mobile theme are not supported.

5.1.18 Ajax Error Message on Server and dynamic_actions_core JavaScript Modules Changed

The Oracle Application Express server and dynamic_actions_core JavaScript modules no longer call window.onerror when there is an Ajax error.

5.1.19 Classic Report (based on Function) removed

As of this release, "Classic Report (based on Function)" is no longer available. Use the Classic Report region type instead.

The column SOURCE_TYPE_PLUGIN_NAME of the view APEX_APPLICATION_PAGE_REGIONS now returns NATIVE_SQL_REPORT instead of NATIVE_FNC_REPORT.

5.1.20 JET Gantt Chart Datetime Formatting

Prior to this release, the use of Z automatically applied in the format mask for Datetime information rendered on a JET Gantt chart. However, the use of Z in the format mask for all Datetime information resulted in some unexpected behavior for customers (such as Datetime information on charts rendered with time zone formatting, when no time zone formatting was expected).

In this release, the format mask setting is now based on the data type of the Date columns of a JET Gantt chart (regardless if it is DATE, TIMESTAMP, TIMESTAMP with TIME ZONE, or TIMESTAMP with LOCAL TIME ZONE).

The format mask setting is also based on the data type of the column. For DATE columns, the format mask no longer uses Z. Customers reviewing chart information now see Datetime rendered with the appropriate time zone information.

5.1.21 New HTTP Headers X-Content-Type-Options and X-XSS-Protection

To improve browser security in the browser, Oracle Application Express sends two new HTTP response headers on each request:
  • X-Content-Type-Options: nosniff

  • X-XSS-Protection: 1; mode=block

X-Content-Type-Options - Update your applications and data to send the correct Content-Type. As a workaround, you can set the value to "sniff", but this should only be used in the short term. The "nosniff" value for X-Content-Type-Options prevents MIME-type sniffing in the browser. This can cause regressions if responses return an invalid Content-Type (such as "image/gif" when the file type is PNG).

X-XSS-Protection - prevents some categories of cross-site-scripting attacks.

While you cannot suppress these headers, you can override them by setting different values in the application- or instance-level HTTP Response Headers attributes.

5.1.22 Database Monitor Username and Password Case-Sensitive

As of this release, the database username and password used to access Database Monitor are now case-sensitive.

See Also:

"Monitoring the Database" in the Oracle Application Express SQL Workshop Guide

5.1.23 Dynamic Action Set Value for Multiple Interactive Grid Columns

In dynamic actions prior to this release, you could use the Set Value action to set multiple affected elements to the same value, not different values. This behavior was limiting and inconsistent with regular page items (you can set multiple page items with different values from the SQL query).

In this release, we have made dynamic actions consistent with page items, so you can now query multiple different values in your SQL Query, and then map those to multiple interactive grid column names.

If you previously defined a SQL Query to query for a single value which set multiple interactive grid columns to that value, you will see a change of behavior where it sets the first interactive grid column only. To fix this, alter your SQL statement so that it selects the same column value, with different column aliases, mapping to each interactive grid column defined in the affected elements.

Example Syntax

Consider the following example:

select 1 col1, 1 col2 from my_table

And in Affected Elements, you would have COL1,COL2 defined for the Columns.

5.1.24 Master Detail in Create Page Wizard Enhancements

In previous releases, the Master Detail option in the Create Page Wizard appeared under Form. Master Detail is now available as an option in Create Page Wizard.

When you click Master Detail, the following options appear:

  • Stacked - Creates single page master detail with editable interactive grids. (In previous releases, this was called Single Page Master Detail.)

  • Drill Down - Creates a two page (or Drill Down) master detail. The first page contains an interactive report for the master table. The second page features a standard form for the master and interactive grid for the detail. (In previous releases, this was called Two Page Master Detail.)

  • Side by Side - Creates a single page (or Side by Side) master detail with a master table and detail table. The left side contains a master list to navigate to the master record. The right side contains the selected master record and the associated detail report.

    Note:

    Side by Side is new in this release. A Side by Side Master Detail page from the Create Page wizard does not work for applications using a version of Universal Theme created in earlier versions of Application Express because it lacks the required Media List report template. As a workaround, refresh to the latest version of Universal Theme before creating this page.

Additionally, the Create Application Wizard Master Detail options have also been renamed:

  • Stacked - Previously called Master Detail.

  • Drill Down - Previously called Editable Grid.

5.1.25 Packaged Apps renamed to Productivity and Sample Apps, App Gallery

Packaged Apps have been renamed to Productivity and Sample Apps.

The Packaged Apps tab has been renamed to App Gallery.

5.1.26 Validating the Oracle REST Data Service Installation

In a new installation or upgrade of Oracle Application Express, you must validate the Oracle REST Data Services installation by running the following:

java -jar ords.war validate [--database <dbname>]

See Also:

"Validating the Oracle REST Data Services Installation" in the Oracle Application Express Installation Guide

5.1.27 Changes to Touch Support in jQuery UI widgets

Prior to Oracle Application Express 18.1, jQuery UI based widgets did not support touch for things like drag or slide. We added touch support for all jQuery UI widgets and APEX widgets based on jQuery UI in Application Express 18.1. This allowed drag and slide operations to work with touch devices. For example, the Page Designer splitters could be moved using touch and the Page Designer tree nodes could be dragged and dropped.

This change had the unintended consequence of breaking scrolling with touch in many cases (bug #28076798).

In Application Express 18.2, we reverted this change so that scrolling would work again. In most cases, touch support works the same as before Application Express 18.1.

Rather than add touch support globally for all jQuery UI based widgets, Application Express now supports touch only where scrolling is unaffected. Specifically, touch support is added in the following cases:

  • the splitter widget (used in Page Designer and other places)

  • interactive grid for column resizing and reordering (note: there are other factors that make it difficult to use interactive grid on small screen mobile devices)

If you relied on the touch support that was added in Application Express 18.1, you can enable it on a per widget basis with code such as the following example:

apex.widget.util.TouchProxy.addTouchListeners( someWidget$[0] );

where someWidget$ is a jQuery object representing the widget element.

6.1 Deprecated Features

Deprecated features are features which Oracle plans to desupport or remove in a future release of Oracle Application Express. If a feature is related to application metadata or an API, existing applications can still use the feature, but Oracle strongly recommends that developers start to modify their applications as described in this section. Use Oracle Application Express Advisor to scan existing applications for deprecated attributes.

See Also:

"Running Advisor to Check Application Integrity" in the Oracle Application Express App Builder User’s Guide

6.1.1 apex.server Plug-in and Process Function Async Option Deprecated

In a future release the async option will be ignored and all Ajax requests will be asynchronous.

6.1.2 apex.widget.initPageItem Function Deprecated

The function apex.widget.initPageItem is deprecated. Item plug-in creators should use apex.item.create instead.

6.1.3 jQuery Flot and Flot Plug-ins Deprecated

The jQuery Flot versions 0.7, 0.8, 0.8.2, and 0.8.3 are not used in Oracle Application Express and will be removed in a future release. Packaged Applications have also been updated to remove Flot Line, Flot Bar, and Flot Pie chart plug-ins. Remove any references in your application code and use our declarative chart solution, based on Oracle JET Data Visualizations.

6.1.4 APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTES Deprecated

APEX_ERROR.GET_ARIA_ERROR_ATTRIBUTES is deprecated and will no longer be available in the next major release of Oracle Application Express. Developers should replace this functionality with apex_plugin_util.get_element_attributes, which provides better support with native functionality.

6.1.5 External Processing in Classic Report Deprecated

The External Processing functionality of Classic Report has been deprecated and will be removed in a future release.

To use the External Processing function in the interim, your application must include the Deprecated or Desupported JavaScript file. To include this file, select the application and edit the User Interface Details. For Include Deprecated or Desupported JavaScript Functions, select Pre 18.x.

See Also:

6.1.6 APEX_UTIL.STRING_TO_TABLE Function Deprecated

Since Oracle Application Express 5.1, APEX_STRING.STRING_TO_TABLE is deprecated. Use APEX_STRING.SPLIT instead.

6.1.7 APEX_UTIL.TABLE_TO_STRING Function Deprecated

Since Oracle Application Express 5.1, APEX_STRING.TABLE_TO_STRING is deprecated. Use APEX_STRING.JOIN instead.

6.1.8 Deprecated JavaScript Functions

The following functions are deprecated as of this release:

  • $d_Find

  • $d_LOV_from_JSON

  • $dom_JoinNodeLists

  • $dom_Replace

  • $f_Enter

  • $f_First_field

  • $s_Split

  • $tr_RowMoveFollow

  • $u_ArrayToString

  • $u_js_temp_drop

  • $u_SubString

  • $x_Check_For_Compound

  • $x_object

  • $x_Show_Hide

  • addLoadEvent

  • ajax_Loading

  • base_disableItem

  • confirmDelete2

  • dhtml_ShuttleObject

  • doMultiple

  • findPosX

  • findPosY

  • flowSelectAll

  • getScrollXY

  • hideShow

  • html_GetTarget

  • html_ReturnToTextSelection

  • html_RowDown

  • html_RowUp

  • html_StringReplace

  • htmldb_ch

  • htmldb_ch_message

  • htmldb_doUpdate

  • htmldb_goSubmit

  • htmldb_item_change

  • ie_RowFixFinish

  • ie_RowFixStart

  • json_SetItems

  • lc_SetChange

  • selectString

  • setCaretToBegin

  • setCaretToEnd

  • setCaretToPos

  • setSelectionRange

  • setValue2

  • widget.util.disableIcon

  • wiget.util.enableIcon

6.1.9 JET Dial Gauge chart type Deprecated

The JET Dial Gauge chart type is deprecated as of this release, and will be removed in a future release.

7.1 Desupported Features

Desupported features are no longer available. If a desupported feature has to do with application metadata or APIs, then existing applications may not work as they did previously. Oracle recommends modifying the application to replace the feature.

7.1.1 Desupported Condition Types

The following condition types of the following attributes are no longer supported in Oracle Application Express release 18.1.

For each desupported condition type, follow the proceeding Oracle recommended action to correct your application.

Attribute — Conditions

  • For Condition Types:
    • CGI_ENV: DAD_NAME =/!= Value

    • CGI_ENV: HTTP_POST =/!= Value

    • CGI ENV: SERVER_NAME =/!= Value

    Recommended Action:
    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API instead.

  • For Condition Types:
    • Client Browser is Microsoft Internet Explorer 7.0 or higher

    • Client Browser is Mozilla, Netscape 6.x/7x or higher

    • Client Browser is Other browsers (or older version)

    • Client Browser is XHTML / CSS capable browser

    Recommended Action:
    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT') instead.

    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API instead.

  • For Condition Types:
    • SQL Reports

    • Current Page =/!= Page Submitted (posted)

    • Text =/!= Value

    • Text is/ is NOT contained in Value/Item

    Recommended Action:
    • Use PL/SQL Expression or PL/SQL Function returning Boolean condition types.

  • For Condition Type:

    • Always

    Recommended Action:
    • By having no condition specified the same result will be achieved.

Attribute — Read Only Conditions

  • For Condition Types:
    • CGI_ENV: DAD_NAME =/!= Value

    • CGI_ENV: HTTP_POST =/!= Value

    • CGI ENV: SERVER_NAME =/!= Value

    Recommended Action:
    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API instead.

  • For Condition Types:
    • Client Browser is Microsoft Internet Explorer 7.0 or higher

    • Client Browser is Mozilla, Netscape 6.x/7x or higher

    • Client Browser is Other browsers (or older version)

    • Client Browser is XHTML / CSS capable browser

    Recommended Action:
    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT') instead.

    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API instead.

  • For Condition Types:
    • SQL Reports

    • Current Page =/!= Page Submitted (posted)

    • Text =/!= Value

    • Text is/ is NOT contained in Value/Item

    Recommended Action:
    • Use PL/SQL Expression or PL/SQL Function returning Boolean condition types.

Attribute — Server Cache Conditions

  • For Condition Types:
    • CGI_ENV: DAD_NAME =/!= Value

    • CGI_ENV: HTTP_POST =/!= Value

    • CGI ENV: SERVER_NAME =/!= Value

    Recommended Action:
    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API instead.

  • For Condition Types:
    • Client Browser is Microsoft Internet Explorer 7.0 or higher

    • Client Browser is Mozilla, Netscape 6.x/7x or higher

    • Client Browser is Other browsers (or older version)

    • Client Browser is XHTML / CSS capable browser

    Recommended Action:
    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT') instead.

    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API instead.

  • For Condition Types:
    • SQL Reports

    • Current Page =/!= Page Submitted (posted)

    • Text =/!= Value

    • Text is/ is NOT contained in Value/Item

    Recommended Action:
    • Use PL/SQL Expression or PL/SQL Function returning Boolean condition types.

  • For Condition Type:

    • Always

    Recommended Action:
    • By having no condition specified the same result will be achieved.

Attribute — Link Conditions

  • For Condition Types:
    • CGI_ENV: DAD_NAME =/!= Value

    • CGI_ENV: HTTP_POST =/!= Value

    • CGI ENV: SERVER_NAME =/!= Value

    Recommended Action:
    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API instead.

  • For Condition Types:
    • Client Browser is Microsoft Internet Explorer 7.0 or higher

    • Client Browser is Mozilla, Netscape 6.x/7x or higher

    • Client Browser is Other browsers (or older version)

    • Client Browser is XHTML / CSS capable browser

    Recommended Action:
    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('HTTP_USER_AGENT') instead.

    • Use a PL/SQL expression, such as SYS.OWA_UTIL.GET_CGI_ENV('XYZ') API instead.

  • For Condition Types:
    • SQL Reports

    • Current Page =/!= Page Submitted (posted)

    • Text =/!= Value

    • Text is/ is NOT contained in Value/Item

    Recommended Action:
    • Use PL/SQL Expression or PL/SQL Function returning Boolean condition types.

  • For Condition Type:

    • Always

    Recommended Action:
    • By having no condition specified the same result will be achieved.

7.1.2 Desupport of Mobile Theme - 51 and the jQuery Mobile User Interface

The jQuery Mobile user interface and Mobile Theme - 51 are desupported. The last stable version of the jQuery Mobile open source library was released on 10/31/2014 and only provides support for jQuery versions 1.8 - 1.11 and 2.1, which no longer receive patches. Oracle Application Express release 18.1 ships with jQuery 3.2. All new application development targeted at mobile devices must be done using the responsive Universal Theme. jQuery Mobile will no longer be supported in future releases.

To learn more about migrating existing applications to the Universal Theme, go to the Universal Theme application at https://apex.oracle.com/ut and select Migration Guide.

7.1.3 Desupport of APEXExportSplitter

The APEXExport program for exporting workspaces, applications, and related files is no longer supported. Use the -split parameter instead without the program.

Note:

In Oracle Application Express release 5.1, APEXExport included a -split parameter to split exported applications into multiple files.

8.1 Fixed Bugs

The following section lists bugs fixed in this release.

Table - Fixed Bugs in 18.2 — Interactive Grid

Bug Number Description

25407894

INTERACTIVE GRID: RESIZE ISSUES WHEN REPORT SETTINGS ARE SHOWN OR HIDDEN

25421676

INTERACTIVE GRID OF FIXED HEIGHT: DATA CAN BE OBSCURED WHEN IT HAS MANY SETTINGS

25681997

INTERACTIVE GRID: STICKY HEADER AND FOOTER SOMETIMES OVERFLOWS WIDTH OF GRID

25697123

INTERACTIVE GRID ADD ROW DISPLAY VALUE NOT USED WHEN COLUMN HAS A DEFAULT

26171679

HORIZONTAL SCROLLBAR OF EDITABLE INTERACTIVE GRID IS SHOWN BY DEFAULT

26794608

INTERACTIVE GRID: SET VALUE DYNAMIC ACTION DOESN'T SUPPORT MULTIPLE COLUMNS

27764967

PAGE DESIGNER: CREATING AN INTERACTIVE GRID DOESN'T POPULATE MAXIMUM LENGTH

27766712

AUTO COMPLETE IN INTERACTIVE GRID SHOULD NOT GO TO NEXT LINE WHEN ENTER PRESSED

27853204

INTERACTIVE GRID ROWS PER PAGE MISSING WHEN IN TAB

27939068

INLINE DIALOG ISSUES WHEN CONTENT IS CHART OR INTERACTIVE GRID

27939189

INTERACTIVE GRID IN INLINE DIALOG ISSUES WITH COLUMN HEADER MENU

28012212

CANNOT IMPORT AN APP IF EXPORT FILE INCLUDES PUBLIC INTERACTIVE GRID REPORTS

28094343

INTERACTIVE GRID OPTION INITIALSELECTION DOESN'T WORK AS EXPECTED

28140106

INTERACTIVE GRID: DOUBLE DOWN BUTTON ON CUSTOM REPORT SELECTOR IN IE

28142480

INTERACTIVE GRID STOCK CHART RESULTS IN JS ERROR

28143302

INTERACTIVE GRID SINGLE ROW VIEW CANNOT SCROLL WHEN REGION HAS HEIGHT

28202781

INTERACTIVE GRID IN TRANSLATED APP GIVES ERROR ON UPGRADE

28256852

VIEWING 41 RECORDS IN AN INTERACTIVE GRID, ON A MOBILE DEVICE, DISPLAYS 40

28269761

INTERACTIVE GRID CHART: SETTING LABEL TO A DATETIME COLUMN TYPE THROWS JS ERROR

28298408

TOO MANY INTERACTIVE GRID DETAIL REGIONS RUNS INTO JAVASCRIPT EXCEPTIONS

28321329

SELECT LIST IN INTERACTIVE GRID ON IE 11 DOES NOT DISPLAY CURRENT VALUE

Table - Fixed Bugs in 18.2 — Productivity and Sample Apps

Bug Number Description

27458757

P-TRACK: RESTRICTED PROJECTS ACCESSIBLE TO NON-SUPER-ADMINS & NON-PROJECT-MEMBERS

27474168

OPPORTUNITY TRACKER: NEWLY CREATED OPPORTUNITY STAGE MISSING SERIAL NUMBER

27628969

MEETING MINUTES: ERROR ON CREATE/SAVE MEETING WITH AGENDA STARTING WITH ASTERISK

27792102

OPPORTUNITY TRACKER: VIEWING OPPORTUNITY DETAILS THROWS INVALID IDENTIFIER ERROR

27798338

GROUP CALENDAR: MISSING COLOR PICKER IN EVENT COLOR TYPE CREATION WIZARD

27798366

GROUP CALENDAR: MISSING CALENDAR IN CREATE TIME FRAME

27866201

INCIDENT TRACKING: UNABLE TO ADD MORE THAN ONE VERSION IN PRODUCT

27975282

P-TRACK: UNABLE TO ADD ISSUE TO PROJECT

27989068

CUSTOMER TRACKER: MANAGE FEEDBACK PAGE ERRORS

28041550

SURVEY BUILDER: JS ERRORS IN BROWSER CONSOLE WHEN EDITING QUESTIONNAIRE

28041611

SURVEY BUILDER: LAYOUT ISSUE WHEN EDITING QUESTIONNAIRES

28124851

GROUP CALENDAR: GROUP MEMBERS PAGE STYLE IS INCONSISTENT WITH OTHER PAGES

28321258

GROUP CALENDAR: ALLOW ALL USERS TO CUSTOMIZE FILTERS ON HOME PAGE

28321448

CUSTOMER TRACKER: CAN'T CREATE FLEX COLUMN ASSIGNMENT

28321655

P-TRACK: PROJECT UPDATES WITH 4K+ OF TEXT CAUSE ERRORS

28329440

DATA REPORTER: QUERY DOESN'T APPEAR ON PAGE 37 WHEN TABLE SELECTED ON PAGE 6

Table - Fixed Bugs in 18.2 — Other

Bug Number Description

27444130

INLINE DIALOG FAILS TO OPEN ON SECOND ATTEMPT TO OPEN

27666219

NO PUBLIC BOOKMARK CHECKSUM GENERATED IN SCHEDULED JOB USING PREPARE_URL

27945850

EXPOSE "REASON_PHRASE" IN APEX_WEB_SERVICE, LIKE G_STATUS_CODE

27971759

APEX_APP_SETTING.SET_VALUE NOT VALID VALUE ERROR IF VALID VALUE IS NULL

27991296

CREATE "JOB REPORTING" FEATURE PAGE DOES NOT WORK ON 11.2 DATABASE

27991486

DATE PICKER WITH TIME DOES NOT REMEMBER LAST SELECTION WHEN REOPENING

27993099

CANNOT LOGIN INTO APP: APEX_180100.WWV_FLOW_SESSION_GROUPS$_PK ERROR THROWN

28013850

WEB SERVER ERRORS BECAUSE OF NON-COMPLIANT SPECIAL CHARS {} IN URL

28030767

'SET STYLE' DYNAMIC ACTION NOT WORKING IN TEXTFIELD WITH AUTOCOMPLETE ITEM

28035049

ISSUE AUTHENTICATING TO ORDS OAUTH2 MANAGEMENT SCREENS USING APEX USER

28075855

REGRESSION: MISSING SUBSTITUTION OF REGION SQL QUERY

28076798

UNABLE TO SCROLL IN THE TREE MENU AND DIALOGS USING TOUCH ON MOBILE

28076993

ORDS REST WORKSHOP CURRENTLY UNABLE TO HANDLE LARGE SCRIPT SIZES

28077007

FEEDBACK IS ENABLED IN THE ORACLE APEX 18.1 DISTRIBUTION

28088432

PAGE DESIGNER DOES NOT WARN WHEN CLASSIC RPT SQL HAS ORDER BY CLAUSE

28092435

WEB SOURCE DISCOVERY FAILS FOR ORDS SERVICES WHEN "CHAR" DATA TYPE IS RETURNED

28093976

UT LINKS LIST TEMPLATE MISSING SPACE BEFORE #A03# SUBSTITUTION STRING

28094163

APEX_WEB_SERVICE.MAKE_REST_REQUEST MAY NOT TRANSMIT LAST BYTE OF P_BODY_BLOB

28134223

ORA-01400 WHEN ADDING FEEDBACK WITH NO COMMENT

28141790

INTERACTIVE REPORT CHART:ERROR ON REFRESH OF PAGE WITH REGION DISPLAY SELECTOR

28143815

CLASSIC REPORT ON WEB SOURCE THROWS ERROR WHEN "NO PAGINATION" IS USED

28149359

CREATE APP WIZARD: AUTHORIZATION OF SAVE ON USER_ACCESS PAGE

28171466

INTERACTIVE REPORT THROWS ERROR WITH FILTER ON NUMBER COLUMN AND GERMAN NLS

28202697

NEW APP NAME NOT SHOWN WHEN OVERWRITING EXISTING APPLICATION DURING IMPORT

28247250

CUSTOM AUTHENTICATION SCHEME: SENTRY FUNCTION ERROR ON REMEMBER_DEEP_LINK

28253542

JET GANTT: DATE FORMATS SHOULD NOT DEFAULT TO USING ZULU TIME FORMAT

28263482

BUILD OPTION UTILIZATION REPORT LINK FOR REGIONS REDIRECTING TO REMOVED PAGE

28263730

WEB SERVICE REQUEST MAY RESULT IN ORA-00942 INTERMITTENTLY

28267010

INTERACTIVE REPORT COLUMN HEADER FILTER NOT RESPECTING "ESCAPE SPECIAL CHARS"

28268953

LEGACY ANYCHART SERIES DISAPPEARS IN PAGE DESIGNER WHEN CHART TYPE CHANGED

28271422

FINDER DIALOG SHOULDN'T SHOW TAB FOR THE OLD LEGACY IMAGES

28285763

ORA-02091: TRANSACTION ROLLED BACK WHEN DELETING AN APPLICATION

28290313

WEBSHEETS: UNHANDLED ORA-20515: INVALID SESSION WHEN DOWNLOADING ATTACHMENTS

28292884

DYNAMIC ACTION: UNABLE TO CREATE CLIENT-SIDE CONDITION BASED ON IG COLUMN

28293165

INTERACTIVE REPORT: FOCUS MOVES TO COLUMN SEARCH MENU BUTTON FOLLOWING REFRESH

28295777

WEB SRC DISCOVERY THROWS ORA-06502 "NUMERIC OR VALUE ERR" FOR VERY COMPLEX JSON

28311481

POST-AUTHENTICATION APP PROCESS NOT RUN ON OPEN DOOR LOGIN PAGE

28313210

RENDERING LINKS TO DIALOG PAGES RAISE ERROR IF DIALOG PAGE TITLE IS LONG

28320098

INTERACTIVE REPORT FILTER THROWS ORA-12728 IN FR-CA LOCALE WHEN DATE PRESENT

28325138

APP IMPORT WITH WEB SRC MODULES USING AN AUTH REMOTE SERVER THROWS ORA-01403

28328206

NLS: HARDCODED ENGLISH STRINGS ON ORDS RESTFUL SERVICES PAGE (4850:100)

28333520

CLASSIC REPORT WITH GENERIC COLUMNS AND COMPUTE SUM ENABLED CAN THROW ORA-01403

28333648

CLASSIC REPORT WITH GENERIC COLUMNS THROWS ORA-01403 IF COLUMNS NAMED "COLNN"

28335589

DATA LOADING DOES NOT IGNORE EMPTY ROWS ANY MORE

28341051

APEX_JSON.PARSE(CLOB) ERROR WHEN > 8191 BYTES AND CLOB CONTAINS EMOJIS

28349551

VIEWS APEX_APPL_WEB_SRC_PARAMETERS & APEX_APPL_WEB_SRC_COMP_PARAMS ALWAYS EMPTY

28355038

UNABLE TO CREATE MULTIPLE WORKSPACES WITH SAMPLE APPS IN SAME SQL*PLUS SESSION

28358263

APEX_JSON.PARSE: ENCODED EMOJIS ARE NOT CORRECTLY PARSED

28359264

WEB SOURCE MODULES DO NOT ENQUOTE URL QUERY STRINGS CORRECTLY

28366600

JET CHART:LOW & HIGH COLUMN MAPPINGS IN PAGE DESIGNER SHOULD ONLY ALLOW NUMBERS

28373036

CLASSIC REPORT PRINT WITH SUM ON COLUMN: SUM TITLE CONTAINS ESCAPED HTML

28383598

CLASSIC REPORT DOES NOT SHOW "PAGINATION OUT OF RANGE" MESSAGE ANY MORE

28388390

RADIOGROUP AND CHECKBOX ITEMS ARE NOT RESPONSIVE WHEN DISPLAYED AS PILL BUTTONS

28405546

CANNOT ENTER MORE THAN 255 CHARS AS WEB SRC OPERATION "REQUEST BODY TEMPLATE"

28415314

EMP & DEPT TABLES NOT BEING CREATED WHEN CREATING SAMPLE REST SERVICE

28420025

WEB SRC MODULE IGNORES DECIMAL CHARS FOR NUMBERS WHEN CALLED OUTSIDE OF APEX APP

28438646

ACL FEATURE: AUTH SCHEMES SHOULD USE DECLARATIVE "IS IN ROLE" TYPE

28438668

LIST VIEW REGION: "NUMBER OF ROWS" ATTRIBUTE IS INTERNALLY INCREASED BY ONE

28439164

JSON ERROR ON DYNAMIC ACTION WHEN ACTION CODE IS USING APEX_JSON

28497009

VIEW APEX_WORKSPACE_LOG_ARCHIVE INCORRECTLY CALCULATES PARTIAL PAGE VIEWS

28575023

WEB SOURCE OUT PARAMETERS ARE NOT PROCESSED FOR HTTP STATUSES 4XX AND 5XX

28576978

SWIPE AND PAN GESTURE EVENT DOESN'T WORK ON ANDROID MOBILE CHROME

28582552

SOCIAL SIGN-IN: ORA-06502 WHEN ACCESS TOKEN IS BIGGER THAN 4000 CHARACTERS

9.1 Open Bugs and Known Issues

This section describes bugs and known issues for Oracle Application Express release 18.2.

Tip:

This section is current as of the writing of this document. To view the most current listing of changed behavior, go to the Known Issues page:

http://www.oracle.com/technetwork/developer-tools/apex/downloads/apex181-known-issues-4478237.html

9.1.1 Removal of AnyChart Flash Components from Images Folder

In a previous release, the AnyChart and AnyGantt flash .swf files were removed from the /images folder. This results in AnyChart map chart and gantt charts no longer rendering. No error message displays, instead the region will be blank.

See Also:

"Switching from AnyChart to JET Chart" in the Oracle Application Express App Builder User’s Guide

9.1.2 Known Issues for jQuery UI and jQuery Upgrade

jQuery 3.1.1 breaks compatibility with earlier 2.x versions. For applications that still rely on removed 2.x functionality, you can use the jQuery Migrate plug-in (to include this plug-in, set the Desktop User Interface Details attribute Include jQuery Migrate to Yes).

If your application relies on removed 1.x jQuery APIs, that functionality no longer works as of Oracle Application Express release 18.1. You must update the JavaScript to only use jQuery 3.1 APIs. See the jQuery migration guides to learn more:

jQuery UI 1.12.x has changed the folder structure and files that make up the library compared to version 1.10.4. If you have direct references to any of the old file filenames, you must update them to the new name. For example, if you previously referenced the tabs widget with #JQUERYUI_DIRECTORY#ui/#MIN_DIRECTORY#jquery.ui.tabs#MIN#.js, you must change it to #JQUERYUI_DIRECTORY#ui/widgets/#MIN_DIRECTORY#tabs#MIN#.js.

The Oracle Application Express specific bundle jquery-ui-apex[.min].js that loads by default for Application Express desktop UI pages (either as jquery-ui-apex.js or as part of desktop[_all].min.js) includes all the core files, the drop effect, and the following widgets:

  • button

  • checkboxradio

  • controlgroup

  • datepicker

  • dialog

  • draggable

  • droppable

  • resizable

  • selectable

  • sortable

  • tooltip

This is essentially the same set as in 1.10.4 with the addition of sortable. If you have a separate reference to sortable, you can remove it.

The jquery-ui-apex[.min].css file loads by default and includes all the jQuery UI CSS files. If you had references to individual jQuery UI css files, you can remove them.

9.1.3 Known Issues for RESTful Services and Oracle REST Data Services (ORDS)

Customers using Oracle Application Express 18.1 and Oracle REST Data Services 18.1 may encounter the following issues when developing and deploying RESTful Services.

9.1.3.1 Issue when Workspace Name Differs From First Provisioned Schema Name

Issue

This issue affects all releases of Oracle REST Data Services except 17.4.1 and 18.2 or later and all releases of Application Express (ORDS services can be created by SQL Developer or an API). This issue exists for services created in the First Apportioned Schema of a workspace when the workspace name and schema name are different.

Due to an error in the way older releases of Oracle REST Data Services retrieve information about the Application Express environment, Oracle REST Data Services cannot serve ORDS Based RESTful Services if a given workspace name does not match the first provisioned schema name. This error was corrected in Oracle REST Data Services 17.4.1 but regressed in Oracle REST Data Services 18.1.

The following examples describe the issue:

  • A user has existing APEX Based RESTful Services and migrates them to Oracle REST Data Services, then modifies the ORDS Based RESTful Services definition. If the user calls the services and expects the new logic to perform, instead the older APEX Based RESTful Services are still called. If the user then goes to the APEX Based RESTful Services page, deletes the original service, and runs the service expecting to call the ORDS service, the user instead gets a 404 error.

  • If a user creates new ORDS Based RESTful Services in the first provisioned schema but does not have corresponding APEX Based RESTful Services, a 404 error results when the user calls the services.

There is no supported resolution at this time.

9.1.3.2 Issue when Migrating Application Express RESTful Services with a Null URI to ORDS

Issue

Prior to 5.1, the Application Express RESTful Services interface enabled users to create RESTful service modules with a null URI Prefix (users could also create multiple modules with null URI Prefixes). The URI templates in all modules had to be unique in order to share the null URI Prefix across the services.

Example - Module Definitions with Null URI Prefixes

Consider the following definitions:

Module 1
Name:          MyMod1
URI Prefix:    NULL

URI Templates: /Template1
               /Template2
Module 2
Name:          MyMod2
URI Prefix:    NULL

URI Templates: /Template3
               /Template4
In effect, these definitions create a single virtual service with four templates with null for the URI Prefix. These can be called in the following ways:
http://server.com/ords/mySchema/Template1
http://server.com/ords/mySchema/Template2
http://server.com/ords/mySchema/Template3
http://server.com/ords/mySchema/Template4

Where:

http://server.com
The server URL.
ords
The ORDS alias.
mySchema
The Path Prefix.
null
The null Module URI Prefix. Does not appear in the call, but is processed by the services.
Template1
The URI Template.

While the ability to create null URI Prefixes was disabled in Application Express 5.1, legacy services that were defined in prior releases were migrated and functioned as long as they were not deleted. However, when migrating these services to Oracle REST Data Services, the ORDS Based data model does not accept multiple modules with duplicate URI Prefixes (including null prefixes).

The logic to migrate APEX Based Rest Services to Oracle REST Data Services in Application Express 18.1 is a simple pass-through to an Oracle REST Data Services procedure (introduced in Oracle REST Data Services 17.4.1). However, the logic of that procedure fails to process multiple modules with a null base path. Users in this situation who try to migrate to Oracle REST Data Services encounter a "Duplicate Value" and throw an ORA-0001 error (Oracle bug 27916570).

Resolution

Logic added to the migration procedure merges all modules that have null URI Prefixes. The rules are as follows:

Oracle REST Data Services 18.2

All affected modules collapse into a single ORDS Based module named merged.apex.rest.services

If any of the APEX Based modules being merged are published, the new merged module publishes.

If none of the APEX Based modules being merged are published, the new merged module does not publish.

All roles associated with APEX Based modules being merged are assigned to the new merged module.

The pagination size of the merged module is set to the largest pagination size in the modules being merged.

For APEX Based modules with null URI Prefixes that also have duplicate URI templates, the following occurs:
  • The most recently updated template maintains the duplicate URI.

  • All other templates are given the prefix dup001_*

  • The comment for the template contains: 1) the original module name that it migrated from, and 2) the original Template URI.

Oracle Application Express 18.1

If you have one module or none with a null URI Prefix, the services migrate successfully regardless of your release of Oracle REST Data Services (the migration is only available in Oracle REST Data Services 17.4.1 or later).

If you have two or more modules with a null URI Prefix, one of the following occurs:
  • If you have Oracle REST Data Services 18.2 or later, the modules migrate using the rules above.

  • If your Oracle REST Data Services release is older than 18.2, a warning message displays and you cannot migrate your services to Oracle REST Data Services until you upgrade to 18.2 or later.

9.1.3.3 Issue when Using SQL Developer or SQL Scripts to Enable ORDS on an Application Express 18.1 or later Schema

Issue

This issue affects systems running ORDS 17.4 or prior and Oracle Application Express 18.1 or later.

This issue only affects schemas that are assigned to an Application Express Workspace.

The issue occurs when you use SQL Developer or SQL Scripts (i.e. not the APEX ORDS Workshop) to enable ORDS for a schema, when that schema is also assigned to an Application Express Workspace.

The APEX ORDS Workshop ensures that the ORDS SCHEMA ALIAS and the APEX PATH PREFIX synchronize. However, when ORDS enables a schema using another method, the APEX PATH PREFIX does not sync. When these two items are out of sync, ORDS returns a 404 error when attempting to access ORDS services defined within the schema.

Resolution

To sync the APEX PATH PREFIX with the ORDS URI PREFIX:

  1. In Application Express, navigate to the ORDS REST Workshop.

  2. Click the Configure button to launch the ORDS Schema Attributes modal dialog.

  3. For Schema Alias, select the alias.

  4. Click the Save Schema Attributes button.

This sets the same value for both the ORDS SCHEMA ALIAS and the APEX PATH PREFIX.

9.1.4.1 Inconsistent "Required" Attributes Emitted for Page Items

Issue

Some configurations of required attributes produce inconsistent emissions by screen readers, and may confuse users of assistive technology.

When specifying required page items in Oracle Application Express, developers can choose different configuration steps and options depending on the specifics of the validation:
  1. Developers must use the relevant label template (such as "Required") to show the required icon next to the label. Choosing this label template also means the label appends hidden text that is read by a screen reader, stating "(Value Required)."

  2. To validate the input, there are two main methods:
    • The most common method is to set the Value Required item attribute, which validates the input, and also emits "aria-required="true" required="" in the form item attributes.

    • The less common method is to use a not null page validation, which you may need to do if, for example, the validation needs to be done conditionally based on some other context (such as a page item storing TOTAL_SALES information is only required if JOB = SALES).

In this case, where a separate validation is used, the item does not contain the required attributes on the item emitted.

This can lead to inconsistencies in what is emitted, and possibly confuse a user of Assistive Technology.

This issue is tracked with Oracle bug 23761182.

Workaround

Instead of using the Value Required item attribute, create simple not null style validations on the items and set the Value Required attributes to no. Then, as long as developers have defined the appropriate label template for required items, this provides a consistent experience across all required items: the required information is conveyed in the label, and not in the item attributes.

9.1.4.2 Interactive Grid Single Row View Keyboard Issues with Links and Buttons

Issue

In the Single Row View of an interactive grid, fields that are links or fields with custom markup that contain one or more buttons or links have the following issues:
  • Users cannot activate a column of type link or a column with a link defined with the keyboard in navigation mode.

  • A column that contains buttons or links has extra tab stops in edit or navigation mode.

This issue is tracked with Oracle bug 25245829.

Workaround

Use grid view, where links and buttons can be activated.

9.1.4.3 Interactive Grid Cell Buttons and Links Cannot Activate in Edit Mode

Issue

In an interactive grid, in grid view, users cannot press the space bar or Enter key to activate buttons or links that are contained in cells when the grid is in Edit Mode.

This issue is tracked with Oracle bug 25245887.

Workaround

Press the ESC key to exit Edit Mode and switch back to Navigation Mode, where the buttons and links can be activated as usual.

9.1.4.4 Interactive Grid Contains Additional Hidden Tab Stops After the Grid

Issue

Interactive grid has additional hidden tab stops when users tab past the grid section.

This issue is tracked with Oracle bug 25245934.

Workaround

After tabbing past the grid section, press the Tab key multiple times until you reach the next visibly focusable element on the page.

9.1.4.5 Page Designer, Property Editor, Display Group Headings Should Be Buttons

Issue

Currently in the Property Editor, the display groups are marked up as <div> elements that are focusable with the keyboard. When focused, users can navigate between display groups with the Up and Down arrow keys, which aids keyboard support of the Property Editor. However, when the <div> is focused, JAWS announces the display group title twice, and JAWS does not initially announced the ARIA expanded state when the display group first gets focus (however, it is announced upon expand or collapse).

This issue is tracked with Oracle bug 20693220.

Workaround

Users should be aware that the state is not announced upon first focus, and can either force announcement by pressing Enter and making the group expand or collapse, or alternatively by pressing Tab to go to the next focusable element, which will either be the first field in the group (if expanded), or the next display group (if collapsed).

9.1.4.6 Single Value / Item Check Boxes Render Unnecessary Fieldset and Legend Tags

Issue

Rendering a native check box item renders a FIELDSET tag that acts as a container for the group of check boxes and a LEGEND tag which gives the FIELDSET an accessible title. This works well for check boxes that have more than one check box in the group, but when the check box only has one check box, it is incorrect to render the FIELDSET and LEGEND.

This issue is tracked with Oracle bug 18188460.

9.1.4.7 Duplicate Labels When Two or More Regions Display Maximize Buttons

Issue

The Maximize functionality built into native region types renders a button within the region allowing the user to maximize the region content to fill the page. If two or more of these regions with maximize functionality enabled appear on the same page, they have duplicate labels for the buttons.

This issue is tracked with Oracle bug 27685217.

There is no supported workaround.

9.1.4.8 Icons Not Visible When Running Windows High Contrast Mode

Issue

When running Windows High Contrast mode, many icons and icon buttons are unavailable when using Windows High Contrast mode.

There is no supported workaround.

This issue is tracked with Oracle bug 27781674.

9.1.4.9 Calendar Region List View Accessibility Should Be Improved

Issue

For this release, the List View of the Calendar region type in 18.2 now uses the native list view of the FullCalendar widget. Prior to 18.2 and prior to FullCalendar supporting this, Application Express had a custom implementation of the list view. The FullCalendar list view uses poorly structure HTML, which negatively affects accessibility.

There is no supported workaround.

This issue is tracked with Oracle bug 27941145.

10.1 Documentation Additions

This section lists additions to Oracle Application Express documentation.

10.1.1 Oracle Application Express JavaScript API Reference Prototype

A previous release introduced the prototype of the Oracle Application Express JavaScript API Reference to the Oracle Help Center. While it has been updated with new content for this release, it is likely some JavaScript APIs were excluded in this version. A more finalized version will accompany a future release.

In the future, this reference will contain all JavaScript APIs. In the interim, please see "JavaScript APIs" in the Oracle Application Express API Reference.

11.1 Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

12.1 Privacy Notice

This privacy notice describes what to expect when Oracle Application Express directly collects information about users of applications that you create or install. Note that all Application Express internal applications (such as Application Builder) are written in Application Express, so the same facts apply to developers and administrators who are using these applications. Oracle is not responsible for information collection of applications that were developed by customers.

Event Logging

Application Express provides extensive logging of user triggered events. For example, developers and administrators can use this data to find security and performance issues. The log data includes the user’s IP address and application username plus event specific information. Below is a brief list of event log types.

  •   Activity Log - Page views and Ajax requests. Can be disabled by developers and instance administrators.

  •   Login Access Log - Successful and failed login attempts.

  •   Debug Log - Application-specific instrumentation, such as internal variable values. Disabled by default, the debug log can be enabled by end users and developers.

  •   Click Count Log - Clicks on external links within applications.

  •   Web Service Activity Log - Requests to external web services from inside the database.

  •   Developer Activity Log - Changes to application components.

  •   SQL Workshop Log - History of SQL statements in the development environment's SQL Workshop.

Cookies and Related Technologies

Application Express does not use any third-party cookies, but it does use functional cookies (no tracking) and the browser’s SessionStorage and LocalStorage for maintaining the login session and for personalization. This is essential for application security, performance, and ease of use. Below are details about the cookie and storage names that Application Express uses and their intended use.

Session Cookies
  • ORA_WWV_USER_instance id - Security cookie for internal applications, like Application Builder.

  • ORA_WWV_APP_application id, ORA_WWV_APP_workspace cookie id, custom name - Security cookie for applications. Developers can choose custom cookie names in an application's authentication scheme.

  • ORA_WWV_RAC_INSTANCE - Session cookie for the Real Application Cluster (RAC) node instance number, for node pinning on the web server. Only sent when multiple RAC nodes are detected.

Persistent Cookies
  • ORA_WWV_REMEMBER_LANG - The user’s selected application language.

  • ORA_WWV_REMEMBER_UN - (Optional) Workspace and username of the previous login to the development environment login page. See check box "Remember workspace and username" on the development environment login page for details.

  • LOGIN_USERNAME_COOKIE - (Optional) Username of the previous login to developed applications. See check box "Remember username" on login pages of new applications for details. To make this cookie optional on login pages of existing applications, add a "Remember username" checkbox to the page. The API documentation for APEX_AUTHENTICATION.GET_LOGIN_USERNAME_COOKIE and APEX_AUTHENTICATION.SEND_LOGIN_USERNAME_COOKIE has examples for the PL/SQL process code to set the check box value and to only send the cookie when the check box is checked.

Session Storage
  • ORA_WWV_apex.builder.devToolbar.grid - This stores the current setting of the Development Toolbar’s Show Layout Columns option.

  • ORA_WWV_apex.builder.themeRoller.application id.* - This stores settings of the Development Toolbar’s Theme Roller popup.

  • .4000.4500.* - This stores the current tab in each of the tab sets of Page Designer.

  • APEX.userHasTouched - This is used to remember if the user has interacted with the application using touch (a touchstart event has been seen). It is used by some components to customize the user experience when using touch devices. 

  • .application id.page.*.activeTab - This remembers the last tab selected for Region Display Selector regions or regions using the Tabs Container template that have enabled the option to save the current tab

  • ORA_WWV_apex.Calendar.application id.page.region id.lastview - This remembers the last viewed calendar period.

  • .application id.page.*.preferenceForExpanded - This remembers the expanded state for collapsible regions.

  • ORA_WWV_apex.MED_*.splitterPosition - This stores the splitter bar position for various Interactive Grid settings dialogs.

Local Storage
  • ORA_WWV_apex.builder.devToolbar.options - This stores the Developer Toolbar user preference settings: Auto Hide, Show Icons Only, and Display Position.

  • ORA_WWV_apex.builder.pageDesigner.useComponentView - This stores the users preference for the Page Designer’s Component View tab.

  • ORA_WWV_apex.builder.pageDesigner.model.componentIds - This stores a pool of not yet used IDs for new components in Page Designer.

Check for Updates

When developers log in to the Application Express development environment, they get a notification when a new version is available. To get this version information, Application Express sends a request to an oracle.com server on a bi-weekly basis. It passes anonymized, statistical information about the development server (such as database version and Application Express component usage) that the Application Express product development team uses to make decisions about the products’ future. This check is enabled by default, but can be disabled by instance administrators. To learn more, review the CHECK_FOR_UPDATES parameter in "APEX_INSTANCE_ADMIN" in the Oracle Application Express API Reference.


Oracle Application Express Release Notes, Release 18.2

F10921-02

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

Primary Authors: Terri Jennings, John Godfrey, Christian Neumueller, Anthony Raynor, Patrick Wolf

Contributing Authors: Christina Cho, Jason Straub

Contributors: Hilary Farrell, Marc Sewtz

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

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.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.