ORA-1801 Intermittently in OA Pages

  • From: "Zydek, Steven" <steven.zydek@xxxxxxxxxxxxx>
  • To: "ora-apps-dba@xxxxxxxxxxxxx" <ora-apps-dba@xxxxxxxxxxxxx>
  • Date: Tue, 3 Jul 2007 08:28:48 -0500

I've gone around and around w/Oracle support about this issue we're having 
where occasionally we receive a JBO-27122/ORA-1801 error regarding "format is 
too long for internal buffer " (see below) on certain OA pages: Payslip, 
Vacation Accrual and Appraisal pages. I've been trying to figure it out for a 
couple months now to no avail!! I even had support suggest that we change the 
'ICX: Date Format Mask' from DD-MON-YYYY to DD-MM-YYYY at the site level -- 
they thought this would do the trick and we didn't see the issue again for a 
couple weeks, but lo and behold a few days ago it cropped up again...

I think I can get around the issue by flushing the shared_pool, but I don't 
think this is good practice during normal working hours. We're running 
11.5.10.2 on HPUX 11.11 with 10.2.0.2 RDBMS. This issue is sporadic and can't 
be re-produced on demand or re-created in test/dev. Any help would be much 
appreciated!!

Thanks,
+Steve

Our error message looks like the following:

oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: JBO-27122: 
SQL error during statement preparation. Statement: SELECT * FROM (select 
effective_date||' - '||
pay_us_employee_payslip_web.get_meaning_payslip_label(:1||'', 'JOB')||' '||
action_information14||' - '||
pay_us_employee_payslip_web.get_meaning_payslip_label(:2||'','CHECK')||' '||
check_count payslip_choice,
action_context_id,
person_id,
effective_date
from pay_emp_payslip_action_info_v
where person_id = :3
and effective_date >= to_date(:4 ,'YYYY/MM/DD')) QRSLT WHERE 
(pay_us_employee_payslip_web.get_term_info( 0,person_id,action_context_id) = 
'Y') ORDER BY effective_date desc
oracle.apps.fnd.framework.OAException: oracle.jbo.SQLStmtException: JBO-27122: 
SQL error during statement preparation. Statement: SELECT * FROM (select 
effective_date||' - '||
pay_us_employee_payslip_web.get_meaning_payslip_label(:1||'', 'JOB')||' '||
action_information14||' - '||
pay_us_employee_payslip_web.get_meaning_payslip_label(:2||'','CHECK')||' '||
check_count payslip_choice,
action_context_id,
person_id,
effective_date
from pay_emp_payslip_action_info_v
where person_id = :3
and effective_date >= to_date(:4 ,'YYYY/MM/DD')) QRSLT WHERE 
(pay_us_employee_payslip_web.get_term_info( 0,person_id,action_context_id) = 
'Y') ORDER BY effective_date desc
at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:891)
at 
oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:597)
at 
oracle.apps.fnd.framework.webui.OAWebBeanContainerHelper.processRequest(OAWebBeanContainerHelper.java:247)
at 
oracle.apps.fnd.framework.webui.beans.layout.OAStackLayoutBean.processRequest(OAStackLayoutBean.java:350)
...
java.sql.SQLException: ORA-01801: date format is too long for internal buffer

Other related posts: