In 16.1.1, Benefit Plan with no detail line items and is linked to a Cost Plan, fails to XOG in with the below error message
<Description>Could not raise event update for project;objectId = 5001083
com.niku.union.service.ServiceException: Could not raise event update for project;objectId = 5001083
Release : 16.1.1
1. Login to a 16.1.1 machine and navigate to a financially enabled project
2. Create a Cost Plan
3. Create a Benefit Plan as below
NAme: Benefit Plan
ID: BN1105
4. Make sure there are no line items created for the Benefit Plan DETAILS
5. Link the above Benefit plan to the Cost plan created in Step 2
6. Xogout the Benefit Plan using the below xog
<?xml version="1.0" encoding="UTF-8"?>
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">
<Header version="13.0" action="read" objectType="benefitPlan" externalSource="NIKU"/>
<Query>
<Filter name="code" criteria="EQUALS">BN1105</Filter>
</Query>
</NikuDataBus>
Actual and Expected: The xogout works fine without any issues as below.
<NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_benefitPlan.xsd">
<Header action="write" externalSource="NIKU" objectType="benefitPlan" version="16.1.1.1485"/>
<BenefitPlans>
<BenefitPlan code="BN1105" finishPeriod="2023-06" investmentCode="PR1016" investmentType="project" name="Benefit Plan" periodType="MONTHLY"
revision="0" startPeriod="2023-03">
<Description/>
<CustomInformation>
<ColumnValue name="partition_code">partition10</ColumnValue>
</CustomInformation>
</BenefitPlan>
</BenefitPlans>
<XOGOutput>
<Object type="benefitPlan"/>
<Status state="SUCCESS"/>
<Statistics failureRecords="0" insertedRecords="0" totalNumberOfRecords="1" updatedRecords="0"/>
<Records/>
</XOGOutput>
</NikuDataBus>
7. Xog back the results from the above step.
Expected: The XOGin works fine without any errors
Actual: The XOGin errors out with the below error message
<NikuDataBus>
<Header action="write" externalSource="NIKU" objectType="benefitPlan" version="16.1.1.1485"/>
<XOGOutput xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/status.xsd">
<Object type="benefitPlan"/>
<Status elapsedTime="0.049 seconds" state="FAILURE"/>
<Statistics failureRecords="1" insertedRecords="0" totalNumberOfRecords="1" updatedRecords="0"/>
<Records>
<Record>
<KeyInformation>
<column name="externalSource">NIKU</column>
</KeyInformation>
<ErrorInformation>
<Severity>FATAL</Severity>
<Description>Could not raise event update for project;objectId = 5001083
com.niku.union.service.ServiceException: Could not raise event update for project;objectId = 5001083
at com.ca.clarity.financial.planning.utils.PlanUtils.raiseBPMEvent(PlanUtils.java:2931)
at com.ca.clarity.financial.planning.xog.PlanXOGWriteService.processPlanHeader(PlanXOGWriteService.java:235)
at com.ca.clarity.financial.planning.xog.PlanXOGWriteService.doProcessRequest(PlanXOGWriteService.java:104)
at com.niku.xog.service.BaseXOGService.processRequest(BaseXOGService.java:230)
at com.niku.union.service.binding.ServiceControlBindingJava.processRequest(ServiceControlBindingJava.java:58)
at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:914)
at com.niku.union.service.ServiceControlImpl.processRequest(ServiceControlImpl.java:212)
at com.niku.union.web.WebServiceAdapter.processRequest(WebServiceAdapter.java:219)
at com.niku.union.web.PortletController.processServiceRequest(PortletController.java:1431)
at com.niku.union.web.PortletController.processProcessActionRequest(PortletController.java:235)
at com.niku.union.web.PortletController.processRequest(PortletController.java:162)
at com.niku.union.web.WebActionController.processAction(WebActionController.java:1484)
at com.niku.union.web.WebActionController.processRequest(WebActionController.java:194)
at com.niku.xog.service.XOGWMDHandler.process(XOGWMDHandler.java:84)
at com.niku.xog.service.ObjectHandler.processRequest(ObjectHandler.java:186)
at com.niku.xog.service.ObjectHandler.process(ObjectHandler.java:97)
at com.niku.xog.service.XOGDispatch.processMessage(XOGDispatch.java:133)
at com.niku.xog.service.XOGSOAPServlet.processMessage(XOGSOAPServlet.java:587)
at com.niku.xog.service.XOGSOAPServlet.doPost(XOGSOAPServlet.java:264)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.niku.union.web.filter.ResponseHeaders.doFilter(ResponseHeaders.java:85)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.niku.union.web.filter.ResponseSecurityHeaders.doFilter(ResponseSecurityHeaders.java:157)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.niku.union.web.filter.ClarityContentFilter.doFilter(ClarityContentFilter.java:138)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.niku.union.web.filter.XSSFilter.doFilter(XSSFilter.java:88)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.ca.ppm.rest.security.CustomConfigCORSFilter.doFilter(CustomConfigCORSFilter.java:211)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.niku.union.web.filter.TenantSetupFilter.doFilter(TenantSetupFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at com.niku.union.web.filter.CharsetFilter.doFilter(CharsetFilter.java:45)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.filters.AddDefaultCharsetFilter.doFilter(AddDefaultCharsetFilter.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
at com.niku.union.web.valves.ErrorPageRedirectValve.invoke(ErrorPageRedirectValve.java:64)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1701)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1190)
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:633)
at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:611)
at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:1010)
at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:938)
at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:127)
at java.base/sun.nio.ch.Invoker$2.run(Invoker.java:219)
at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.niku.bpm.BpmException: Event value container missing in the transient cache for ODF object code = project and odf_pk = 5001083
at com.niku.bpm.utilities.BusinessProcessUtilsImpl.interestValueFetch(BusinessProcessUtilsImpl.java:1102)
at com.ca.clarity.financial.planning.utils.PlanUtils.raiseBPMEvent(PlanUtils.java:2912)
... 74 more
</Description>
</ErrorInformation>
</Record>
</Records>
</XOGOutput>
</NikuDataBus>
Workaround: Create a line item for the Benefit Plan details and the XOGin should work.
DE68750 - Fixed in 16.1.2 and 16.1.1.1