Monday, August 20, 2007

MO: Operating Unit not set....

This morning I was asked to look at a EBS login problem.

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',, 'SITE');
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.


Tuesday, August 07, 2007

Oracle Database 10g: Administration I (1z0-042)

Today I passed the 1z0-042 exam, Oracle Database 10g: Administration I.
One step closer to OCP EBS Dba...

The next exam will be Oracle Database 10g: Administration II, the final one to become a OCP Dba 10g. Offcourse, there is also the hands on after both exams, but first I will try to pass the OCP exam.

After preparing for the OCA exam, it's now time for a holiday. I will be gone for a week, visiting France..