Symptom
A stack trace error occurs on the timesheet or is holding up payroll. The stack trace looks similar to the one below, with the key section highlighted.
com.workforcesoftware.Calculation.CalculationStageException: Exception during calculation: java.lang.NullPointerException at com.workforcesoftware.Data.AllCalcDataManager.runOneCalcStage(AllCalcDataManager.java:1389) at com.workforcesoftware.Data.SingleAllCalcDataManager.runCalcStagesAndHandleErrors(SingleAllCalcDataManager.java:1950) at com.workforcesoftware.Data.SingleAllCalcDataManager.recalc(SingleAllCalcDataManager.java:1923) at com.workforcesoftware.Data.SingleAllCalculationData.recalc(SingleAllCalculationData.java:2346) at com.workforcesoftware.Data.AllCalculationData.recalc(AllCalculationData.java:723) at com.workforcesoftware.Data.AllCalculationData.recalc(AllCalculationData.java:713) at com.workforcesoftware.Data.SingleAllCalcDataManager.recalcAndSaveOnSuccess(SingleAllCalcDataManager.java:2186) at com.workforcesoftware.Data.SingleAllCalcDataManager.loadAllCalcDataByPeriod(SingleAllCalcDataManager.java:261) at com.workforcesoftware.Data.SingleAllCalcDataManager.getLatestAllCalcData(SingleAllCalcDataManager.java:375) at com.workforcesoftware.Data.SingleAllCalcDataManager.getAllCalcData(SingleAllCalcDataManager.java:954) at com.workforcesoftware.Data.SingleAllCalcDataManager.getAllCalcData(SingleAllCalcDataManager.java:960) at com.workforcesoftware.TimeEntry.AssignmentManager.getAllCalcData(AssignmentManager.java:537) at com.workforcesoftware.TimeEntry.AssignmentManager.getDiff(AssignmentManager.java:357) at com.workforcesoftware.TimeEntry.AssignmentManager.getTransactionResults(AssignmentManager.java:1150) at com.workforcesoftware.TimeEntry.AssignmentManager.recalcAndSaveTimesheets(AssignmentManager.java:752) at com.workforcesoftware.TimeEntry.TimeEntryManagerImpl.recalcWithOptionalSave(TimeEntryManagerImpl.java:286) at com.workforcesoftware.TimeEntry.TimeEntryManagerImpl.debug(TimeEntryManagerImpl.java:342) at com.workforcesoftware.Jsp.TimeEntry.TimeEntryActionHandler.debug(TimeEntryActionHandler.java:1023) 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.workforcesoftware.Jsp.Util.ActionHandler.doAction(ActionHandler.java:204) at com.workforcesoftware.ClientRequests.JspUtils.SimpleAction.doAction(SimpleAction.java:51) at com.workforcesoftware.ClientRequests.JspUtils.WActionBase.performNoSynchronize(WActionBase.java:612) at com.workforcesoftware.ClientRequests.JspUtils.WActionBase.handleNormalRequest(WActionBase.java:472) at com.workforcesoftware.ClientRequests.JspUtils.WActionBase.handleRequest(WActionBase.java:208) at com.workforcesoftware.ClientRequests.JspUtils.WActionBase.perform(WActionBase.java:144) at org.apache.struts.action.Action.execute(Action.java:420) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.ezest.util.TargetToSystemFeatureFilter.doFilter(TargetToSystemFeatureFilter.java:108) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.workforcesoftware.ClientRequests.WFServletFilter$1.execute(WFServletFilter.java:59) at com.workforcesoftware.runtime.ResourceTracker.executeThenRelease(ResourceTracker.java:195) at com.workforcesoftware.runtime.ResourceTracker.executeOperationAndReleaseResources(ResourceTracker.java:112) at com.workforcesoftware.ClientRequests.WFServletFilter.doFilter(WFServletFilter.java:50) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.workforcesoftware.Security.CsrfTokenFilter.doFilter(CsrfTokenFilter.java:99) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.NullPointerException at com.workforcesoftware.Util.DateTime.WDate.lessThan(WDate.java:446) at com.workforcesoftware.Util.DateTime.WDate.monthsBetween(WDate.java:630) at com.workforcesoftware.Calculation.CalcHelper.calcServiceLength(CalcHelper.java:83) at com.workforcesoftware.Calculation.CalcAccrual.findAccrualServiceRange(CalcAccrual.java:101) at com.workforcesoftware.Calculation.CalcAccrual.createBankAccrualEvent(CalcAccrual.java:201) at com.workforcesoftware.Calculation.BeforeOrAfterPeriodAccruals.processOneAccrualRule(BeforeOrAfterPeriodAccruals.java:84) at com.workforcesoftware.Calculation.BeforeOrAfterPeriodAccruals.processApplicableAccrualRules(BeforeOrAfterPeriodAccruals.java:78) at com.workforcesoftware.Calculation.BeforeOrAfterPeriodAccruals.calculate(BeforeOrAfterPeriodAccruals.java:52) at com.workforcesoftware.Calculation.CalcBase.calculateIfNeeded(CalcBase.java:77) at com.workforcesoftware.
Read more...
Environment
SAP Absence & Leave Management by Workforce Software (All versions)
Keywords
KBA , XX-PART-WFR-ACT , SAP Absence & Leave Management (ACT) by Workforce Software , Problem
About this page
This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP for Me (Login required).Search for additional results
Visit SAP Support Portal's SAP Notes and KBA Search.