cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with Parallel Dynamic Block

0 Kudos

Hi friends,

I created a parallel dynamic block with an action. If the action has to be performed by 3 parallel users the first 2 actions are getting executed with out any error, when the third action is getting executed it is throwing Oracle unique constraint error. What might be the issue over here

Thanks

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Dear Govardhan,

We are also facing the same problem. can you please help us if you have solved the problem.

Regards

Ponnusamy

Former Member
0 Kudos

Hi,

What Callable object are you using for the third action?. Web Service or UI?.

There might be problem with parameter incompatable data types.

Make sure that there is no incompatable data types while Parameter mapping.

Thanks

0 Kudos

The pdb is having a single action which will be sent to multiple users at runtime. all the actions are getting executed without any issue but for the last user who is executing the action in that block the below error is coming

Cannot complete action: ORA-00001: unique constraint violated

Former Member
0 Kudos

Dear Govardhan,

please paste the whole exception trace, as the one you have pasted is unclear.

Regards,

George.

Former Member
0 Kudos

Hi Govardhan,

can you please post the exception, so that we can analyze it?

Thank you.

Regards,

George.

0 Kudos

Hi George,

The same application used to work in SP14 but after upgrading it to SP16 it is not working. I assume that in the PDB when the last action is getting executed instead of sending it to the next block its trying to insert another record with same data into the backend buffer table.

My strucutre is as follows.

-


Sequential Block

-


Action1

-


Action2

-


Parallel Dynamic Block

-


Block

-


Action -- No target

-


Parallel Block

-


Action

When the action in the PDB is sent to 2 persons, the first person is able to execute the action but the problem is coming when the second person is trying to complete action. At that point the below given exception is coming

Can you please

Below given is the exception details

Action Container: unable to complete execution

com.sap.caf.eu.gp.base.exception.EngineException: ORA-00001: unique constraint (SAPEP7DB.SYS_C005909) violated

at com.sap.caf.eu.gp.model.pfw.core.impl.ProcessRuntime.completeAction(ProcessRuntime.java:842)

at com.sap.caf.eu.gp.ui.act.container.VContainer.OnExecutionComplete(VContainer.java:484)

at com.sap.caf.eu.gp.ui.act.container.wdp.InternalVContainer.wdInvokeEventHandler(InternalVContainer.java:172)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)

at com.sap.tc.webdynpro.progmodel.controller.Component.fireEvent(Component.java:284)

at com.sap.caf.eu.gp.ui.co.exec.wd.wdp.InternalCOExecWDInterface.wdFireEventExecutionComplete(InternalCOExecWDInterface.java:203)

at com.sap.caf.eu.gp.ui.co.exec.wd.COExecWDInterface.OnExecutionComplete(COExecWDInterface.java:162)

at com.sap.caf.eu.gp.ui.co.exec.wd.wdp.InternalCOExecWDInterface.wdInvokeEventHandler(InternalCOExecWDInterface.java:158)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingCustomController.invokeEventHandler(DelegatingCustomController.java:89)

at com.sap.tc.webdynpro.progmodel.controller.Component.fireEvent(Component.java:284)

at com.sap.caf.eu.gp.ui.co.exec.wd.wdp.InternalCOExecWD.wdFireEventExecutionComplete(InternalCOExecWD.java:254)

at com.sap.caf.eu.gp.ui.co.exec.wd.COExecWD$WDExecutionContext.processingComplete(COExecWD.java:476)

at com.sap.caf.eu.gp.co.impl.GPExecutionContext.processingComplete(GPExecutionContext.java:82)

at com.departmentalstore.depts.C_DepartmentsInterface.complete(C_DepartmentsInterface.java:339)

at com.departmentalstore.depts.wdp.InternalC_DepartmentsInterface.complete(InternalC_DepartmentsInterface.java:558)

at com.departmentalstore.depts.V_DepartmentsView.onActionSubmit(V_DepartmentsView.java:149)

at com.departmentalstore.depts.wdp.InternalV_DepartmentsView.wdInvokeEventHandler(InternalV_DepartmentsView.java:554)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)

at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)

at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:321)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:733)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:668)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)

at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73)

at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:860)

at com.sap.tc.webdynpro.portal.pb.impl.localwd.LocalApplicationProxy.sendDataAndProcessAction(LocalApplicationProxy.java:77)

at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1299)

at com.sap.portal.pb.PageBuilder.SendDataAndProcessAction(PageBuilder.java:326)

at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:868)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136)

at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)

at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:321)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)

at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)

at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)

at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)

at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)

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:102)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

Caused by: com.sap.caf.eu.gp.base.exception.EngineException: ORA-00001: unique constraint (SAPEP7DB.SYS_C005909) violated

at com.sap.caf.eu.gp.model.pfw.wfc.local.db.impl.LocalWorkitemPersistence.createWorkitem(LocalWorkitemPersistence.java:190)

at com.sap.caf.eu.gp.model.pfw.wfc.local.status.StatusWriter.createWorkItems(StatusWriter.java:1582)

at com.sap.caf.eu.gp.model.pfw.wfc.local.status.StatusWriter.startAction(StatusWriter.java:1406)

at com.sap.caf.eu.gp.model.pfw.wfc.local.status.StatusWriter.startActivity(StatusWriter.java:850)

at com.sap.caf.eu.gp.model.pfw.wfc.local.status.StatusWriter.startChildrenParallelBlock(StatusWriter.java:1105)

at com.sap.caf.eu.gp.model.pfw.wfc.local.status.StatusWriter.startBlock(StatusWriter.java:924)

at com.sap.caf.eu.gp.model.pfw.wfc.local.status.StatusWriter.startActivity(StatusWriter.java:852)

at com.sap.caf.eu.gp.model.pfw.wfc.local.status.StatusWriter.changeParentBlockStatus(StatusWriter.java:2618)

at com.sap.caf.eu.gp.model.pfw.wfc.local.status.StatusWriter.changeParentBlockStatus(StatusWriter.java:2634)

at com.sap.caf.eu.gp.model.pfw.wfc.local.status.StatusWriter.updateProcessStatusSequentialBlock(StatusWriter.java:2309)

at com.sap.caf.eu.gp.model.pfw.wfc.local.status.StatusWriter.updateProcessStatus(StatusWriter.java:2056)

at com.sap.caf.eu.gp.model.pfw.wfc.local.status.StatusWriter.completeAction(StatusWriter.java:233)

at com.sap.caf.eu.gp.model.pfw.wfc.local.impl.LocalWorkflowConnector.completeAction(LocalWorkflowConnector.java:260)

at com.sap.caf.eu.gp.model.pfw.core.impl.ProcessRuntime.completeAction(ProcessRuntime.java:813)

... 61 more

Caused by: com.sap.sql.DuplicateKeyException: ORA-00001: unique constraint (SAPEP7DB.SYS_C005909) violated

at com.sap.sql.jdbc.common.CommonPreparedStatement.executeUpdate(CommonPreparedStatement.java:259)

at com.sap.engine.services.dbpool.wrappers.PreparedStatementWrapper.executeUpdate(PreparedStatementWrapper.java:254)

at com.sap.caf.eu.gp.model.pfw.wfc.local.db.impl.LocalWorkitemPersistence.createWorkitem(LocalWorkitemPersistence.java:187)

... 74 more

Former Member
0 Kudos

Hi Govardhan,

from what I see, I guess you are using a "Filled from context parameter" role for the parallel block.

If that is correct, please check if there is a duplicate user entry in the list you are passing.

Regards,

George.

0 Kudos

George,

Thanks for the reply. As you said i'm using the "Filled from context parameter" but in the parallel block which executes after the completion of parallel dynamic block as given in the structure there are 2 actions and for these 2 actions i'm sending different ID's.

Thanks in advance

Govardhan