I have a formula field in a custom module.
The formula is: abs(subtract(daysUntil($agreement_date_c),daysUntil($date_entered)))
Agreement date is a Date field, date_entered is a DateTime
Today, for the first time, I got an odd 500 error that I don't quite understand.
There are two FATAL entries in the log:
Fri Aug 22 20:21:38 2025 [3856067][1][FATAL] Exception evaluating expression in SetValueAction, abs(subtract(daysUntil($agreement_date_c),daysUntil($date_entered))) : value '' must be numeric
#0 /var/www/html/sugarcrm/include/SugarMath/SugarMath.php(122): SugarMath->testValue()
#1 /var/www/html/sugarcrm/include/SugarMath/SugarMath.php(62): SugarMath->setValue()
#2 /var/www/html/sugarcrm/include/SugarMath/SugarMath.php(88): SugarMath->__construct()
#3 /var/www/html/sugarcrm/include/Expressions/Expression/Numeric/SubtractExpression.php(30): SugarMath::init()
#4 /var/www/html/sugarcrm/include/Expressions/Expression/Numeric/AbsoluteValueExpression.php(25): SubtractExpression->evaluate()
#5 /var/www/html/sugarcrm/include/Expressions/Actions/SetValueAction.php(124): AbsoluteValueExpression->evaluate()
#6 /var/www/html/sugarcrm/include/Expressions/Dependency.php(209): SetValueAction->fire()
#7 /var/www/html/sugarcrm/include/Expressions/Dependency.php(184): Dependency->fireActions()
#8 /var/www/html/sugarcrm/data/SugarBean.php(2529): Dependency->fire()
#9 /var/www/html/sugarcrm/clients/base/api/ActionButtonApi.php(366): SugarBean->updateCalculatedFields()
#10 /var/www/html/sugarcrm/include/api/RestService.php(320): ActionButtonApi->evaluateExpression()
#11 /var/www/html/sugarcrm/api/rest.php(26): RestService->execute()
#12 {main}
Fri Aug 22 20:21:56 2025 [3856063][1][FATAL] An exception happened: (500: db_error) Database failure. Please refer to sugarcrm.log for details.
Which suggests that it tried to enter something other than an integer in the DB.
since neither the agreement_date_c nor the date_entered are empty, how could the formula return anything other than an integer?
in this particular example agreement_date_c = 2024-08-02 and date_entered = 2024-01-31 20:27:18
It's been a long week and there may be something obvious I'm not seeing...
Thanks,
FrancescaS