X

The Latest Technology Stack News Directly from EBS Development

New Table Features in EBS 12.2.4

I discussed the new skin in Oracle E-Business Suite Release 12.2.4 in my previous post.  Now I'll give you a quick tour of the new user interface enhancements in tables and hierarchical grids (a special type of table that lets you expand and collapse rows, also known as HGrids).

Our new table enhancements provide a much more interactive experience for tables. Customers have been requesting these enhancements for a long time:

  • Reordering columns
  • Resizing columns
  • Hiding and showing columns
  • Detaching tables from the base page (except HGrids)
  • Scroll horizontally if the contents of a table exceeds the browser width
  • Refresh a table by querying for the latest records
  • Reset a table back to its original definition

When reordering, hiding, and resizing columns, the changes are specific to each user and will persist until the user changes them again.

These features are available on:

  • Desktop versions of OA Framework-based pages
  • iPads running Safari
  • Android tablets running Chrome

Prerequisites

You must have the following profile options set in EBS 12.2.4:  

  • Oracle Applications Look and Feel profile option to "Skyros Look and Feel"
  • FND: Enable Rich Table Interactions profile option to "True"

Icons in the Table Button Bar

The table button bar contains the following new icons:
  1. Detach Table
  2. Refresh Data
  3. Reset Table Settings
  4. Table Settings

Table button bar with new icons: Detach Table, Refresh Data, Reset Table Settings, and Table Settings

The Table Settings icon allows reordering and hiding or showing of columns. If one or more of these icons is not present, that feature is not available for that table. 

Reordering columns

You can reorder table columns two different ways.  The quick way is to simply drag a column to a new position in the table, either with the mouse (on the desktop) or a finger (on a tablet). Drag the column from within the column header.

Moving a table column by dragging

 

Alternatively, you can select the Table Settings icon and click or tap on the Up or Down arrows to move the column in the popup menu.  Click anywhere outside the menu to get back to the page.

Table button bar with new icons: Detach Table, Refresh Data, Reset Table Settings, and Table Settings

Resizing columns

To resize a column on the desktop, click and hold the cursor near the ending edge of the column in the table header row until the resize icon appears.  Drag the resize icon to the column size you want.

 

Resizing a column on desktop (showing resize icon)

To resize a column on the iPad, touch and hold near the ending edge of the column in the table header row. No resize icon appears, though for an iPad you will see the magnifier. Once the magnifier appears, drag to the column size you want.

Resizing a column on an iPad (showing magnifier)

Hiding and showing columns

To hide a column, hover with the mouse or  touch and hold until you see the Hide icon (minus sign in a blue circle) on the top of the column header, then click or tap the Hide icon.

Hide column using "minus" icon at top of column header

 

Alternatively, you can use the Table Settings menu to hide a column by clicking or tapping on the check mark for that column.

To show the hidden column again, click or tap the Table Settings icon.  In the popup menu you will see the column name with an empty space in front of it (instead of a check or tick mark).  Click or tap the empty space to display the check mark, then click or tap outside the menu to see the column appear again.

Click on empty space in Table Settings menu to show column

Detaching tables

Detaching tables from the base page allows you to see just one table in a popup window that sits over the page.  This feature provides two main advantages:

  • You can see a single table without other parts of the page in the way.
  • You can see additional rows of the table at once (more than the usual 10 or fewer).

Detach a table by clicking or tapping the Detach Table icon.

View of a detached table

 

To close the modal window, click the Detach Table icon again or click the X in the upper corner of the modal window.

Reset Table Settings

Now that I have done usability testing and over a hundred demos of these new features, my personal favorite feature is the "Reset Table Settings" button!  This button resets the table layout back to the default table layout.  If a table has been personalized by an administrator, that layout is the default layout.  Otherwise, the default layout is the shipped arrangement.

Using rich table features on a tablet

We also have some extra gesture support for tablets to make using OA Framework-based pages more intuitive for tablet users. For example, when you use a tablet, tables and buttons have more vertical spacing so they are easier to use with fingers.  In addition, you can swipe down on a table to see the next set of records, or swipe upwards to see the previous set.  For a multi-step process that uses a train widget, you can swipe right or swipe left on the page to get to the next or previous step in the process.

View of a train widget

Accessibility Mode

These new capabilities are affected by a user preference called Accessibility Mode.  If the accessibility mode is set to Screen Reader Optimized or Standard Accessibility, you cannot reorder, resize, or hide a column from within the column header; you must use the Table Settings menu instead.  You set the accessibility mode in the Preferences page (see more about the Preferences page in my last post).

Accessibility Mode list of values in Preferences page

More to come!

We are already working on further table-related and other user interface features for future releases on the EBS 12.2 code line. 

We hope you like the new table-related features!

Related Articles

Join the discussion

Comments ( 25 )
  • guest Thursday, October 9, 2014

    Hi Sara,

    Thanks for the information about the new skin and UI features for EBS 12.2.4. In EBS 12.2.4, is this new skin and rich table interaction available for all existing OA framework-based pages in EBS or is it only for OA framework-based pages that have been specifically developed with the new UI skin?

    Looking forward to a response.

    Regards,

    Rajib


  • Dawna Roberts Friday, October 10, 2014

    Hi Sara,

    As I mentioned in a prior post comment we are currently in the process of upgrading from 11.5.10.2 to 12.2.4. I was just asked today to get more information on the new table functionality in 12.2.4.

    On some of the OAF pages we would like to be able to be able to change the seeded table - re-order/re-size/hide columns - and be able to make this the default table view for the OAF page. Is this something that can be done by an end-user or would it require more technical expertise such as OAF personalization or OAF personalization + JDeveloper?

    Thanks, Dawna


  • Sara Woodhull Friday, October 10, 2014

    Hi Rajib,

    One of the great things about OA Framework is that most of its new features automatically take effect for any OA Framework-based pages! So the new skin, the new global header, and the new table features automatically take effect for _all_ OA Framework-based pages. There are a few caveats:

    1) Standards, standards, standards! If you have followed our development standards carefully for your custom code, most of these enhancements will simply work after you upgrade.

    2) If you have a custom link in the global header, it will still work, but it will show up as a text link until you get an icon of your own and associate it with your custom link.

    3) Dialog pages are now modal windows, so they do not go to a separate page. If you have navigation FROM the dialog page (responses to the message), you may have to change it.

    4) If tables or table columns are programmatically created using code, instead of creating them declaratively, the user personalization features (such as reordering or resizing columns) will not be available for those tables. This is because there is no metadata stored for them in the MDS tables, so we do not have the information we need to store the personalizations. If personalization features are not available for a given table, the user simply will not see the icons for those features.

    5) HTML5 is more picky about structure and standards, especially for table structures. You may need to fix custom tables if you put a bean in the wrong place.

    As with any upgrade, it's still a good idea to test all your custom pages and code after upgrading, of course. :-)

    Thanks,

    Sara


  • Sara Woodhull Friday, October 10, 2014

    Hi Dawna,

    The new table personalization features in my blog post above are for individual end users. To change the tables for ALL users at once would be an OA Framework administrator personalization (just like previous versions), and then the individual user could further change what you seed using the new features. So for example, an administrator could reorder or hide columns your site will never use for your business, and then an end user could hide or reorder additional columns for her own convenience in looking at the data.

    I hope your upgrade process is going well!

    Thanks,

    Sara


  • Rajib Rath Monday, October 13, 2014

    Hi Sara,

    Thanks for the detailed response. My question was primarily about out-of-the-box OA framework pages in the various EBS applications. From your response I understand that the new features automatically take effect for any seeded EBS OA Framework-based pages. This will offer a major user experience improvement to our customers who are already using these pages in EBS.

    Thanks and regards,

    Rajib


  • guest Monday, November 10, 2014

    Hi Steven, Is there a list of known problems with using IE11 on 12.2.4? I see 12.2.3 is certified but not 12.2.4. Thanks for the help.


  • Steven Chan Monday, November 10, 2014

    Hi, Guest,

    IE 11 is not certified with EBS 12.2.x yet. This certification is underway now.

    Oracle's Revenue Recognition rules prohibit us from discussing certification and release dates, but you're welcome to monitor or subscribe to this blog. I'll post updates here as soon as soon as they're available.

    Regards,

    Steven


  • guest Tuesday, November 11, 2014

    Hi Sara,

    We upgraded to 12.2.4 from 12.2.3 and the initial feedback on the UI has been very positive. The ability to allow users to re-order and re-size column is a big hit. However, what we are fidning is not all tables allow users the option to re-order columns. For example, tables in the OLM pages allow re-sizing and re-ordering but tables in Oracle Project Management do not. The two pre-requisite profile options mentioned in the post are set at the site level. The profile "Oracle Applications Look and Feel" is also set to "Skyros" at the site level.

    Do you have information as to what the standard functionality is - can all tables in the OA Framework be modified (columns rezised, re-ordered) regardless of module? Or are there any additional steps to enable table properties for the Project Management application?

    Thanks.

    Maneet


  • Sara Woodhull Wednesday, November 19, 2014

    Hi Maneet,

    Thanks for the feedback, and I'm glad to hear that you have already upgraded to Release 12.2.4!

    You have probably already noticed that when the table personalization features are available, the table personalization icons appear in the table button bar. When the features are not available, the icons do not appear. Here is why:

    Resizing and reordering table columns is a personalization feature. Like other personalization features in OA Framework, it relies on being able to store a personalization document with the personalization changes. Where a table has been built completely declaratively using OA Framework, we have all the information we need to store the personalizations. Where tables or columns are being created dynamically at runtime in product code, we do not have the information we need to store information about the difference between the original table and the personalizations.

    For more details, please see: "Oracle Application Framework Developer's Guide" (Doc ID 1315485.1) > Release 12.2.4, (Doc ID 1676216.1) > Chapter 4: Implementing Specific UI Features > Rich Interactions > Tables That Do Not Support Rich Interactions

    Thanks,

    Sara


  • Ali-EBSDBA Tuesday, November 25, 2014

    Hi,

    We have gone live few days back with R12.2.4 on production. The weird thing we see is in the notification e-mail we see the "Table Settings" listing the columns before we click. By default we get a e-mail with settings already clicked. As it shows the columns it is hiding the main message in the e-mail client. If i click on settings button the window still remains.

    In the outlook also the same problem exists.

    Can i disable this in notifications. Or even better how can we make users see this as normal (what we see in oracle applications) in e-mail notifications?

    Thanks

    Ali


  • Steven Chan Tuesday, November 25, 2014

    Hello, Ali,

    Congratulations on your 12.2.4 rollout!

    I'm sorry to hear that you've encountered an issue with this.

    We'd like to help with this. Can you log an SR and send me the SR number?

    Regards,

    Steven


  • Manohar Baddam Tuesday, February 24, 2015

    Here is good article on disabling rich table features in 12.2.4 on workflow emails

    -----------------------------------------------------------------------------

    Framework Workflow Email Formats Not Readable in 12.2 Using FND: Enable Rich Table Interactions True (Doc ID 1961144.1)

    All notifications will have 12.1.3 look and feel without rich table features.

    Regards,

    Manohar


  • guest Thursday, April 30, 2015

    We have Oracle 12.2.4 and the PO email notifications sent to vendors have this

    detached table drop down.

    Is their any profile option or setup that we can do to HIDE or ERASE out this detached table completely in these email communications only?

    Thanks

    Neetu


  • Sara Woodhull Friday, May 1, 2015

    Hi Neetu,

    I'm glad to hear you are on 12.2.4!

    Unfortunately we do not have a profile option to disable the detachable table in email notifications.

    Thanks,

    Sara


  • Bima Monday, June 29, 2015

    I'm here using the 11 version

    I wanna ask why on 12.2.4 they use # in the end of the table

    Thanks

    Bima


  • Sara Woodhull Monday, June 29, 2015

    Hi Bima,

    Sorry, I don't know what # you are referring to. Please send me an email directly (sara dot woodhull at oracle dot com) with a screenshot.

    Thanks,

    Sara


  • guest Tuesday, August 4, 2015

    Hi -

    We are in the process of upgrading from 11i to 12.2.4 and I'm wondering what the intended functionality for the refresh button is. Also, is there a way to hide the refresh button?

    Thanks,

    Joann


  • Sara Woodhull Tuesday, August 4, 2015

    Hi Joann,

    I assume you mean the Refresh Data button next to the Detach Table button. Some underlying data changes quickly as other users make changes to it (orders, for example). If you are looking at the table for a while, the underlying data may have changed, but you won't see those changes unless you click Refresh Data to requery the data.

    You can hide the button by turning off all the rich table interaction features using the "FND: Enable Rich Table Interactions" profile option set to False. However, I don't recommend that because you will lose the other table features as well!

    In practice, users will probably find that it effectively doesn't do anything for many tables where the underlying data doesn't change quickly, while the Refresh Data button is absolutely essential for some users on some tables.

    Hope that helps.

    Thanks,

    Sara


  • Wim vd Veer Tuesday, January 12, 2016

    Hello Sara,

    We are having a problem to add new fields to the table settings in R12.2.4. , and for this reason I have created a discussion in Oracle My Support which unfortunately has not been answered yet. Please have a look at my post at the below link

    R12.2.4 Unable to add new field to table settings when creating a new view

    https://community.oracle.com/thread/3876805#13591525

    Until R12.1.3 we could create our own personalized view by click on the button personalize and add all the columns to the view we wanted. However I we try to do the same it is no longer working in R12.2.4 anymore, because some columns in the created new view are not displayed because they are not appearing the LOV of the icon for the table setting. But when it does, for some fields, it works well.

    Any idea how we can accomplish they same in R12.2.4.

    Thanks and regards,

    Wim


  • Steven Chan Tuesday, January 12, 2016

    Hello, Wim,

    I'm sorry that you're encountering issues with this.

    Can you forward your Service Request number for this issue? We'd like to get this straightened out.

    Regards,

    Steven


  • Wim vd Veer Wednesday, January 13, 2016

    Hello Steven,

    Thanks a lot for your response, and I have raised the below Service Request;

    SR 3-12007701091 : R12.2.4 Unable to add new field to table settings when creating a new view

    Regards,

    Wim


  • Steven Chan Wednesday, January 13, 2016

    Hello, Wim,

    Glad that you've filed an SR. Please monitor it for updates. You're welcome to drop me an email if it gets stuck for some reason.

    Regards,

    Steven


  • Wim van der Veer Monday, January 18, 2016

    Hello Steven,

    The issue has been resolved. It seems that when you add an additional column to the existing view, you need to verify if the column has the status rendered set to TRUE through HMTL Presonalization.

    I have added the note with the solution below, just in case somebody else is facing the same issue;

    - Account Analysis And Drilldown Personalize View Not Applying Changes (Doc ID 2060134.1)

    Regards,

    Wim


  • guest Friday, January 22, 2016

    Hi,

    I am working on EBS 12.2.4. Recently migrated from 12.1.3. The below issue has problem only in EBS 12.2.4

    I have problem with LOV. I have a LOV where I search for the employee Name attached to VO. If I enter the employee name full, it works. But, if I enter'%' or partial text and tab out, getting the NullPointerException. The stacktrace below. Please advice

    oracle.apps.fnd.framework.OAException: java.lang.NullPointerException at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:912) at oracle.apps.fnd.framework.webui.OAPageErrorHandler.prepareException(OAPageErrorHandler.java:1169) at oracle.apps.fnd.framework.webui.OAPageErrorHandler.processErrors(OAPageErrorHandler.java:1435) at oracle.apps.fnd.framework.webui.OAPageBean.processFormData(OAPageBean.java:3049) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1917) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:571) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:459) at _pages.__oa._jspService(__oa.java:233) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.apps.fnd.security.WLFilter.doFilter(WLFilter.java:213) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.apps.jtf.cabo.interceptor.JTFWrapperFilter.doFilter(JTFWrapperFilter.java:141) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(Unknown Source) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:432) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3748) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3714) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2283) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2182) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) ## Detail 0 ## java.lang.NullPointerException at oracle.apps.fnd.framework.webui.OAMessageLovInputHelper.isValidResultItems(OAMessageLovInputHelper.java:3908) at oracle.apps.fnd.framework.webui.OAMessageLovInputHelper.handleValidateEventPrivate(OAMessageLovInputHelper.java:1481) at oracle.apps.fnd.framework.webui.OAMessageLovInputHelper.handleValidateEvent(OAMessageLovInputHelper.java:2814) at oracle.apps.fnd.framework.webui.LovUtils.handleLovValidate(LovUtils.java:291) at oracle.apps.fnd.framework.webui.LovUtils.handleLovEventInPFD(LovUtils.java:181) at oracle.apps.fnd.framework.webui.OAPageBean.processFormData(OAPageBean.java:3025) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:1917) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:571) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:459) at _pages.__oa._jspService(__oa.java:233) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.apps.fnd.security.WLFilter.doFilter(WLFilter.java:213) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.apps.jtf.cabo.interceptor.JTFWrapperFilter.doFilter(JTFWrapperFilter.java:141) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.apps.jtf.base.session.ReleaseResFilter.doFilter(Unknown Source) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.apps.fnd.security.AppsServletFilter.doFilter(AppsServletFilter.java:432) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:60) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3748) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3714) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2283) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2182) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:263) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)


  • Steven Chan Friday, January 22, 2016

    Hello, Guest,

    I'm sorry to hear that you've encountered an issue with this.

    We can provide general conceptual guidance here, but I'm afraid that this blog isn't the best place to get technical support for specific issues like the one that you're working through.

    Your best bet would be to log a formal Service Request via My Oracle Support (formerly Metalink) to get one of our specialists engaged.

    Regards,

    Steven


Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha
Oracle

Integrated Cloud Applications & Platform Services