Exception in Approval Process

Hi,
I am working on creating an approval process. To block an account I need it to go through some approval first.
I have followed all the steps as mentioned in the help doc but I am facing some issues.
I have created a custom BO (CustomerBlock.bo) and an EC. I have embedded the EC in Account TI. This contains some fields which need to be filled and then submitted for approval. I have provided a button which invokes submitForApproval action on click.
For the custom BO i have created the approval process, approval and notification tasklist views are added to Account workcenter view.
In submitForApproval action, I am assigning EmployeeIDs to requester and RM approver.
SubmitForApproval action is executed successfully, but on saving the Account I am getting an exception. The exception is not thrown if I remove the tasklist views from the account workcenter view.
Any Idea what could be the issue here? Please help.
Regards,
Ambuja

Hi,
There was some issue with another custom tab in the Account screen, due to which before-save was not getting invoked. Submit and save is working fine now. I am now facing the following issue during approval.
When I click on submit for approval, a task gets created under Application and User management -> Task distribution -> BTM. But it is not assigned to anyone. When I say Assign Item,the list does not return any records. In submitForApproval action, I am assigning the EmployeeID to the approver.
If the approver tries to open the task details and approve/reject, it gives an error saying "You are not authorized to change the data"
If the approver tries to click on the custom Approve button, it gives the following errors.
I have written the following code in Approve.absl. This code is invoked only when the approver clicks on Approve Button and not on click of approve icon in the notification task.
I dynamically want to assign the approval task to requester's reporting manager. Not sure how this can be implemented.
Regards,
Ambuja

Similar Messages

  • Request Approval Process exception in OIM 11g

    Hi,
    We have upgraded oim 9.1 to oim 11.1.1.5 and we did not have any request approvals in oim 9.1.
    Now we are using oim 11g to develop request approval process. We have tried to raise a request for "Provisioning Resource" - Application Access and "Assign Role" - Business Role Request in OIM 11g environment. Both the Requests are failing with the same exception as below,
    Error:
    IAM-2050014:An error occurred while initiating approvals for request oracle.iam.platform.workflowservice.exception.IAMWorkflowException: Tasklist mapping failed for workflowdefinition: default/DefaultRequestApproval!1.0 due to javax.naming.NamingException: String index out of range: -1. The corresponding error message is {1}.
    Any idea on the above error?
    Thanks!!

    you can follow these videos to see if you can get a basic manager approval working for a self request resource.
    http://www.youtube.com/watch?v=KCA_cxKsi_o&feature=channel_video_title

  • Exception while setting up approval process

    Hi ,
       When I enable the approval process I get the following error .
    java.lang.ClassCastException
            at com.sapportals.wcm.control.statemanagement.ApproverControl.isPermissionSet(ApproverControl.java:1620)
            at com.sapportals.wcm.control.statemanagement.ApproverControl.getPermissionWarnString(ApproverControl.java:1603)
            at com.sapportals.wcm.control.statemanagement.ApproverControl.renderAclWarning(ApproverControl.java:1590)
            at com.sapportals.wcm.control.statemanagement.ApproverControl.renderControl(ApproverControl.java:1105)
            at com.sapportals.wcm.control.statemanagement.ApproverControl.render(ApproverControl.java:414)
            at com.sapportals.wcm.control.statemanagement.ApproverCompositeControl.render(ApproverCompositeControl.java:126)
            at com.sapportals.wdf.layout.HorizontalLayout.renderControls(HorizontalLayout.java:42)
            at com.sapportals.wdf.stack.Pane.render(Pane.java:155)
            at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
            at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
            at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
            at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
            at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
            at com.sapportals.wcm.control.layout.HorizontalGroupLayout.renderPanes(HorizontalGroupLayout.java:49)
            at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
            at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
            at com.sapportals.wdf.layout.VerticalLayout.renderPanes(VerticalLayout.java:74)
            at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
            at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
            at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
            at com.sapportals.wcm.control.layout.HorizontalGroupLayout.renderPanes(HorizontalGroupLayout.java:49)
            at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
            at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:67)
            at com.sapportals.wdf.WdfCompositeController.internalRender(WdfCompositeController.java:696)
            at com.sapportals.wdf.WdfCompositeController.buildComposition(WdfCompositeController.java:664)
            at com.sapportals.htmlb.AbstractCompositeComponent.preRender(AbstractCompositeComponent.java:33)
            at com.sapportals.htmlb.Container.preRender(Container.java:120)
            at com.sapportals.htmlb.Container.preRender(Container.java:120)
            at com.sapportals.htmlb.Container.preRender(Container.java:120)
            at com.sapportals.portal.htmlb.PrtContext.render(PrtContext.java:414)
            at com.sapportals.htmlb.page.DynPage.doOutput(DynPage.java:237)
            at com.sapportals.wcm.portal.component.base.KMControllerDynPage.doOutput(KMControllerDynPage.java:130)
            at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:129)
            at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134)
            at com.sapportals.wcm.portal.component.base.ControllerComponent.doContent(ControllerComponent.java:73)
            at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
            at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
            at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
            at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
            at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
            at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
            at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
            at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
            at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
            at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
            at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
            at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
            at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
            at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
            at java.security.AccessController.doPrivileged(Native Method)
            at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
            at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    What could be the reason ?
    Regards
    Deepak Singh

    Patricio ,
       The service permissions are as follows . For testing purposes
    1) Everyone has Full Control
    2) The user with which I have created the repository Manager is the permissions owner
    3) The permissions owner also has full control .
    I am using a file repository manager where the a folder in a windows OS system based machine has been configured to the portal with File repository manager . The access rights on the folder is complete to the user with which I have logged into that file server and the folder is also shared .
    I am at EP6.0 SP15
    Any Clue ?
    Regards
    Deepak Singh

  • Error provisioning a resource with custom approval process

    Hi,
    While trying to provision a resource with custom approval process, I get the following error:
    <May 11, 2012 8:07:18 AM IST> <Warning> <oracle.wsm.agent.handler.wls.WLSPropertyUtils> <BEA-000000> <WLSPropertyUtils:getOperationName(),operation name is null>
    <May 11, 2012 8:07:18 AM IST> <Warning> <org.eclipse.persistence.session.oim> <BEA-000000> <
    Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: ORA-12899: value too large for column "DEV_OIM"."REQUEST_APPROVALS"."APPROVAL_STATUS" (actual: 442, maximum: 32)
    Error Code: 12899
    Call: UPDATE REQUEST_APPROVALS SET APPROVAL_STATUS = ? WHERE (REQUEST_APPROVALS_KEY = ?)
    bind => [com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
    parts: {{
    summary=<summary>XPath query string returns zero node.
    The assign activity of the to node query is returning zero node.
    Either the to node data or the xpath query in the to node was invalid.
    According to BPEL4WS spec 1.1 section 14.3, verify the to node value at line number 251 in the BPEL source.
    </summary>}
    , 6]
    Query: UpdateObjectQuery(oracle.iam.request.vo.ApprovalData@11e00d4b)
    at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:801)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:867)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:587)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:530)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeCall(AbstractSession.java:914)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:206)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:192)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.updateObject(DatasourceCallQueryMechanism.java:715)
    at org.eclipse.persistence.internal.queries.StatementQueryMechanism.updateObject(StatementQueryMechanism.java:430)
    at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1141)
    at org.eclipse.persistence.queries.UpdateObjectQuery.executeCommitWithChangeSet(UpdateObjectQuery.java:84)
    at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:287)
    at org.eclipse.persistence.queries.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:58)
    at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:675)
    at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:589)
    at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:109)
    at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:86)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2898)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1225)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1207)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1167)
    at org.eclipse.persistence.internal.sessions.CommitManager.commitChangedObjectsForClassWithChangeSet(CommitManager.java:233)
    at org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:108)
    at org.eclipse.persistence.internal.sessions.AbstractSession.writeAllObjectsWithChangeSet(AbstractSession.java:3260)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1413)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1518)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.writeChanges(UnitOfWorkImpl.java:5499)
    at oracle.iam.request.repository.ApprovalRepository.updateApprovalInstanceWithOutcome(ApprovalRepository.java:84)
    at oracle.iam.request.impl.ApprovalManager.approvalInstanceComplete(ApprovalManager.java:111)
    at oracle.iam.request.impl.ApprovalPolicyServiceImpl.updateApprovalResult(ApprovalPolicyServiceImpl.java:52)
    at oracle.iam.request.api.ApprovalPolicyServiceEJB.updateApprovalResultx(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
    at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
    at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy351.updateApprovalResultx(Unknown Source)
    at oracle.iam.request.api.ApprovalPolicyService_1nib43_ApprovalPolicyServiceRemoteImpl.updateApprovalResultx(ApprovalPolicyService_1nib43_ApprovalPolicyServiceRemoteImpl.java:462)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:84)
    at $Proxy184.updateApprovalResultx(Unknown Source)
    at oracle.iam.request.api.ApprovalPolicyServiceDelegate.updateApprovalResult(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at Thor.API.Base.SecurityInvocationHandler$1.run(SecurityInvocationHandler.java:68)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.security.Security.runAs(Security.java:41)
    at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(weblogicLoginSession.java:52)
    at Thor.API.Base.SecurityInvocationHandler.invoke(SecurityInvocationHandler.java:79)
    at $Proxy350.updateApprovalResult(Unknown Source)
    at oracle.iam.request.workflowcallback.ApprovalCallBack.completed(ApprovalCallBack.java:28)
    at oracle.iam.platform.workflowservice.ws.CallbackServiceImpl.callback(CallbackServiceImpl.java:98)
    at oracle.iam.platform.workflowservice.ws.wls.CallbackService.callback(CallbackService.java:33)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:92)
    at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:74)
    at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:151)
    at com.sun.xml.ws.server.sei.EndpointMethodHandlerImpl.invoke(EndpointMethodHandlerImpl.java:265)
    at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100)
    at weblogic.wsee.jaxws.tubeline.FlowControlTube$FlowControlAwareTube.processRequest(FlowControlTube.java:155)
    at weblogic.wsee.jaxws.tubeline.FlowControlTube$1.run(FlowControlTube.java:94)
    at weblogic.wsee.jaxws.tubeline.FlowControlTube$1.run(FlowControlTube.java:92)
    at javax.security.auth.Subject.doAs(Subject.java:337)
    at weblogic.wsee.jaxws.tubeline.FlowControlTube.processRequest(FlowControlTube.java:91)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445)
    at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:373)
    at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:524)
    at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:255)
    at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:140)
    at weblogic.wsee.jaxws.WLSServletAdapter.handle(WLSServletAdapter.java:208)
    at weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:310)
    at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:223)
    at weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:124)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at weblogic.wsee.jaxws.JAXWSServlet.service(JAXWSServlet.java:79)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.am.agent.wls.filters.OAMServletAuthenticationFilter.doFilter(OAMServletAuthenticationFilter.java:260)
    at oracle.security.am.agent.wls.filters.OAMValidationSystemFilter.doFilter(OAMValidationSystemFilter.java:133)
    at oracle.security.wls.oamagent.OAMAgentWrapperFilter.doFilter(OAMAgentWrapperFilter.java:121)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused By: java.sql.SQLException: ORA-12899: value too large for column "DEV_OIM"."REQUEST_APPROVALS"."APPROVAL_STATUS" (actual: 442, maximum: 32)
    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:74)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:135)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:210)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:473)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:423)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1095)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:205)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1040)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1379)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3568)
    at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3694)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1508)
    at weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:172)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:792)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:867)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:587)
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:530)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeCall(AbstractSession.java:914)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:206)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:192)
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.updateObject(DatasourceCallQueryMechanism.java:715)
    at org.eclipse.persistence.internal.queries.StatementQueryMechanism.updateObject(StatementQueryMechanism.java:430)
    at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.updateObjectForWriteWithChangeSet(DatabaseQueryMechanism.java:1141)
    at org.eclipse.persistence.queries.UpdateObjectQuery.executeCommitWithChangeSet(UpdateObjectQuery.java:84)
    at org.eclipse.persistence.internal.queries.DatabaseQueryMechanism.executeWriteWithChangeSet(DatabaseQueryMechanism.java:287)
    at org.eclipse.persistence.queries.WriteObjectQuery.executeDatabaseQuery(WriteObjectQuery.java:58)
    at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:675)
    at org.eclipse.persistence.queries.DatabaseQuery.executeInUnitOfWork(DatabaseQuery.java:589)
    at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWorkObjectLevelModifyQuery(ObjectLevelModifyQuery.java:109)
    at org.eclipse.persistence.queries.ObjectLevelModifyQuery.executeInUnitOfWork(ObjectLevelModifyQuery.java:86)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2898)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1225)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1207)
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1167)
    at org.eclipse.persistence.internal.sessions.CommitManager.commitChangedObjectsForClassWithChangeSet(CommitManager.java:233)
    at org.eclipse.persistence.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:108)
    at org.eclipse.persistence.internal.sessions.AbstractSession.writeAllObjectsWithChangeSet(AbstractSession.java:3260)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabase(UnitOfWorkImpl.java:1413)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.commitToDatabaseWithChangeSet(UnitOfWorkImpl.java:1518)
    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.writeChanges(UnitOfWorkImpl.java:5499)
    at oracle.iam.request.repository.ApprovalRepository.updateApprovalInstanceWithOutcome(ApprovalRepository.java:84)
    at oracle.iam.request.impl.ApprovalManager.approvalInstanceComplete(ApprovalManager.java:111)
    at oracle.iam.request.impl.ApprovalPolicyServiceImpl.updateApprovalResult(ApprovalPolicyServiceImpl.java:52)
    at oracle.iam.request.api.ApprovalPolicyServiceEJB.updateApprovalResultx(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
    at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
    at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy351.updateApprovalResultx(Unknown Source)
    at oracle.iam.request.api.ApprovalPolicyService_1nib43_ApprovalPolicyServiceRemoteImpl.updateApprovalResultx(ApprovalPolicyService_1nib43_ApprovalPolicyServiceRemoteImpl.java:462)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:84)
    at $Proxy184.updateApprovalResultx(Unknown Source)
    at oracle.iam.request.api.ApprovalPolicyServiceDelegate.updateApprovalResult(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at Thor.API.Base.SecurityInvocationHandler$1.run(SecurityInvocationHandler.java:68)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.security.Security.runAs(Security.java:41)
    at Thor.API.Security.LoginHandler.weblogicLoginSession.runAs(weblogicLoginSession.java:52)
    at Thor.API.Base.SecurityInvocationHandler.invoke(SecurityInvocationHandler.java:79)
    at $Proxy350.updateApprovalResult(Unknown Source)
    at oracle.iam.request.workflowcallback.ApprovalCallBack.completed(ApprovalCallBack.java:28)
    at oracle.iam.platform.workflowservice.ws.CallbackServiceImpl.callback(CallbackServiceImpl.java:98)
    at oracle.iam.platform.workflowservice.ws.wls.CallbackService.callback(CallbackService.java:33)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:92)
    at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:74)
    at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:151)
    at com.sun.xml.ws.server.sei.EndpointMethodHandlerImpl.invoke(EndpointMethodHandlerImpl.java:265)
    at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100)
    at weblogic.wsee.jaxws.tubeline.FlowControlTube$FlowControlAwareTube.processRequest(FlowControlTube.java:155)
    at weblogic.wsee.jaxws.tubeline.FlowControlTube$1.run(FlowControlTube.java:94)
    at weblogic.wsee.jaxws.tubeline.FlowControlTube$1.run(FlowControlTube.java:92)
    at javax.security.auth.Subject.doAs(Subject.java:337)
    at weblogic.wsee.jaxws.tubeline.FlowControlTube.processRequest(FlowControlTube.java:91)
    at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604)
    at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563)
    at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548)
    at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445)
    at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:373)
    at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:524)
    at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:255)
    at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:140)
    at weblogic.wsee.jaxws.WLSServletAdapter.handle(WLSServletAdapter.java:208)
    at weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:310)
    at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:223)
    at weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:124)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at weblogic.wsee.jaxws.JAXWSServlet.service(JAXWSServlet.java:79)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.am.agent.wls.filters.OAMServletAuthenticationFilter.doFilter(OAMServletAuthenticationFilter.java:260)
    at oracle.security.am.agent.wls.filters.OAMValidationSystemFilter.doFilter(OAMValidationSystemFilter.java:133)
    at oracle.security.wls.oamagent.OAMAgentWrapperFilter.doFilter(OAMAgentWrapperFilter.java:121)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    >
    <May 11, 2012 8:07:18 AM IST> <Error> <oracle.iam.request.impl> <IAM-2050200> <Failed to create the request in the repository.>
    <May 11, 2012 8:07:18 AM IST> <Error> <oracle.iam.request.impl> <IAM-2050050> <Exception thrown Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.DatabaseException
    Internal Exception: java.sql.SQLException: ORA-12899: value too large for column "DEV_OIM"."REQUEST_APPROVALS"."APPROVAL_STATUS" (actual: 442, maximum: 32)
    Error Code: 12899
    Call: UPDATE REQUEST_APPROVALS SET APPROVAL_STATUS = ? WHERE (REQUEST_APPROVALS_KEY = ?)
    bind => [com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
    parts: {{
    summary=<summary>XPath query string returns zero node.
    The assign activity of the to node query is returning zero node.
    Either the to node data or the xpath query in the to node was invalid.
    According to BPEL4WS spec 1.1 section 14.3, verify the to node value at line number 251 in the BPEL source.
    </summary>}
    , 6]
    Any idea how to resolve this ??
    Thanks,

    Based on the error trace
    Caused By: java.sql.SQLException: ORA-12899: value too large for column "DEV_OIM"."REQUEST_APPROVALS"."APPROVAL_STATUS" (actual: 442, maximum: 32)
    you are inserting a value too large for REQUEST_APPROVALS.APPROVAL_STATUS column. It should contain values like COMPLETED, approved, rejected etc... Check your custom approval process again.
    Regards
    user12841694

  • Error in Claims Approval Process

    Hi,
    I Configured ESS.I applied LTA Claim through portal.It went fot the approval to the approver.It is there in Universal Worklist of Approver but when he clicks on it to approve instead of opening WebDynpro iView it is giving an error that
    "Portal Runtime Error
    An exception occurred while processing a request for :
    iView : pcd:portal_content/every_user/general/uwl/com.sap.netweaver.bc.uwl.uwlSapLaunch
    Component Name : com.sap.portal.appintegrator.sap.Transaction
    Exception in SAP Application Integrator occured: Application URL ':///sap(ZT1PNE82WFJ4RFI5enRIVHA4QkdKU1NBLS1lVGtQN0pUVDNUYzgyUlgxbG5MNmxnLS0=)/bc/gui/sap/its/webgui' is not valid! Please check the protocol and host entries for system 'SAP_XSS_WebDynpro'..
    Exception id: 10:37_12/08/08_0021_3487950
    See the details for the exception ID in the log file"
    It seems that it is trying to execute in SAP Gui for Windows, we can solve this problem by going to that iview and by changing it to Gui for Windows instead of Gui for HTML but actually it should execute a WebDynpro iview where we can approve this claims.
    Please guide me with a solution.
    With Regards,
    Praveen

    Hi Ravi,
    Thnaks for your help.I will add this code and i will let you know.
    But the thing is recently 3 months back i implemented this ESS part in one server it is working fine.I'am able to apply Leave,Claims,Loan,travel from EP and the approver is able to approve the requests from UWL.When clicking on the Request in UWL it is launching a webdynpro iview and i'am able to perform the actions.
    Now i'am facing the problem and i hope i did the same config which i did previuosly.
    What would be the reason any Patch levels?
    Thanks and Regards,
    Praveen

  • API for Document Status in a Approval Process

    Hi All,
    I wanted to know how to get the status of a document that is in a folder having a Approval Process defined to it & Is it possible to programatically Submit a document for Approval. If yes please let me know..
    Thanks in Advance.
    Regards,
    Aditya Metukul

    Hi Detlev,
    You are simply gr8..it worked...
    below is the  code snippet  written by me:
          void submitResource(IResource resource){
                   try {
                             //get the statemanagement service from the resource
                             IRepositoryServiceFactory factory = ResourceFactory.getInstance().getServiceFactory();
                             IStatemanagementManager statemanagement =
                             (IStatemanagementManager)factory.getRepositoryService(resource, IWcmConst.STATEMANAGEMENT_SERVICE);
                             IStatemanagementResource sResource =
                             statemanagement.getStatemangementResource(resource);
                             IResourceTransition transition = sResource.getTransition("lbl.submit");
                             //if everything is correct than transition is not null
                             if (transition != null) transition.execute();
                   } catch (Exception e) {
         } //end of submitResource
    Message was edited by: aditya metukul

  • Error in Approval process

    Hi All,
    I am a new bie to OIM 11g. I have developed a custom (single level parallel) approval composite and it is working fine.
    According to my new requirement I need to add two serial approval blocks before the parallel approval block. On the whole the approval process contains 3 levels of approvals with the third level as a parallel approval block.
    The 1st level approval will be a default approval and by default all the requests should be routed to this level.
    Based on a condition(Create/update/delete user) the request should be routed to 2nd and 3rd level approval.
    In one of the scenario(condition) the requests are routed to 1st, 2nd,3rd level. In an other scenario the requests are routed to 1st and 3rd level approval. In both the above mentioned scenarios the request is successfully completed.
    In the last scenario(where condition for 2nd and 3rd level fail) the request will be routed only to the 1st level approval and not to the other two levels. In this scenario I am getting the following error and the request is failing.
    WLSPropertyUtils:getOperationName(),operation name is null
    Invalid outcome COMPLETED received from SOA for the request id 3058.
    [CALLBACKMSG] Inside Status Change plugin for request 3058 and the status is : Request Failed.
    [CALLBACKMSG] Inside Status Change plugin for request 3058, target tye is Resource and operation is MODIFYRESOURCE.
    [CALLBACKMSG] Inside Status Change plugin for request 3058, target tye is Resource and operation is MODIFYRESOURCE.
    An attempt was made to look up non-versioned
    global resource "queue" from an application version "oim [Version=11.1.1.3.0]". This can potentially cause conflict of the global resource usages among multiple application versions.
    WLSPropertyUtils:getOperationName(),operation name is null
    Please let me know if I am going wrong any where or Please suggest what needs to done to resolve this issue.
    Thanks in advance for the help.
    Thanks,
    PT

    Hi All,
    Thanks a lot for your help.
    All the above mentioned mappings are proper.
    When I remove a parallel approval block present in the last level and place a single serial approval block(instead of parallel approval) , I am not getting an exception and the request is completed. But according to my requirement I sholud have a parallel block in the last approval level.
    Can some body please help me in resolving this issue.
    Thanks,
    PT

  • Approval Process in SSHR using Approval Management

    Could any one suggest for the below mentioned issue ?
    I have set up the approval process using approval management. But when I tried to test the approval process in both the ways ('Create a test transaction' and 'View a real transaction's approval process), I am receiving different error messages.
    1. if I test by using 'View a real transaction's approval process'
    receiving the error message saying "ORA-20001: The attribute TRANSACTION_REQUESTOR_PERSON_ID probably has an invalid query string. The attribute caused the following exception:
    -972
    ORA-00972: identifier is too long"
    2. if I test by using 'create a test creation' receiving error message as "ORA-20001: Casey Browning (Browning, Doctor Casey) lacks a supervisor, so OAM cannot complete the chain of authority for the transaction"
    What am i missing in the setups ?
    which way is the recommended way to test the process ?
    Your response is more appreciated.
    Regards
    Jhansi

    For you to test Approvals, you have to setup a number of things;
    1. Supervisor Hierarchy (If using that as hierarchy)
    2. Job Levels (If using Job-level approvals)
    3. New rules for SSHR functions.
    The getApprStartingPointPersonId function returns the starting point person ID for the transaction in the HR_API_TRANSACTIONS table. It uses that to traverse the supervisor hierarchy based on the approval.
    Hope this helps.

  • Can a Approval process manually invoked from a jsp!!!

    Hi everyone,
    I have attached new jsp to the left menu of xelsysadm. In this jsp user will fill up information. on submit i should invoke an approval process once its approved i will make changes on Target system.
    Can this be done through API. What would be the approach!!
    Thanks,
    murli

    Here is a sample to create a request
         public long createResourceRequestForUser(String resourceName, String userId, boolean addResource)throws OIMServiceException
              logger.debug("Entering createResourceRequestForUser") ;
              long reqKey=-1, usrKey=-1, objKey=-1;
              tcUserOperationsIntf oimUserUtility = null ;
              tcRequestOperationsIntf oimRequestUtility = null;
              tcObjectOperationsIntf oimObjectUtility = null;
              try {
                   oimUserUtility = (tcUserOperationsIntf) oimUtilityFactory.getUtility
                                                           ("Thor.API.Operations.tcUserOperationsIntf");
                   usrKey = getUserKeyByUserId(userId, oimUserUtility);
                   oimObjectUtility = (tcObjectOperationsIntf) oimUtilityFactory.getUtility
                                                           (Thor.API.Operations.tcObjectOperationsIntf");
                   Hashtable objHash = new Hashtable();
                   objHash.put("Objects.Name", resourceName);
                   tcResultSet objSet = oimObjectUtility.findObjects(objHash);
                   objKey = objSet.getLongValue("Objects.Key");
                   logger.info("Object Key for the resource " + resourceName +" is " + objKey) ;
                   oimRequestUtility = (tcRequestOperationsIntf) oimUtilityFactory.getUtility
                                                           (Thor.API.Operations.tcRequestOperationsIntf");
                   HashMap reqMap = new HashMap();
                   reqMap.put("Requests.Target Type", "U");
                   reqMap.put("Requests.Type", "U");
                   //Check whether the resource is for revoke or grant for the service
                   if(addResource==true)
                        reqMap.put("Requests.Object Request Type", "Add");
                        logger.info("Creating request to provision resource "+ resourceName + " for user "+ userId) ;
                   else
                        reqMap.put("Requests.Object Request Type", "Revoke");
                        logger.info("Creating request to revoke resource "+ resourceName + " for user "+ userId) ;
                   //Create the request
                   reqKey = oimRequestUtility.createRequest(reqMap);
                   logger.info("New request created with request id "+reqKey) ;
                   //Adding user to be provisioned for resource object
                   oimRequestUtility.addRequestUser(reqKey, usrKey);
                   logger.info("Adding user for which the resource is to be provisioned or revoked") ;
                   //Adding Object to be provisioned
                   oimRequestUtility.addRequestObject(reqKey, objKey, false);
                   logger.info("Adding Object to be provisioned or revoked ") ;
                   oimRequestUtility.completeRequestCreation(reqKey);
                   logger.info("Completed and submitted the request ") ;
              }catch(Exception e)
                   tcae.printStackTrace();
                   logger.error("Error in resource request for the user "+userId + " :"+e.getMessage()) ;
                   throw new OIMServiceException(tcae.getErrorCode() + ":" + e.getMessage()) ;
              } finally {
                   if(oimUserUtility != null){
                        oimUserUtility.close() ;
                   if(oimObjectUtility != null){
                        oimObjectUtility.close() ;
                   if(oimRequestUtility != null){
                        oimRequestUtility.close() ;
              logger.debug("Leaving createResourceRequestForUser") ;
              return reqKey;
         }

  • Substition -  n-Level Output Limit Approval Process

    Hi,
    we are using a process-controlled workflow in SRM 7.0; n-Level Output Limit Approval Process; see BC-Sample process scheme 9C_BUS2121_EX03.
    Situation 1: a manager (approval limit 3.000) sets an user (without approval limit entry in the OrgMgmt) as substitute. The substitute succeeds in approving a purchase order.
    The purchase order is approved despite the missing approval limit of the substitute. Even exception entry "Calling class /SAPSRM/CL_WF_RULE_CONTXT_SC method PREV_APPROVAL_LIMIT
    raises error exception
    Message no. /SAPSRM/BRF086"
    in SLG1 does not disturb the approval. The exception-entry itself is fine; however the approval is not supposed to succeed if such an exception happens.
    Situation 2: a manager (approval limit 3.000) sets an user (approval limit 1.000) as substitute. The substitute can now approve up to 3.000 without additional approver. This is not the expected result.
    Do you know any solutions for these problems?
    Best regards,
    Frank

    Hi,
       What is your business requirement? if you want to stop not ordering the SC if the substitute approval limit is less than the system determine approver approval limit.. try to implement the logic in BBP_DOC_CHECK_BADI.. where you have to build the same logic to find the substitute approval limit.. if the approval limit is less , then error out..
    Saravanan

  • Self Service Form Approval Process

    Hello Gurus,
    Your help needed urgently! Im using International Global HRMS the self service responsibility, I have a customized form which is being used by the employee to fill in details and then those details need to be approved. So what I wanted to know was which tables hold the approver's data before and after the approval process.
    Thanks and Regards,
    Tasneem.

    You have to add below roles explicitly. If you look at the description of the roles it should show as below to your assigned roles(I am checking on R12)
    Approvals Management Administrator -> Role inherits Process Owner role and System Administrator role. Can also create action type and can modify default config variables.
    Approvals Management Business Analyst -> Role which gives full access to business dashboard pages. Does not have Default config variable access and Action Type Create Access.
    Approvals Management System Administrator -> Role can create, update or delete transaction types. Also inherits System Viewer. Can access Exceptions log and config variables.
    If they are inherited, then the description is quite different. Check you have above description for the roles assigned to your user.
    I am not really sure whether this resolves the issue but I remember that I did it to avoid the same error earlier.
    Regards,
    Peddi.

  • Approval process error.

    Dear all,
    when i submit the approval process i got this error....
    "System Error
    An exception occurred during the program execution. Below you will find technical information pertaining to this exception that you might want to forward to your system administrator. "
    what can i do to solve this problem.

    Dear vanissmca,
    This is quite an old post, has the issue since been resolved?  If not what version/SP level are you on?
    Regards,
    Lorcan.

  • How to determine N Step Approval process through Process Controlled workflow

    HI
    For SC approval process after 4th level of approval the workflow keep go N step till the approval determine. If no approval find then go for WF Exceptions.
    In PCW we have process level like 100, 200, 300 and so on. What would be the procedure for Nth process level determination in SRM process controlled workflows settings.
    Regards
    Kharabela

    Hi,
      From SRM 7.0 PCW, requestor of SC or creator(buyer) of the PO can't be in the approval list.. this is standard...
    create two custom events like zev_po_schema_eva and zev_po_sl_approval
    create two custom expression.. one with constants as zev_po_schema_def and other one is formula interpreter(0FB001)..
      assign zev_po_schema_eva as schema evaluation for PO.. MAKE SURE YOU LINK THE zev_po_sl_approval
      with as zev_po_schema_def..
       now create schema definition entry and specify as zev_po_schema_def..
       now create process level
       100 approval / approval with completion ( Your chooice ) .. maintain  zev_po_sl_approval as evaluation id in the process level... maintain RR_SPENDING_LIMIT_APPROVER as Resp.Resolver...
    maintain formula interperter value as (OV_SC_PREVAPPROVALIMI < 0V_PO_POTOTALVALUE ) AND (OV_SC_SPNDNGLMTFRQST < 0V_PO_POTOTALVALUE).
    Saravanan

  • How to set up approval process for test case in SAP solution manager?

    Hi Experts,
    We need to setup a 2 level approval process for test case documents in SAP Solution Manager.
    e.g. If test case document is uploaded for transaction "MM01" then first it will go to Reviewer1. Once Reviewer1 approves it , should go to Reviewer2.
    Adn finally once reviewer2 approves it , it will be complete.
    What are the required configurations and steps for approval process setup? It will be helpful if screenshots and detailed steps are provided.
    Thanks.
    regards,
    Sanjana

    Hi,
    the above requirement we are going develop add on.below code is there. in this code how we can set for line level amount instead of document total amount
    Private Function GetCondition(ByVal sCondition As String) As ApprovalTemplateConditionTypeEnum
            Try
                Select Case sCondition
                    Case "Deviation from Credit Limit"
                        Return (ApprovalTemplateConditionTypeEnum.atctDeviationFromCreditLine)
                    Case "Deviation from Commitment"
                        Return (ApprovalTemplateConditionTypeEnum.atctDeviationFromObligo)
                    Case "Gross Profit %"
                        Return (ApprovalTemplateConditionTypeEnum.atctGrossProfitPercent)
                    Case "Discount %"
                        Return (ApprovalTemplateConditionTypeEnum.atctDiscountPercent)
                    Case "Deviation from Budget"
                        Return (ApprovalTemplateConditionTypeEnum.atctDeviationFromBudget)
                    Case "Total Document"
                        Return (ApprovalTemplateConditionTypeEnum.atctTotalDocument)
                End Select
            Catch ex As Exception
                MsgBox(ex.Message())
            End Try
        End Function
    Please guide me.
    Regds,
    Samapth Kumar.

  • Sender Mail Adapter Error: exception caught during processing mail message;

    HI , I am configuring mail to file scenario. Need to read mail content (no need to capture From,TO or Subject details) and create a file with the content in the mail.
    Need to read mails from microsoft outlook. Exchange server has been configured for POP3 protocol.
    Following are the details provoding in sender mail adapter:
    URL: provided url in the format: pop://<server name>
    Authentication method: plain
    provided user credinetions to access mails.
    poll interval - 1min
    content encoding none.
    processing parameters : quality of service-exactly once
    Since there is no need to capture From,TO or Subject details, didn't select the option - use mail package.
    Verified for unread mails in the mail box and made sure that there are few unread mails.
    Also, created data types and other components in IR and completed mapping.
    But after starting sender mail communication channel, getting error "exception caught during processing mail message; java.lang.NullPointerException" in RWB-adapter-communication channel monitoring.
    please let me know what needs to be done to resolve this error.
    Thanks.

    HI Stefan, i tried, but still it is giving same error. Yes, i am able to access outlook mail with the user credentials given in the communication channel to access exchange server.
    I am using message protocol: xipayload . Also since i dont have to capture TO,from,subject details., created data type just with one element of type string, not in the standard format .Does this makes any difference.

Maybe you are looking for

  • Creating Excel Files on 9i

    What is the best approach/method to creating excel files on 9i using PL/SQL stored procedures/packages? I have seen multiple posts on this topic but would like one source for this solution. I have also visited asktom and seen an example using owa_syl

  • How do i create a bootable os x dvd using windows?

    I have transmac and macdrive 8 ive tried to create a bootable dvd for my imac and it keeps ejecting the disc? Any help? I had to install a new HDD my old one went crazy and i can not get anything off of it. Any help?

  • Iso-8859-1 to UTF-8

    JExpert, The encoding of my current servlet is iso-8859-1 when i execute the following method. How can I change it into UTF-8?      public void displaySkinFile(HttpServletRequest req, HttpServletResponse resp, String skinFile) throws ServletException

  • Change Log for OM

    Hi, I have to record changes made to OM infotypes like 1000, 1001, etc. It seems dynamic actions are not supported for these. Report RPUAUD00 is not an option as it does not support OM as well. Is SCU3 the only option available? I believe setting up

  • Upgrading rac database

    Hello i am using linux 4 os and oracle 10g(10.2.0.1) version now i am going to upgrade oracle 10g(10.2.0.4) and database is on san.I am using ASM for storage and 2 node rac.My ASM,CRS,RDBMS homes are different that asm and adbms home are different.No