Bug - Finds on Unstored Calculations within Scheduled Scripts Run by Server
FMP Server 12 Advanced 12.04.405
Description of the issue
Several years ago, there was a release of FileMaker Pro 7, 8, or 9 (I don’t recall which) that contained a bug where searches on unstored calculation fields were falsely returning no found records because the server and the desktop client were not correctly negotiating which was going to perform the calculations (leading to the search being done on empty fields and returning no results). The issue was discovered and resolved in the next update.
A variation of this bug seems to have resurfaced in FileMaker Pro 12. When the server is performing a script on a timer schedule that includes a search on unstored calculation fields, that script is incorrectly returning no results (a found set of 0 records), when the same script run by the desktop client does return results.
Steps to reproduce the problem
Create a script that performs a search on an unstored calculation field (such as a Count () performed on a related table). Include a SendMail script step to let you know how many results are found. Run the script from the desktop client to discover that there are valid search results (a non-zero found set). Run the script from the server set on a schedule and discover that the script incorrectly returns no valid results.
In the specific case that brought up the problem, we expected the script to run on schedule and to send e-mails to staff members who met certain criteria based on unstored calculation fields. No e-mails were being sent.
When all other troubleshooting proved fruitless (we initially suspected our SMTP settings as the problem), we included a SendMail script step to inform us how many records were being returned by the search. This informed us that no records were being returned by the search. This was not the accurate result, as verified by the fact that the same script, when run by the desktop client, did return the accurate results and functioned as expected.
Exact text of any error message(s) that appear