Wednesday, August 12, 2015

The Type of Flowfield in the table must be decimal


It is always challenging to resolve an error, when the error message is unclear or misleading.  Today I encountered same kind of message while I was making a modification to the table. 



I had a Normal custom date field in one of the table , i had also added some logic for validating the field and populating it on certain conditions. But today the requirement has changed and the user wants to convert that field to a Flowfield and to lookup  to another field in a different table. We have some test data in the database where custom date field is populated in initial testing, so the first task when you change type of the field, if you have the data in that field, is to clear/delete the data from all the companies.  Second task is to find the places where you assigned the value for the field and comment/delete it.

After completing the above two tasks I started testing the change and I received the below error

“The type of flowfield xxxx in the xxxx table must be decimal”

The first thing that occurred to me was the “CalcFormulae” might be looking at wrong field so I verified it and everything was fine there, so I compiled all the related tables and pages to check again but I was still getting the error.

I ran the debugger and it is breaking at a line of code where it is trying to validate the field, it is not assigning any value just validating


Once I commented the code, it worked fine. Interesting huh.. I tried with other field type text as flowfield and I got same error message, I tried with decimal field it gave me similar kind of error message.

I understand you cannot validate a flowfield but the error message it is throwing is totally misleading, I am not sure but I believe this is a bug.

If you encounter above message please do check if both tables have same data type and if there is any code to validate the field.



JS said...

I already bumped to similar error - lookup type flowfield, text 120, pointed to table, where field type was text 250. I corrected lenght to 250 si I am curious, if this will help. Because functionality is really complicated and I am not author :)