The customer received the following error when logging in :
oracle.apps.fnd.framework.OAException: Application: FND, Message Name: SQL_PLSQL_ERROR. Tokens: ROUTINE = AppsConnectionManager.appsInitialize(int,int,int,int,Connection):-1,-1,-1,0,oracle.jdbc.driver.OracleConnection@1d12d84; REASON = java.sql.SQLException: ORA-20001: Oracle error -20001: ORA-20001: FND-ORG_ID PROFILE CANNOT READ: N, OPTION, MO: Operating Unit has been detected in FND_GLOBAL.INITIALIZE.ORA-06512: at "APPS.APP_EXCEPTION", line 70ORA-06512: at "APPS.FND_GLOBAL", line 64ORA-06512: at "APPS.FND_GLOBAL", line 1028ORA-06512: at "APPS.FND_GLOBAL", line 541ORA-06512: at line 1; ERRNO = 20001; (Could not lookup message because there is no database connection) at oracle.apps.fnd.framework.server.OAExceptionUtils.processAOLJErrorStack(OAExceptionUtils.java:988) at oracle.apps.fnd.framework.OACommonUtils.processAOLJErrorStack(OACommonUtils.java:866) at oracle.apps.fnd.framework.webui.OAPageBean.validateUser(OAPageBean.java:4572) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:687) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:497) at oracle.apps.fnd.framework.webui.OAPageBean.preparePage(OAPageBean.java:418) at _oa__html._OA._jspService(_OA.java:88) at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119) at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417) at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267) at oracle.jsp.JspServlet.internalService(JspServlet.java:186) at oracle.jsp.JspServlet.service(JspServlet.java:156) at javax.servlet.http.HttpServlet.service(HttpServlet.java:588) at org.apache.jserv.JServConnection.processRequest(JServConnection.java:456) at org.apache.jserv.JServConnection.run(JServConnection.java:294) at java.lang.Thread.run(Thread.java:534)
So it seems the profile option 'MO:Operating Unit' is not set, or is set with a wrong value.
I decided to query the fnd_profile_option_values table and check how the profile was set. The query did not produce any rows, so the profile option is empty ??
Anyway, a colleague of mine showed me a sql script to restore the old value of the profile option.
DECLARE
stat boolean;
BEGIN
dbms_output.disable;
dbms_output.enable(100000);
stat := FND_PROFILE.SAVE('ORG_ID',
IF stat THEN
dbms_output.put_line( 'Stat = TRUE - profile updated' );
ELSE
dbms_output.put_line( 'Stat = FALSE - profile NOT updated' );
END IF;
commit;
END;
The script did put a value for the MO:Operating Unit in the fnd_profile_option_values table. After bouncing Apache, the problem was solved.
3 comments:
Hi Bas,
This is the note 400840.1
Note that you must first find out the correct value of the org_id, in order to specify it as an argument to the fnd_profile.save procedure.
Pascal
HI,
I met same proble as you yesterday.
check :
select * from FND_PROFILE_OPTION_VALUES where PROFILE_OPTION_ID = 1991 and APPLICATION_ID =0 and level_id = 10001
if you have 2 EBS, check another's data.
related metalink 3539019.1
samantha
Great post.Very good explanation.
Online Java Training From India |Java Training in Chennai |Java Training Institutes in Chennai
Post a Comment