calworkminutesplugin is working fine in expression rule. But when i call the expression rule from the process model getting the below error message.
Expression evaluation error in rule 'xxxxx' at function 'calworkminutesplugin' [line xx: ) (Data Outputs)
Any Suggestions Please.
Discussion posts and replies are publicly visible
Did you check the tomcat-stdout log file for any details?
Hi Stefan, thanks for quick response.
the log file showing as below:
Caused by: java.lang.NullPointerException at com.appiancorp.ps.plugins.calendarfunctions.CalendarHelper.initializeCalendar(CalendarHelper.java:47) at com.appiancorp.ps.plugins.calendarfunctions.CalWorkMinutesPlugin.CalWorkMinutesPlugin(CalWorkMinutesPlugin.java:36) at sun.reflect.GeneratedMethodAccessor4564.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.appiancorp.process.expression.CustomFunction$1.call(CustomFunction.java:846) at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:27) at com.appiancorp.process.expression.CustomFunction.evaluate(CustomFunction.java:840) at com.appiancorp.process.expression.CustomFunction.evalDynamic0(CustomFunction.java:248) at com.appiancorp.process.expression.CustomFunction.lambda$evalDynamic$0(CustomFunction.java:240) at com.appiancorp.plugins.PluginUsageLogger.callWithPluginInformation(PluginUsageLogger.java:39) at com.appiancorp.process.expression.CustomFunction.evalDynamic(CustomFunction.java:239) at com.appiancorp.process.expression.CustomFunction.eval0(CustomFunction.java:208) at com.appiancorp.core.expr.DefaultEvaluable.eval(DefaultEvaluable.java:214) at com.appiancorp.process.expression.ExpressionEvaluator.evaluate(ExpressionEvaluator.java:314) at com.appiancorp.core.expr.FunctionCallDelegate$ExternalFunctionCallWithContext.evaluateCustomerPluginFunction(FunctionCallDelegate.java:395) at com.appiancorp.core.expr.FunctionCallDelegate$ExternalFunctionCallWithContext.doCallWithMetrics(FunctionCallDelegate.java:362) at com.appiancorp.core.expr.FunctionCallDelegate$ExternalFunctionCallWithContext.eval(FunctionCallDelegate.java:333)
I am not using any timezone and as well as calendar.
I might have to disappoint you. This function works with a process calendar which by default has a working time between 9am and 5pm. Both of the timestamps you are outside of that working time.
Now, the big question, do you need to respect working time?
no. I want to calculate network min based on the date and time.
this function is not working if pass calendar
any other suggestion
In the plugin "Date and Time Utilities" there is a function elapsedminutes().
true but it will not consider the network hours and calendar. i want calculate only lapsed network min
It's either calworkminutesplugin() for net work minutes or elapsedminutes() for total minutes.
All the net work stuff in Appian is based on the Process Calendar.
Sure. But this plug-in is not working correctly if add calendar. without calendar its working.
It's taking the default system calendar.
calworkminutesplugin(): This returns the actual number of work minutes between two given Datetimes (both inclusive), according to the calendar defined for the system.
That's pretty simple. Any time outside the working time is considered zero. So
calworkminutesplugin(datetime(2023,09,15,5,15),datetime(2023,09,15,5,25))
returning 0
is the expected behaviour.
i tried with deferent calendar but its not working. works fine for without calendar
As mentioned earlier, Please check the working time defined in the calendar that is being passed in the function, it will take the default working hours if no custom calendar is passed. You can make your own calendar and define working hours for that as well and use that. As Stefan said , this is expected behavior. These functions basically work according to process calendar settings defined. Hope that helps
Unknown said:calworkminutesplugin(datetime(2023,09,15,5,15),datetime(2023,09,15,5,25)) returning 0 is the expected behaviour.
Thanks
This is really running in circles ...
What calendars do you use and how are they configured?
What does "its not working" actually mean?
let me do some test scenarios. thank you all for your quick responses..