What is Happening Here – Date Function with Wrong Date
See if you can guess : What is Happening Here?
Below is a project written in Oracle Policy Automation 12 (this was actually in 12.18B but it has no bearing on the example). It has only one attribute : the date of the next visit. This is written as follows:
The date of the next visit= YearEnd (AddYears(the current date;1))
The date you are running the Debugger, the current date is November 19, 2018. The rule should perform a simple assignment, taking the current date, adding a year and then using that as the input for the YearEnd function. So :
YearEnd(November 19, 2019)
The date is incorrectly showing 12/31/20. So what is happening here? Even more fun, the Data tab of the Debugger shows the following:
The value is correct on the right, wrong on the left. So what has happened to the Oracle Policy Automation project in this example?
You are free to give the answer, if you know it, in the comments. I will come back in a couple of days and explain. And before you ask, yes, I can across this in the real world yesterday and it is not a bug, it did not require a Service Request, and somebody had done something. The behavior is entirely reproducible I would imagine in any language.
Sometimes you want to write about something (in my case, I wanted to look at Silent and Hidden settings) but life gets in the way. This was such an amusing thing (with hindsight) that I decided to write about it instead.
Enjoy this and hopefully you will immediately have spotted the possible culprit. You can peruse the documentation online here.