Showing posts with label discoverer. Show all posts
Showing posts with label discoverer. Show all posts

Friday, September 11, 2009

Discoverer with EBS R12 - Sheet contains no data for custom Oracle eBusiness Suite Responsibility

So you're working with Discoverer 10g integrated with the Oracle eBusiness Suite on Release 12. You've installed and set everything up per Metalink/MOS Note 373634.1 "Using Discoverer 10.1.2 with Oracle E-Business Suite Release 12" plus created a custom application and responsibility to have it's own menu items corresponding to your Discoverer Workbooks/Worksheets.

You login to your new responsibility and click on your new menu entry that you created per Metalink/MOS Note "How to Create a Link to a Discoverer Workbook in Apps R12" and what do you get when you query subledger data such as Payables Invoices, or secured General Ledger data?

This sheet currently contains no data.

Well, its a quick fix. Simply save the following value in the "Initialization SQL Statement - Custom" profile option at Responsibility level for your new Responsibility.

begin gl_security_pkg.init; mo_global.init('M'); end;

Note: this may depend on your setup of the following profile options:

  • GL Ledger Name
  • GL: Data Access Set
  • MO: Operating Unit
  • MO: Security Profile

All sorted!

References

Related Posts

Monday, November 17, 2008

Discoverer Plus 10g: contact with Server lost: DiscoApplet Error DiscoNetworkException CORBA.COMM_FAILURE. ICX Territory!

An interesting one today; a Discoverer Plus Workbook called via an eBusiness Suite Menu errored out with:

OracleBI Discoverer: "Contact with the Discoverer Server has been lost. To continue your work, please restart Discoverer Plus. If this problem persists, please contact your Oracle Application Server administrator."

Doh! Who's that Application Server administrator ... oh! me :-(

Attempting to expand the workbook, after going directly into Discoverer Plus errors with:

"This workbook cannot be expanded".

 

Hmm, okay, let's look at the Java Console:

Reading bytes from input stream
   Unmarshalling response
   Session ID:2008111408252618857
   BI Beans Graph version [3.2.3.0.37]
   DiscoApplet[0]: Error received by GlobalStatusListener.workerFailed() in SessionUI.java
   DiscoNetworkException  - Nested exception: org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 208 completed: Maybe
   DiscoNetworkException  - Nested exception: org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 208 completed: Maybe
   org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 208 completed: Maybe
 at com.sun.corba.se.internal.iiop.IIOPConnection.purge_calls(IIOPConnection.java:438)
 at com.sun.corba.se.internal.iiop.ReaderThread.run(ReaderThread.java:70)
 at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
 at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
 at sun.rmi.server.UnicastRef.invoke(Unknown Source)
 at oracle.disco.remote.rmi.serverbase.RMISessionBase_Stub.sendRecieveData(Unknown Source)
 at oracle.disco.model.corbaserver.ModelInterface.sendRecieveData(Unknown Source)
 at oracle.disco.model.corbaserver.ModelInterface.SendReceiveData(Unknown Source)
 at oracle.disco.model.corbaserver.serverrequest.DsrOpenWorkbook.xmlUpdateServer(Unknown Source)
 at oracle.disco.model.corbaserver.serverrequest.DsrCorbaXML.corbaUpdateServer(Unknown Source)
 at oracle.disco.model.corbaserver.serverrequest.DsrGeneralCorbaXML.updateServer(Unknown Source)
 

Ouch! Sounds like it hurts!

A quick blast through Metalink (oops MOS - My Oracle Support) and a bunch of old bugs later, not looking promising, however there's one major clue - the problem is only occurring for some Users. Okay, lets do a side by side comparison of Profile Options as a first guess:

User Level Profile Option Value Comparison Side by Side

select *
   from (
 with
 prof_di as
 ( select 'USER' level_name, 
 fu.user_name level_value, 
 fpo.profile_option_id,
 fpot.user_profile_option_name,
 fpo.profile_option_name,
 fpov.profile_option_value
 from   fnd_user fu, 
 fnd_profile_options fpo,
 fnd_profile_option_values fpov,
 fnd_profile_options_tl fpot
 where  fu.user_id = fpov.level_value
 and    fpo.profile_option_id = fpov.profile_option_id
 and    fpo.profile_option_name = fpot.profile_option_name
 and    fpot.language = 'US'
 and    fpov.level_id = 10004
 and    fu.user_name = 'SYSADMIN'
 ),
 prof_gr as
 (
 select 'USER' level_name, 
 fu.user_name level_value, 
 fpo.profile_option_id,
 fpot.user_profile_option_name,
 fpo.profile_option_name,
 fpov.profile_option_value
 from   fnd_user fu, 
 fnd_profile_options fpo,
 fnd_profile_option_values fpov,
 fnd_profile_options_tl fpot
 where  fu.user_id = fpov.level_value
 and    fpo.profile_option_id = fpov.profile_option_id
 and    fpo.profile_option_name = fpot.profile_option_name
 and    fpot.language = 'US'
 and    fpov.level_id = 10004
 and    fu.user_name = 'ROBERTSG'
 )
 select pd.profile_option_id
 ,      pd.user_profile_option_name
 ,      pd.profile_option_name
 ,      pd.profile_option_value d_value
 ,      pg.profile_option_value g_value
 ,      decode(pd.profile_option_value,pg.profile_option_value,'EQUAL','DIFF') status
 from   prof_di pd
 ,      prof_gr pg
 where  pd.profile_option_name = pg.profile_option_name (+)
 union
 select pg.profile_option_id
 ,      pg.user_profile_option_name
 ,      pg.profile_option_name
 ,      pd.profile_option_value d_value
 ,      pg.profile_option_value g_value
 ,      decode(pg.profile_option_value,pd.profile_option_value,'EQUAL','DIFF') status
 from   prof_di pd
 ,      prof_gr pg
 where  pg.profile_option_name = pd.profile_option_name (+)
 )
 where status != 'EQUAL';  

The query gets output that includes the following:

USER_PROFILE_OPTION_NAME PROFILE_OPTION_NAME D_VALUE     G_VALUE STATUS
------------------------ ------------------- ----------- ------- ------
ICX: Territory ICX_TERRITORY NEW ZEALAND AMERICA DIFF

Whenever I see anything related to "NLS_LANG" or "Territory" the alarm bells start ringing, and sure enough - for the problem User, just a quick navigate to the "Preferences" responsibility, General Preferences and change the Territory from New Zealand to United States and we're off and laughing again! Alternatively could have looked at the ICX: Territory profile option.

 

What was the real underlying problem? My guess is a clash on date formats for default parameter values ... but that's left for another day.

 

Thursday, August 14, 2008

Discoverer Plus window not appearing or Jinitiator JVM conflicts on the Oracle eBusiness Suite: Java JRE EnableSecureStaticVersioning

If you find that Discoverer Plus won't start (or the Discoverer Plus windows doesn't appear) after downloading the Java Applet, or if you're having issues with JInitiator with Oracle Applications, then it could be that you have multiple versions of Java required. For your Oracle Discoverer Plus, Oracle JInitiator Java Plugin (JVM), or other Java based software multiple versions of Java can cause conflicts, so try the following steps. Actually I'd recommend any rollout of the Disco Plus or EBS client include the below steps!

1. Allow multiple concurrent versions of Java to run by enabling Secure Static Versioning.

Update or Create the following Windows registry entry on your desktop client as follows;

1.1 If the 'Java Deployment' and 'Policy' folders do not exist under your HKEY LOCAL MACHINE -> SOFTWARE -> JavaSoft entry in your registry you will first need to create these folders as follows;
1.2 Right mouse click on the JavaSoft folder in your registry and from the menu select 'New -> Key'. Name the new folder 'Java Deployment'. Open this folder and create another folder named 'Policy' underneath it, then follow the rest of the steps below.
1.3 Go to 'HKEY LOCAL MACHINE -> SOFTWARE -> JavaSoft -> Java Deployment -> Policy' in your Windows registry
1.4 Right mouse click on the Policy folder and from the menu select 'New -> DWORD Value'
1.5 Right click on the newly created value and rename it to - 'EnableSecureStaticVersioning'
1.6 The Data value should remain at the default of '0x00000000 (0)'

2. Switch off automatic updates of Java.

It is advisable to turn off the automatic upgrade facility for the desktop client JRE. This will ensure that newer versions of the JRE plug-in are not installed, and used with Oracle E-Business Suite / Oracle Discoverer unknowingly. This feature can be turned off as follows;

2.1 From the 'Start Menu', select 'ControlPanel'
2.2 Double click the 'Java' icon
2.3 Select the 'Update' tab
2.4 Uncheck the 'Check for Updates Automatically' box
2.5 Click the 'Never Check' button on the 'Java Update -Warning' pop up window
2.6 Click 'OK' to close the 'Java Control Panel'

If you are getting crashes that refer to jvm.dll see my other popular post on JVM crashes.

References: