Oracle® Application Express

Release Notes

Release 4.2 for Oracle Database 12c

E17957-06

May 2013

These Release Notes contain important information not included in the Oracle Application Express documentation. For the most current information, refer to updates of this document, which are located at:

http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-094287.html

For a summary of new Oracle Application Express release 4.2 for Oracle Database 12c features, see "Changes in This Release" in the beginning of each document in the Oracle Application Express release 4.2 for Oracle Database 12c documentation library.

Topics:

1 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, refer to:

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

If you already have Oracle Application Express installed, Oracle strongly recommends that you regularly upgrade to the latest version available from the Oracle Application Express Oracle Technology Network (OTN) Downloads page. To learn more about upgrading Oracle Application Express, see:

http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-deployment-upgrades-1878445.html

2 Configuration Requirements

The value of the character set portion of PlsqlNLSLanguage in the configuration of the mod_plsql Database Access Descriptor (DAD) must be set 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. To learn more, see "Restricting Access to Oracle Application Express by Database Access Descriptor (DAD)" in Oracle Application Express Administration Guide.

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.

3 New Features

This section describes new features of Oracle Application Express that are not documented elsewhere. If you are not updating from Application Express release 4.1 to release 4.2, please see "Changed Behavior" in Oracle Application Express Release Notes release 4.1 and Oracle Application Express Release Notes release 4.0.

You can find these documents at the following locations:

Oracle Application Express Release Notes release 4.1

http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21672/toc.htm#BABFBHEF

Oracle Application Express Release Notes release 4.0

http://docs.oracle.com/cd/E17556_01/doc/relnotes.40/e15512/toc.htm#BABFBHEF

Topics:

3.1 Increased Size Limit for VARCHAR2, NVARCHAR2, and RAW Data Types

The maximum size of the VARCHAR2, NVARCHAR2, and RAW data types has been increased from 4,000 to 32K characters. Increasing the allotted size for these data types enables users to store more information in character data types before switching to large objects (LOBs). This is especially useful for brief textual data types and the capabilities to build indexes on these types of columns.

You can now define text items, textareas, and rich text editor items in Oracle Application Express based on VARCHAR2 columns in a table with a maximum size of 32767. In order for Oracle Application Express collections to be able to utilize the increased size limit, you must run /core/collection_member_resize.sql to change collection VARCHAR2 columns from 4000 characters to 32767 characters.

3.2 Identity Columns

Table columns have been enhanced to support the American National Standards Institute (ANSI) IDENTITY keyword. This provides a standards-based approach to the declaration of automatically incrementing columns, simplifying application development and making the migration of DDL to Oracle simpler.

Oracle Application Express page and region wizards can accept identity columns as primary key columns. The DML processes defined on form pages for retrieving and processing records can accept identity columns as primary key columns. Within the SQL Workshop, you can create tables with columns as identity columns.

3.3 Invisible Columns

The property of whether a column is visible can be controlled by the user. Invisible columns are not seen unless specified explicitly in the SELECT list. Any generic access of a table (such as a SELECT * FROM table or a DESCRIBE) will not show invisible columns. The notion of invisible columns enables easier online application migrations as provided by Oracle's edition-based redefinition.

Within Oracle Application Express page and region wizards invisible columns are not be selectable. The SQL source generated for regions does not include invisible columns. However, after completing the wizard you can update the SQL source and include invisible columns. Within SQL Workshop, invisible columns are not displayed within the Object Browser or Query Builder. You can explicitly select invisible columns within SQL Commands.

3.4 Addition of Theme 24

Application Express release 4.1 and later includes a new theme, Theme 24. Theme 24 incorporates HTML5 and CSS3 features and is based on the colors used in Oracle Public Cloud.

3.5 Addition of Theme 25

Application Express release 4.2 includes a new theme, Theme 25. Blue Responsive Theme 25 incorporates HTML 5 and CSS3 features and is based on the color scheme of the productivity applications. This theme is a "Responsive" theme that utilizes the Application Express release 4.2 Grid Layout feature. The theme automatically shifts or realigns page components so that they fit properly on a mobile or tablet device.

3.6 Addition of Theme 26

Application Express release 4.2 includes a new theme, Theme 26. Productivity Applications Theme 26 incorporates HTML 5 and CSS3 features and is based on the color scheme of the productivity applications.

3.7 APEX_DEBUG_MESSAGE Package Renamed to APEX_DEBUG

In Oracle Application Express release 4.2, the APEX_DEBUG_MESSAGE package is renamed to APEX_DEBUG. The APEX_DEBUG_MESSAGE package name is still supported to provide backward compatibility. As a best practice, however, use the new APEX_DEBUG package for new applications unless you plan to run them in an earlier version of Oracle Application Express.

4 Changed Behavior

This section describes changed behavior in Oracle Application Express release 4.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 available off the Downloads page. See:
http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html

Note:

If you are not updating from Application Express release 4.1.1 to release 4.2, please see "Changed Behavior" in Oracle Application Express Release Notes release 4.1 for other changes.

Topics:

4.1 Compatibility Mode

This attribute controls the compatibility mode of the Application Express runtime engine. Certain runtime behaviors are changed from release to release. Use this attribute to obtain specific application behavior.

In Application Express release 4.1, Automatic DML forms raise an error when rendering the page if the column name of the source of an item is invalid. Prior to 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. To realize the new behavior in an application, set the compatibility mode of the application to 4.1. If you desire the behavior as it was in Application Express release 4.0 or earlier releases, set the compatibility mode of the application to Pre 4.1.

Also, in 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 compatibility mode Pre 4.1 function as if the Cache is enabled and as if Embed in Frames is set to allowed. Applications running in compatibility mode 4.1 respect the specific Browser Security attributes.

In 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 lay 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, because 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.

Also, in Application Express 4.1, because of bug 12990445, the following changes have been implemented for Automatic Row Processing (DML) process types. The code which performs the INSERT has been 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?

  • Does the specified Build Option have a status of Include or is it not specified at all?

  • 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 realize the new behavior in an application, set the compatibility mode of the application to 4.1. If you desire the behavior as it was in release 4.0 or earlier releases, set the compatibility mode of the application to Pre 4.1.

In 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).

For further information on setting the compatibility mode, see "Editing the Application Definition" in Oracle Application Express Application Builder User's Guide.

4.2 Mail Retry Delay

Prior to Application Express release 4.2, a maximum of 10 attempts is performed to send an email message from the Application Express mail queue. If, after the tenth time, the email message cannot be sent, it is removed from the mail queue and is recorded in the mail log along with the last error encountered.

In Application Express release 4.2, up to 14 attempts are made to deliver an email message. The delay between each attempt increases on a logarithmic scale, up to and including the 14th attempt which has a delay of 2^14 (32768) minutes from the previous attempt.

4.3 Phase Out of Accessibility Modes

The modes for optimized accessibility, Screen Reader and High Contrast in Oracle Application Express will be phased out. Instead of requiring developers to provision these modes in applications, and users having to enable these modes, Oracle Application Express will be optimized by default without requiring any additional actions from users or developers. The work on this has commenced in Oracle Application Express release 4.2, with the removal of the need to run Screen Reader Mode for the following functionality:

Shuttle, radio, and check box page items are rendered within a FIELDSET HTML tag. FIELDSET elements require a text description that is used as context for any elements within it, for example the individual radio inputs. This is done using the LEGEND HTML tag. When running in screen reader mode, this tag is generated and is given the value of the page item's Label.

4.4 Name Change for Stop and Start HTML Table Item Type

The previously called Stop and Start HTML Table item type is now called Stop and Start Grid Layout (deprecated) and has been removed from the Create Page Item wizard.

Instead of using the Stop and Start HTML Table item type, developers should use the new Start New Grid attribute of page items which provides the same behavior. If developers still want to use the old item type they can still pick Stop and Start Grid Layout (deprecated) in the item type select list on the Edit Page Item page.

4.5 Hosted Online Help

Prior to Oracle Application Express release 4.1, the Application Express online help system was included with the Application Express distribution. In Oracle Application Express release 4.1 and later, the online help is the Oracle Application Express Documentation Library hosted on Oracle's Technology Network.

To access the online help with and with Application Express release 4.1 and earlier, you click the Help link in the upper right corner of most Oracle Application Express pages. See "Accessing Help and the Documentation Library" in the Oracle Application Express Application Builder User's Guide.

Some benefits of the hosted online help include:

  • Our documentation team now has greater flexibility in updating, correcting and enhancing documentation and online help, providing the most current and useful content.

  • The hosted online help provides more powerful search capability.

  • By not including the help system with the Application Express distribution, the overall distribution size of Application Express release 4.2 has been dramatically reduced as well as the size of the content loaded into the XDB repository, if you are using embedded PL/SQL gateway.

  • This removes the complexity associated with indexing the online help files, especially if your instance is accessed over SSL or the database is behind a firewall that cannot get to the Web server.

For customers that cannot get to the Internet, the entire documentation library can be downloaded and staged locally. The URL for the Help link can be adjusted from within Application Express to go directly to the locally staged documentation. See "Configuring Online Help" in the Oracle Application Express Administration Guide.

Local search capability is available for downloaded documentation. See "Downloading the Online Documentation Library" in the Oracle Application Express Application Builder User's Guide.

4.6 Updated JavaScript Libraries

The JavaScript libraries for jQuery and jQueryUI used by Application Express have been updated as follows:

  • jQuery has been updated from version 1.6.2 to version 1.7.1

  • jQueryUI has been updated from version 1.8.14 to version 1.8.22

See jQuery and jQueryUI release notes for bug fixes and enhancement at:

There are a couple of situations, relating to this upgrade, that you should consider.

The first situation to consider is if you have used jQuery in your own JavaScript code in applications, then you may be impacted by changed behavior caused by the updated jQuery version. The most significant impact you may experience from updating your jQuery version is due to the use of the jQuery attr method. This method returns slightly different values in some circumstances. Please review the jQuery change log for further details of this and other changes.

If you are concerned this may impact your applications, there are 2 possible options:

  1. Fallback to the previous version of jQuery for your code. You can easily include jQuery 1.6.2 by adding the following to your Page Template > Header, within the <head>…</head> tags, importantly ensuring this is done directly after the #HEAD# substitution string and before you include any of your libraries:

    ...
        #HEAD#
        <script src="#IMAGE_PREFIX#libraries/jquery/1.6.2/jquery-1.6.2.min.js" type="text/javascript"></script>
        ...
    

    We will still include jQuery 1.7.1 as part of the #APEX_JAVASCRIPT# substitution, but including 1.6.2 afterwards means that the variables $ and jQuery will now point to jQuery version 1.6.2, which you can continue to use in your applications. Note that jQuery 1.6.2 is still included in our distribution, so you don't need to add this to your web server.

  2. Review and retest your jQuery code to see if you are impacted by the changes. This is more work initially, but has the advantage that you only need to load one version of the jQuery library into your application and secondly, you can also benefit from the enhancements of the most recent version.

The second point to consider as part of this upgrade, relates to jQuery UI and if you have included components of jQuery UI that are not included by default by Application Express. We don't include all the components of jQuery UI by default to reduce page size and processing, only the components used by Application Express base functionality. All of these default components are now using jQuery UI 1.8.22, whereas any components you may have previously included may be referencing an older version. This means there may be compatibility issues between the versions of jQuery UI components you have included and the updated jQuery and jQuery UI versions we include by default.

Again, if you are concerned this may impact your applications, there are 2 possible options:

  1. Fallback to the previous versions of jQuery and jQuery UI in your code. You can include jQuery 1.6.2 and jQuery UI 1.8.14 by adding the following to your Page Template > Header, within the <head>…</head> tags, importantly ensuring this is done straight after the #HEAD# substitution string and before you include any of your libraries:

    ...
        #HEAD#
        <script src="#IMAGE_PREFIX#libraries/jquery/1.6.2/jquery-1.6.2.min.js" type="text/javascript"></script>
        <script src="#IMAGE_PREFIX#libraries/jquery-ui/1.8.14/ui/minified/jquery-ui-1.8.14.custom.min.js" type="text/javascript"></script>
        ...
    

    We still include jQuery 1.7.1 and jQuery UI 1.8.14 as part of the #APEX_JAVASCRIPT# substitution, we're just including the older versions for compatibility with your other jQuery UI components you may reference. Note that jQuery 1.6.2 and jQuery UI 1.8.14 are still included in our distribution, so you don't need to add this to your web server.

  2. Review your jQuery UI code, update any jQuery UI components to reference version 1.8.22 and retest. This is more work initially, but has the advantage that you only need to load one version of the jQuery library and one version of the jQuery UI library into your application and secondly, you benefit from the enhancements of the most recent versions. We suggest you search the files containing your JavaScript code and also in Application Search in the Application Builder, for the following text:

    libraries/jquery-ui/
    

4.7 Updated CKeditor

The CKeditor used by Application Express release 4.2 has been updated to CKeditor version 3.6.4.

4.8 Updated AnyChart Flash Charts

The AnyChart Flash charts used by Application Express have been updated to the latest version 6.0.11.

Prior to Application Express release 4.2, AnyChart Flash charts and AnyMap Flash maps were embedded in a page using <OBJECT>/<EMBED> HTML tags, and the region source was visible and editable on the Edit Region page.

In Application Express release 4.2, the AnyChart JavaScript Integration Library is used to embed the component in a page, and the region source is no longer visible on the Edit Region page. Existing applications containing AnyChart 5 charts will automatically be upgraded to AnyChart 6 charts in Application Express release 4.2. The XML structure of AnyChart 5 charts is compatible with AnyChart 6, and no changes are required.

For customers wishing to access the region source of existing Flash chart regions, which may contain custom code, the APEX_APPLICATION_PAGE_REGIONS view can be used to view the region source information, using the following query:

    select page_id, region_name, region_source
        from apex_application_page_regions
        where application_id = :APP_ID
        and source_type_code in ('FLASH_CHART','FLASH_CHART5')

In the above query, :APP_ID is the ID of the application you wish to obtain the information on.

When the Upgrade Application wizard is used to upgrade existing Flash charts to Flash 6, the contents of the region source will be deleted, and custom content will be lost.

See AnyChart website for bug fixes and enhancements at:

http://anychart.com/products/anychart/history/

4.9 Updated AnyGantt Charts

The AnyGantt charts used by Application Express have been updated to the latest version 4.2.0.

Prior to Application Express release 4.2, AnyGantt charts used a JavaScript Integration library called AnyChart.js, with an associated class name of AnyChart.

In Application Express release 4.2, the AnyGantt JavaScript Integration Library has been refactored, and renamed to AnyGantt.js. The associated class has been renamed to AnyGantt. Existing applications containing AnyGantt 4.1.0 charts will automatically be upgraded to AnyGantt 4.2.0 charts in Application Express release 4.2. However, custom AnyGantt 4.1.0 chart regions will need to be manually updated, to change references to the old JavaScript library name, AnyChart.js, with the new name, AnyGantt.js.

See AnyChart website for bug fixes and enhancements at:

http://anychart.com/products/anygantt/history/

4.10 Dynamic Action Set Value with Multiple Affected Elements

In Application Express release 4.1, we introduced the restriction that Set Value dynamic actions no longer supported the ability to set multiple affected elements to a singular value. For example, you could no longer use one Static Assignment set type action to set multiple affected elements to a single static value. Instead, you would have to create separate actions for each item you wanted to set. This restriction has now been lifted in Application Express release 4.2, such that for the single value set types (Static Assignment, JavaScript Expression, PL/SQL Expression and PL/SQL Function Body), it is once again possible to set multiple affected elements to a single value in one action.

Note: The only exception to this is the 'SQL Statement' set type. This set type supports setting multiple values to multiple page items, so here if you want to set multiple affected elements to the same value, you should code your SQL Statement such that it selects the same value, with a different alias for each affected element. This was done in order to keep a simple mapping between the value and the item, in the case where both could be greater than 1."

4.11 List of Values Only Supports Two Column SQL Statements

Since the last few releases of Application Express, the Builder requires the SQL statement of a List of Values to contain two columns when a page item is created or modified.

In Application Express release 4.1, the rendering engine has been modified to perform the same check during runtime. If a List of Values is detected that contains only one column, the error messages "Wrong number of columns selected in the LOV SQL query for P1_DNAME. See examples for valid statements." is displayed.

To fix this error, edit the SQL statement of the List of Values. Duplicate the column and give the first column the alias name display_value and the new second column return_value.

For example:

SQL statement before editing:

select dname from dept

SQL statement after editing:

select dname as display_value, dname as return_value from dept

4.12 Enabling Network Services in Oracle Database 12c

By default, the ability to interact with network services is disabled in Oracle Database 12c. Therefore, if you are running Oracle Application Express with Oracle Database 12c, you must use the new DBMS_NETWORK_ACL_ADMIN package to grant connect privileges to any host for the APEX_040200 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.

Topics in this section include:

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, an Oracle Database 12c already has the parameter set properly, but a database upgraded to 11g from a prior version may not. See "Creating and Configuring an Oracle Database" in Oracle Database Administrator's Guide for information about changing database initialization parameters.

The examples below should be modified according to your environment and in a Oracle Database 12c multitenant architecture, should be run on each PDB.

4.12.1 Granting Connect Privileges to a Host

The following example demonstrates how to grant connect privileges to any host for the APEX_040200 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_040200
  -- the "connect" privilege if APEX_040200 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_040200',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_040200', 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_040200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');
END;
/
COMMIT;

4.12.2 Granting Connect Privileges to a Local Host

The following example demonstrates how to provide less privileged access to local network resources. This example is used to enable 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_040200
  -- the "connect" privilege if APEX_040200 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_040200',
     'connect') IS NULL THEN
      DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,
     'APEX_040200', 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_040200', TRUE, 'connect');
  DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('local-access-users.xml','localhost');
END;
/
COMMIT;

4.12.3 Troubleshooting an Invalid ACL Error

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 need to run the first script in this section to apply the ACL to the APEX_040200 user. See "Granting Connect Privileges to a Host".

4.13 Item Finder CSS Tab Availability

The CSS tab of the Item Finder is no longer available.

4.14 Grid Layout Affects Item Buttons

If you have item buttons where "Start New Row" or "Start New Column" are set to Yes, you may see slightly different positioning of the item button, because item buttons no longer emit an empty table cell for a label. If you are affected by this, please use the new "Column" attribute in the "Grid Layout" region, to position the button accordingly.

4.15 Hidden Items No Longer Affect Grid Layout

In Application Express releases earlier than 4.2, if you had hidden items in between two displayed items, then this affected the layout of the following page item if Start New Row was set to Yes. It was displayed in a new line. In Application Express release 4.2, hidden items are completely ignored when layouting page items, that's why the following page item will be displayed in the same line if it has Start New Row set to No.

4.16 Report Queries Exceeding the Maximum Row Count Display an Error

If a report query exceeds the maximum row count defined by a chart or group by view, chart or group by does not display. Instead following message displays:

Your current query retrieves more than (999,999) rows (the maximum row count for 
this report). The [group by / chart] view is only supported when all rows 
retrieved can be displayed. Please apply a filter.

4.17 Drag and Drop Layout Page Removed

The Drag and Drop icon that previously displayed on the Page Definition in Component View and the Drag and Drop Layout page have been removed from Oracle Application Express release 4.2.

4.18 New Placeholders to Include Standard CSS and Standard JavaScript Files

The page-level attribute Include Standard JavaScript and CSS is deprecated and is only displayed for existing applications if the value is set to No. New applications no longer have this page-level attribute.

Developers can now use the placeholders #APEX_CSS# and #APEX_JAVASCRIPT# in page templates to indicate if and where the standard Oracle Application Express CSS and JavaScript files should be loaded. If these placeholders are not included in the page template, they will not be loaded.

4.19 DML Fetch Mode of Automated Row Fetch Processes Deprecated

The DML Fetch Mode attribute for process type Automated Row Fetch only be displays if its current value is "Set Memory Cache On Display." For new processes it is no longer possible to set this attribute. New processes will always use "Set Memory Cache On Fetch."

4.20 Text Areas Now Respect Maximum Width page Item Attribute

Previously the Maximum Width attribute of a Text Area page item was not checked. With Oracle Application Express release 4.2, this attribute is now checked so existing applications may behave differently if the value defined in the Maximum Width attribute is too small or does not correspond with the database column length.

4.21 Firing Point Change for Before Regions and After Regions Computations or Process

Computations and processes which have a the processing point of Before Regions and After Regions now fire before and after the region displays. In previous releases of Oracle Application Express, they only fired before or after regions with a Display Point of Body 1, Body 2, or Body 3. The old behavior is still be used for applications where the application Compatibility Mode is set to 4.1 or earlier

4.22 Chart Series Page for Flash Charts No Supports Conditional Display

Prior to Oracle Application Express release 4.1, conditional rendering of Flash chart series queries was not supported. In this release, you now have the ability to specify a condition on Flash 5 chart series queries. A condition is a small unit of logic that helps you control the display of the chart series query. For example, when you apply a condition to a query, the rendering engine evaluates the condition during the rendering (or Show Page) process. Whether the condition passes or fails determines if the chart series data is represented on the chart

4.23 Dynamic Actions Firing After the Page Has Loaded Now Handled Consistently

Within dynamic actions, there are two methods of getting actions to fire after the page has loaded:

  • By defining a dynamic action's When Event as Page Load

  • By setting an Action to Fire on Page Load

Prior to Oracle Application Express release 4.2, these two methods were executed slightly differently by Oracle Application Express, which resulted in an inconsistency with the value available from the 'this.browserEvent' attribute of dynamic actions. For Actions firing from the Page Load, When Event, this would be set to the full jQuery event object for the 'ready' event. For Actions firing where the Fire on Page Load attribute was set, 'this.browserEvent' would be set to just 'load'. This made it difficult for a plug-in developer to easily and consistently isolate behavior that was specific to page load.

In Oracle Application Express 4.2 and later, this is now handled consistently such that 'this.browserEvent' is always set to 'load.' For plug-in developers, you must test 'this.browserEvent' for 'load,' to consistently isolate page load behavior for your plug-ins.

5 Functionality No Longer Supported

The following are not supported in Oracle Application Express release 4.1 and later.

Topics:

5.1 No Support for Save State before Branch

The option "Save State before Branch" is no longer available for new and existing branches. Only if the option was previously checked will it still be available for compatibility reasons and will work as before.

5.2 No Support for Running in an EBCDIC Character Set

Oracle Application Express does not support an EBCDIC character set. The value of the character set in the configuration of the mod_plsql Database Access Descriptor (DAD) must be set to AL32UTF8, regardless of the underlying database character set.

5.3 Text Areas No Longer Support Spell Checks

Text Area item types have been migrated to a simple text area. This functionality has been replaced by Web browser spell checking support, which supports more languages.

5.4 Format Masks Not Supported by Date Picker

Oracle Application Express includes a new jQuery based Date Picker. This new date picker does not support the format masks described in Table 1, "Unsupported Date Picker Formats".

Table 1 Unsupported Date Picker Formats

Format Description

DS

Short Date. Returns a value in the short date format and is dependent on local settings.

DL

Long Date. Returns a value in the long date format and is dependent on local settings.

CC

Century

BCC

Century BC prefixed with

SYYY

Year with BC prefixed

IYYYY

ISO year

YEAR

Year spelled out

SYEAR

Years spelled out with BC prefixed

BC

BC/AD indicator

Q

Quarter

RM

Roman month

WW

Week of year 1-52

W

Week of month 1-5

IW

ISO standard week of year

DDTH

Ordinal day

DDSPTH

Spelled out Ordinal

J

Julian Day

TH

Ordinal format

TZD

Abbreviated time zone name

TZH

Time zone Hour displacement

TZM

Time zone Minute displacement

TZR

Time Zone Region


6 Open Bugs and Known Issues

This section describes bugs and known issues for Oracle Application Express. For more current information, see the Oracle Application Express release 4.2 Known Issues page on Oracle Technology Network:

http://www.oracle.com/technetwork/developer-tools/apex/application-express/apex-42-known-issues-1863578.html

Topics:

Tip:

This section is current as of the writing of this document. To view the most current listing of known issues, go to the Known Issues page available off the Downloads page. See:
http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html

6.1 Dynamic Action Refresh Does Not Work for Classic Reports in Mobile Pages

In application pages that use the jQuery Mobile Smartphone User Interface Type, it is not possible to use the Dynamic Action Refresh to refresh classic report regions. The AJAX call will return with an error and the report will not be updated.

This issue is tracked with Oracle bug 14399349.

Workaround:

A possible workaround to consider is to submit the entire page in order to refresh the report (which jQuery Mobile will process as a partial page refresh using its native page transitioning). This obviously won't be as light a request as a true Dynamic Action Refresh and will of course refresh the entire page, but is a possible alternative. How to submit the page depends on how you are refreshing the report:

  • For Dynamic Actions, you can use the Submit Page action, with Show Processing set to No.

  • For Buttons, use the Action When Button Clicked of Submit Page.

  • For some native item types, there is a Page Action When Value Changes setting, which can be set to Submit Page.

Please also note that submitting the page will cause other Page Processing functionality (computations, validations, processes and branches) to be considered for processing, so whether these should or should not fire can be controlled, based on the REQUEST value for the submit.

6.2 Calendars in Mobile Pages Fail to Display an Entry for the Current Date After Navigation

The default behavior when running a calendar page is that the month-grid is rendered, and wherever you have entries, a blue dot is displayed in the month grid. If you tap on a field with a blue dot, the date entry is displayed underneath the month grid. If you happen to run the current month, and there's a date entry for today, then that date entry is shown on load of that page, without you having to tap on today. Now if you navigate forward and backwards, using the Next or Previous buttons, using the default AJAX navigation, the current date entry, if one exists, is not shown on load.

This issue is tracked with Oracle bug 14532665.

Workaround:

After navigation, tap on today to see details of the date entry underneath the month grid.

6.3 Dynamic Actions Do Not Fire on Regions with No Template

When you set a dynamic action to refresh a region where the region template is defined as No Template, the region will not be refreshed. This is due to the fact that No Template does not have a Region Id which is required by Dynamic Actions.

Workaround:

Define a Template, for example "Blank" with the following:

<section id="#REGION_STATIC_ID#" #REGION_ATTRIBUTES#>
  <div>
    #BODY#
  <div>
</section>

6.4 Issues Displaying AnyMap Maps in Chrome 21 and Later

If you experience problems displaying AnyMap maps in Chrome 21, where the region appears blank and no map is visible, try disabling the Pepper-based Flash Player. To disable the Pepper-base Flash Player in Chrome 21:

  1. Launch the Chrome 21 browser.

  2. Type chrome://plugins in search field.

  3. Under the Flash plug-ins list, expand the Details node to the right of the Plug-ins title.

  4. Locate the PEPFLASHPLAYER.dll Shockwave Flash plug-in, and click Disable.

    See Also:

    AnyMap Maps Display problem in Chrome 21 knowledgebase article on the AnyChart website: http://www.anychart.com/supportdesk/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=50

6.5 Problems with SVG Charts

If you experience problems with an SVG chart, try upgrading the chart to a Flash chart.

To upgrade an SVG chart to Flash:

  1. Navigate to the appropriate Page Definition.

  2. Under Regions, click the region name. The region name displays to the left of SVG Chart.

  3. On the Region Definition, click Upgrade SVG Chart to Flash Chart on the Tasks list.

  4. Click Upgrade.

6.6 Problems with Queries Containing a Bind Variable and a String with Two Dashes

Creating a report region based on a query that contains a string with two dashes may hinder the Application Express Engine's ability to handle item bind variable references. Consider the following example:

SELECT ename, job, sal, comm, deptno
FROM   emp
WHERE instr ('-'||'-dash-'||'-','uu') = 0 
AND deptno = :P18_X 
AND 1 = 1 

Workaround:

You can correct this behavior by changing the bind variable format. For example, to correct this issue in the previous example you would change :P18_X to v('P18_X').

6.7 Importing Spreadsheet Data Containing Quotation Marks

If you import spreadsheet data by copying and pasting and a column value contains a double quotation mark, the data will not import correctly (for example, 54" Plasma Flat Screen). To avoid this problem, you have two options:

  • Option 1:

    1. Save the data in a delimited format (such as comma-delimited (.csv) or tab-delimited).

    2. Use Import Text Data wizard to upload and import the saved file.

  • Option 2:

    1. Replace the quotation mark with two double quotation marks as shown in the following example:

      54"" Plasma Flat Screen
      
    2. Use the Import Spreadsheet Data wizard to import the file.

6.8 Runtime Errors in an Application Imported from a Previous Release

If you export an application from an earlier Oracle Application Express release and then import and install it using the installation pages in Application Builder, in rare situations you may encounter runtime errors after the application installs.

These errors often manifest themselves as PL/SQL parser or execution errors pertaining to blocks of PL/SQL code embedded within application components. The installation process sometimes splits strings greater than 200 characters into multiple lines. For example, lines may split between PL/SQL keywords, or at other places that cause parsing errors.

Workaround:

If you encounter these types of errors and suspect the installation process has split large strings:

  1. Isolate the failing component containing the suspect PL/SQL within the application by editing the failing page in Application Builder.

  2. Locate the blocks of code that appear to split incorrectly.

  3. Attempt to split the blocks of code in more appropriate places, or insert white space with the lines until no runtime errors are observed.

  4. Export the application, import the export file, and then reinstall it.

  5. Retain the new export file as a permanent backup copy.

6.9 DBA Authentication Restriction

The following restriction applies to features in Oracle Application Express that require DBA authentication (for example, the Session report on the Database Monitor page). The DBA account used for authentication must not require double-quoting. In other words, it cannot be lower or mixed case.

6.10 Exporter Tool Support for Microsoft Access

When migrating a Microsoft Access application to an Oracle Application Express application, you export your Microsoft Access metadata using the Exporter tool. Note that Exporter Tool for Microsoft Access supports Microsoft Access 97, Microsoft Access 2000, Microsoft Access 2002, Microsoft Access 2003, and Microsoft Access 2007.

6.11 Problem with Brazil Map

There are problems creating a map of Brazil because the region Distrito Federal is not independent of the surrounding state Goias. As a result, any associated data is not displaying correctly on the map.

This issue is tracked with Oracle bug 9725582.

6.12 Issues Displaying Data Point in AnyChart

To display all data points associated with an AnyChart 5 or higher chart, generated in Oracle Application Express release 4.0 or later, each data point must have a unique label. AnyChart 5 does not support the display of data points with duplicate labels, and the occurrence of duplicate labels will result in missing data points on your chart. Ensure that the chart series query returns a result set with a unique label for each data point to be displayed on your chart.

6.13 Themes Not Supporting Custom Calendars

The following themes do not support custom calendars:

  • Theme 8

  • Theme 10

  • Theme 13

  • Theme 14

  • Theme 15

  • Theme 16

  • Theme 18

  • Theme 19

  • Theme 20

  • Theme 24

6.14 Interactive Report Region Hangs When Session Expires

If a session expires after the point when a page containing in interactive report region has been displayed and the user tries to interact with the interactive report, the report hangs and does nothing.

This issue is tracked with Oracle bug 9690335.

6.15 Some Dynamic Action When Condition Types Not Applicable for Certain Events

When defining a dynamic action in When attributes, there is an Event select list containing all the possible events that can trigger the dynamic action. Also in the When attributes is a Condition select list which enables you to define a condition that controls when the dynamic action runs. For the following event types only a condition type of JavaScript Expression works: Before Page Submit, Page Load, Page Unload, and Resize (which hides the Selection Type fields. The other condition types (equal to, is null, and so on) are for events where the Selection Type is defined.

This issue is tracked with Oracle bug 9733317.

6.16 Issues With Deleting Dynamic Actions Having a Region Defined

If you delete a region which is assigned as the affected element to a dynamic action, you are prompted to delete the dynamic action. If that dynamic action also has other actions which are not related to this region, the whole dynamic action is still deleted, rather than just the specific action that references the region.

Workaround:

To avoid the deletion of the entire dynamic action, prior to deleting the region, delete the referencing action from the dynamic action. As a result, the region delete will not pick up that dynamic action as a candidate to delete and the dynamic action will not be deleted.

This issue is tracked with Oracle bug 9615853.

6.17 JavaScript Function Not Working When Setting Multiple Values of a Multiselect List

The JavaScript function $s enables you to set the value or values of both native and plug-in item types in Oracle Application Express. This function does not work for setting more than one value of a multiselect list. A multiselect list is a select list with Allow Multiple Selection set to Yes. Setting single values will work.

This issue is tracked with Oracle bug 9616570.

6.18 Upgrade Error with Websheet Objects

If you see errors prefixed with "Warning: Websheet schema" in the upgrade log, they are specific to a user's Websheet schema. Those schemas may have invalid Websheet objects that caused the Websheet object upgrade to fail. This should not impact the overall upgrade of Oracle Application Express.

6.19 Accessibility Issues

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

  1. Affecting the Application Express Development Environment:

    • Sub-menu drill down icons in the top level navigation menu are not keyboard accessible in IE. This issue is tracked with Oracle bug 12678997.

      Workaround:

      Tab to and activate the top level menu item, then on the subsequent loaded page, navigate to the specific sub-component or use one of the other supported browsers (Firefox, Chrome or Safari).

    • The 'Tree View' used on the 'Page Definition' page is not usable with the keyboard. This issue is tracked with Oracle bug 9773584.

      Workaround:

      This page has an alternative view available called 'Component View', which should be used if using keyboard only. 'Component View' can be enabled by either tabbing to the 'Switch to Component View' button at the top of this page and pressing 'ENTER' or by using the Application Express development environment with screen reader mode enabled.

    • The Code Editor used in a few places hijacks the TAB key in Chrome and Safari. This means that in these browsers a keyboard-only user cannot tab away from the editor. This issue is tracked with Oracle bug 11883419.

      Workaround:

      Use one of our other supported browsers (Internet Explorer or Firefox) where this is not an issue.

    • The 'Request Workspace' confirmation page contains inaccessible 'Captcha' style verification. Users must enter alphanumeric characters displayed in an image on-screen, however, this image has no ALT text by design. This means this is not accessible to screen reader users. This issue is tracked with Oracle bug 11728600.

      Workaround:

      The instance administrator can choose to disable the 'Captcha' style verification.

    • Reports can contain a 'Check All' checkbox in the column header. This checkbox is sometimes missing descriptive text. This issue is tracked with Oracle bug 12612649.

      Workaround:

      Check the individual check boxes on each row for that column.

    • Interactive report regions used throughout the Oracle Application Express development environment do not include a HEADING (H1, H2, etc.) tag containing the region title. This makes it hard for screen reader users to easily identify such regions. This issue is tracked with Oracle bug 9780852.

      Workarounds:

      In order to easily navigate to the content in the interactive report region, go directly to the search field at the top of the interactive report with JAWS by:

      1. Press INSERT + F5 to load the Select a Form Field dialog box.

      2. Press the S key repeatedly until you hear "Search Report Edit".

      3. This is the field at the top of the report. It is usually the first form field beginning with the letter S.

      4. Press ENTER and JAWS takes you to the search field at the top of the interactive report region.

      To further your understanding of what the report contains, switch the report to Report view. When running in Screen Reader Mode, interactive report regions are optimized to run in Report view. To learn more, see "About Screen Reader Mode" section of "Accessibility in Oracle Application Express" Appendix in the Oracle Application Express Application Builder User's Guide.

      To enable Report view for an interactive report region:

      1. Press INSERT + F7 to load the links List dialog box.

      2. Press the V key repeatedly until you hear, "View Report".

      3. Press ENTER to refresh the interactive report.

      4. To get detailed information relating to what data the report contains, press T and JAWS announces detailed information relating to this report.

  2. Affecting the Application Express Websheet Runtime:

    • The top level menus used to navigate around the application and the 'Settings' menu available when editing 'Sections' on a page, do not follow the DHTML Style Guidelines for keyboard support. This issue is tracked with Oracle bug 12691947.

      Workaround:

      They are however accessible via tabbing to the menu and respective menu items. We also provide keyboard shortcuts for menu items available.

  3. Affecting Development Environment, Websheet Runtime and Custom Applications:

    • The 'Rich Text Editor' native item type of Application Express is announced by the screen reader referring the item's name, rather than the label. This issue is tracked with Oracle bug 12702214.

      Workaround:

      Ensure the name given to the item is representative of its functionality and understandable by the end user.

    • For Interactive Report Regions, column aliases containing spaces cause invalid table markup.

      For Interactive Report Regions, if the report query contains column aliases that contain spaces, Application Express will generate ID and HEADERS values that also contain spaces, which is invalid HTML. For IDs, spaces are invalid and for HEADERS, spaces are used to demarcate different HEADERS values. This invalid HTML may result in some Assistive Technologies (for example screen readers) no longer perceiving the association between a cell in a table, and it's column header.

      This issue is tracked with Oracle bug 14025528.

      Workaround:

      The workaround is to not use spaces in any column aliases defined in Interactive Report Region queries. Then the ID and HEADERS values will be generated correctly, and will provide the association required by Assistive Technologies.

6.20 Issues Using Style AquaLight and AquaDark in AnyChart

When using the AquaLight or AquaDark style for 2D Column and Bar Flash charts to represent data ranging from a low value to a high value, shading may appear on top of the lower value, making it appear larger than the value it actually represents.

This issue is tracked with Oracle bug 13898096.

Workaround:

If you encounter this type of behavior when using the AquaLight or AquaDark style, edit the Chart Attributes and change the Style setting to one of the following:

  • Silver

  • Default

6.21 File Upload Has No Effect for Some Application Pages

In application pages that use the jQuery Mobile Smartphone User Interface Type and the page item type "File Upload...", uploading a file will have no effect.

This issue is tracked with Oracle bug 14651423.

Workaround:

Instruct jQuery Mobile to submit the page and not use an AJAX call.

  1. Edit Page Attributes

  2. Go to region "JavaScript" and enter into the attribute "Execute when Page Loads":

    $("#wwvFlowForm", apex.gPageContext$).attr("data-ajax", false);
    

    Note:

    This disables the visual page transition effect.

6.22 Query Editor in Access Migration Project Not Functioning Correctly

The Query Editor page in an Access Migration project is not functioning correctly due to an invalid CSS file reference in the page template.

This issue is tracked with Oracle bug 14683230.

Workaround:

Navigate to SQL Workshop and then to Object Browser, to edit or create an Oracle view associated with an Access Migration Project.

7 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 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.

Accessibility of Code Examples in Documentation

Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.

Accessibility of Links to External Web Sites in Documentation

This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites.


Oracle Application Express Release Notes, Release 4.2 for Oracle Database 12c

E17957-06

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

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, 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 on 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. 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.