Java PX Event on Event Type : Update Table to BOM/Manufactures to Object Type : Items Does Not Appear on History Tab (Doc ID 2179710.1)

Last updated on FEBRUARY 19, 2017

Applies to:

Oracle Agile PLM Framework - Version 9.3.5.0 to 9.3.5.0 [Release 9.3]
Information in this document applies to any platform.

Symptoms

Actual Behavior
Created Java PX Event handler for Event on Event Type : Update Table to BOM/Manufactures to Object Type : Items.
Following behavior is observed.

  1. When removing Manufactures from Manufactures tab on Item object, no event is recorded to History tab.
  2. From Change Order after performing Undo Redline to Affected Items tab BOM or Manufactures tab, no event is recorded to History tab of the item.

For above 2 test cases, the Java Client Event Handler Monitor will record the event in contrast.

Error
Following error message is observed in the stderr.log :

com.agile.util.exception.CMAppException: Someone is working on this object. Please try again later.
at com.agile.pc.cmserver.base.BaseService.acquireLock(BaseService.java:1104)
at com.agile.pc.cmserver.base.CMLockQueue.addLockedObject(CMLockQueue.java:73)
at com.agile.pc.cmserver.base.TransactionInfo.addRefreshLockedObject(TransactionInfo.java:152)
at com.agile.pc.cmserver.base.TransactionInfo.addRefreshLockedObject(TransactionInfo.java:137)
at com.agile.pc.cmserver.base.BaseServiceHistory.patchItemHistory(BaseServiceHistory.java:1754)
at com.agile.pc.cmserver.base.BaseServiceHistory.appendHistory(BaseServiceHistory.java:449)
at com.agile.pc.cmserver.base.BaseServiceHistory.appendHistory(BaseServiceHistory.java:115)
at com.agile.pc.cmserver.base.BaseServiceHistory.appendHistory(BaseServiceHistory.java:93)
at com.agile.pc.cmserver.base.BaseService.logUserDefinedAction(BaseService.java:10019)
at com.agile.pc.cmserver.base.CMSessionBean.logUserDefinedActionWOVersionChange(CMSessionBean.java:9397)
at com.agile.pc.cmserver.base.CMSessionBean.logUserDefinedActionWOVersionChange(CMSessionBean.java:9361)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.__WL_invoke_1(Unknown Source)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:34)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.logUserDefinedActionWOVersionChange(Unknown Source)
at com.agile.api.pc.DataObject$logActionWOVersionChangeAction.doSdkAction(DataObject.java:1080)
at com.agile.api.common.SDKAction.run(SDKAction.java:23)
at com.agile.api.common.Security.doAs(Security.java:59)
at com.agile.api.common.Security.doAs(Security.java:109)
at com.agile.api.pc.DataObject.logActionWOVersionChange(DataObject.java:537)
at com.agile.px.Extensions2.logResult(Extensions2.java:575)
at com.agile.px.Extensions2.logResult(Extensions2.java:592)
at com.agile.px.Extensions2.invokeAction(Extensions2.java:265)
at com.agile.px.PxSessionBean.invokeAction(PxSessionBean.java:119)
at com.agile.px.com_agile_px_PxSession_l8vd22_EOImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:34)
at com.agile.px.com_agile_px_PxSession_l8vd22_EOImpl.invokeAction(Unknown Source)
at com.agile.soa.event.handler.PXInitiator.invoke(PXInitiator.java:102)
at com.agile.soa.event.handler.PXInitiator.invoke(PXInitiator.java:64)
at com.agile.soa.event.eventmgr.EventMgr.invokeEventHandlers(EventMgr.java:258)
at com.agile.soa.event.eventmgr.EventMgrSessionBean.sendEvent(EventMgrSessionBean.java:119)
at com.agile.soa.event.eventmgr.EventMgrSessionBean_naafhr_EOImpl.__WL_invoke_1(Unknown Source)
at com.agile.soa.event.eventmgr.EventMgrSessionBean_naafhr_EOImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:34)
at com.agile.soa.event.eventmgr.EventMgrSessionBean_naafhr_EOImpl.sendEvent(Unknown Source)
at com.agile.soa.event.eventmgr.EventUtil.sendEvent(EventUtil.java:74)
at com.agile.soa.event.eventmgr.EventUtil.sendEvent(EventUtil.java:100)
at com.agile.soa.event.eventmgr.EventUtil.sendUpdateTableEvent(EventUtil.java:500)
at com.agile.soa.event.eventmgr.EventUtil.sendUpdateTableEvent(EventUtil.java:475)
at com.agile.pc.cmserver.base.CMSessionBean.doBulkTableEditing(CMSessionBean.java:12421)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.__WL_invoke_3(Unknown Source)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.__WL_invoke_2(Unknown Source)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.__WL_invoke_1(Unknown Source)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:34)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.doBulkTableEditing(Unknown Source)
at com.agile.pc.cmserver.base.CMSessionBean.bulkTableEditing(CMSessionBean.java:12286)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.__WL_invoke_3(Unknown Source)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.__WL_invoke_2(Unknown Source)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.__WL_invoke_1(Unknown Source)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.__WL_invoke(Unknown Source)
at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:34)
at com.agile.pc.cmserver.item.ItemSessionBean_v9sfth_EOImpl.bulkTableEditing(Unknown Source)
at com.agile.ipa.pc.CMObjectBase.bulkTableEditing(CMObjectBase.java:5437)
at com.agile.ui.pcm.common.model.AbstractDataModel.bulkTableEditing(AbstractDataModel.java:662)
at com.agile.ui.pcm.change.RedLineDataModel.undoRedLines(RedLineDataModel.java:257)
at com.agile.ui.pcm.change.ChangeHandler.undoRedLines(ChangeHandler.java:3713)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.agile.ui.web.action.ActionServlet.invokeMethod(ActionServlet.java:1073)
at com.agile.ui.web.action.ActionServlet.handleRequest(ActionServlet.java:677)
at com.agile.ui.web.action.ActionServlet.doPost(ActionServlet.java:309)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:751)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:844)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:346)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at com.agile.ui.pcm.common.filter.RemoteFSRequestFilter.doFilter(RemoteFSRequestFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at com.agile.ui.web.filter.LoggingFilter.doFilter(LoggingFilter.java:108)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at com.agile.ui.pcm.common.filter.WebClientLog.doFilter(WebClientLog.java:78)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at com.agile.ui.pcm.common.filter.SSOTicketFilter.doFilter(SSOTicketFilter.java:89)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at com.agile.ui.pcm.common.filter.WebSecurityFilter.doFilter(WebSecurityFilter.java:187)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:293)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:137)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:120)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:217)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:81)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:220)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:79)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3436)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3402)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57)
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2285)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2201)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1572)
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:255)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:311)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:263)


Expected Behavior
Created Java PX Event handler for Event on Event Type : Update Table to BOM/Manufactures to Object Type : Items.

  1. When removing Manufactures from Manufactures tab on Item object, event is recorded to History tab.
  2. From Change Order after performing Undo Redline to Affected Items tab BOM or Manufactures tab, event is recorded to History tab of the item.

Steps

  1. Set a sample jar file including the following java code to AGILE_HOME/integration/sdk/extensions
      

  2. Set the Event

    Event Type : Update Table
    Name : Item-UpdateBOMTable
    Object Type : Items
    Table Name : BOM

    Event Type : Update Table
    Name : Item-UpdateManufacturesTable
    Object Type  : Items
    Table Name : Manufacturers

  3. EventHandlers

    Handler Type : Java PX
    Name : DirtyRowActionChecker
    Event Action : sample.event.DirtyRowActionChecker

  4. Event Subscribers

    Name : Item-UpdateBOMTable
    Event : Item-UpdateBOMTable
    Event Handler  : DirtyRowActionChecker
    Trigger Type : Pre
    Execution mode : Synchronous
    Order : 0
    Error Handling Rule : Continue

    Name : Item-UpdateManufacturersTable
    Event : Item-UpdateManufacturersTable
    Event Handler  : DirtyRowActionChecker
    Trigger Type : Pre
    Execution mode : Synchronous
    Order : 0
    Error Handling Rule : Continue

  5. Login to Web Client
  6. Go to Part object P0001 and move to Manufacturers tab
  7. Remove a Manufacturer
  8. Go to history tab. No event record is observed.
  9. Create a new Change , C00001
  10. On Affected Items tab, add P0001 and on BOM tab add a new Part P0002 for redline
  11. Go back to P0001 history tab, confirm that event is recorded as expected
  12. Go back to C00001 and on Affected Items tab press the P0001 record.
  13. Press undo redlines button on BOM tab
  14. Go back to P0001 history tab. No event record is observed
  15. Go back to C00001 and on Affected Items tab press P0001 record.
  16. Go to Manufactures tab and add a Manufacturer
  17. Go back to P0001 history tab. Confirm that event is recorded as expected
  18. Go back to C00001 and on Affected Items tab press P0001 record.
  19. Go to Manufactures tab and press undo redlines button on manufacturer record.
  20. Go back to P0001 history tab. No event record is observed.

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms