APEX Interactive Report raising javascript error
I recently was working on an application in APEX 4.2.1.00.08, where the application had several pages with Interactive Reports.
On all these pages, the IR worked fine – except for one crucial page, where the IR’s action menu didn’t work (Select Columns, for example, showed a little circle instead of the expected shuttle region; all the column headings menus would freeze the page; and other issues).
In Console I could see the following errors get raised (depending on which IR widget I tried):
Uncaught SyntaxError: Unexpected token ) desktop_all.min.js?v=4.2.1.00.08:14 $u_evaldesktop_all.min.js?v=4.2.1.00.08:14 _Return widget.interactiveReport.min.js?v=4.2.1.00.08:1 b.onreadystatechange desktop_all.min.js?v=4.2.1.00.08:15
Uncaught TypeError: Object #<error> has no method 'cloneNode' desktop_all.min.js?v=4.2.1.00.08:14 dhtml_ShuttleObject desktop_all.min.js?v=4.2.1.00.08:14 _Return widget.interactiveReport.min.js?v=4.2.1.00.08:1 b.onreadystatechange desktop_all.min.js?v=4.2.1.00.08:15
Uncaught TypeError: Cannot read property 'undefined' of undefined widget.interactiveReport.min.js?v=4.2.1.00.08:1 dialog.column_check widget.interactiveReport.min.js?v=4.2.1.00.08:1 _Return widget.interactiveReport.min.js?v=4.2.1.00.08:1 b.onreadystatechange desktop_all.min.js?v=4.2.1.00.08:15
After a lot of head scratching and some investigative work from the resident javascript guru (“it looks like ajax is not getting the expected results from the server”), I found the following:
http://forums.oracle.com/message/10496937
The one thing in common was that my IR also had a Display Condition on it. In my case, the condition was based on an application item, not REQUEST. I removed the condition, and the problem went away.
I’ve tried to make a reproducible test case with a fresh application, but unfortunately with no success – which means I haven’t yet isolated the actual cause of the issue. A PL/SQL condition like “1=1” doesn’t reproduce the problem. If I have a PL/SQL Expression like “:P1_SHOW = ‘Y'”, or a Value of Item / Column in Expression 1 = Expression 2 with a similar effect, the problem is reproduced – but only in this application.
As a workaround I’ve used a Dynamic Action to hide the IR on page load if required.
Scott
2 July 2014 - 4:24 pm
Today I had a similar JavaScript message – it was relating to me setting a page item to submit (in the query) an item that had session state protection. Too may waaaay to long to find.