We are experiencing an intermittent problem where the workflow for a Purchase Requisition errors with the following error:-
An Error occurred in the following Workflow.
Item Type = REQAPPRV
Item Key = 30645552-99305
User Key =
Error Name = -20001
Error Message = ORA-20001: Oracle error -20001: ORA-20001: Oracle error -2074: ORA-02074: cannot SET NLS in a distributed transaction
has been detected in fnd_global.set_nls.set_parameter('NLS_LANGUAGE','AMERICAN').
has been detected in fnd_global.set_nls.
Error Stack =
PO_REQAPPROVAL_LAUNCH.POREQ_SELECTOR(REQAPPRV, 30645552-99305, SET_CTX)
Wf_Engine_Util.Function_Call(PO_REQAPPROVAL_LAUNCH.POREQ_SELECTOR, REQAPPRV, 30645552-99305, SET_CTX)
Wf_Engine_Util.Execute_Selector_Function(REQAPPRV, 30645552-99305, SET_CTX)
Wf_Engine_Util.Function_Call(PO_REQAPPROVAL_INIT1.GET_REQ_ATTRIBUTES, REQAPPRV, 30645552-99305, 283487, RUN)
Activity Id = 283487
Activity Label = AME_PARALLEL_APPROVAL:GET_REQUISITION_DATA
Result Code = #EXCEPTION
Notification Id =
Assigned User =
What we have noticed is that whenever this error occurs, after few hours(no set duration sometimes it is 2 hours, sometimes 6 and sometimes even 12 hours), this Get Requisition Attributes activity in the workflow is again retried and then the workflow moves forward. Since PR's are time critical so this issue has become very critical for us. Also, being intermittent issue, we are not able to reproduce this issue everytime.
Any help or pointers in this regard will be highly appreciated.
We are currently on 12.1.3 and DB Oracle Database 11g Enterprise Edition Release 184.108.40.206.0 - 64bit Production.