Not to insult your intelligence<g> but could it possibly be a case problem instead? For example, your table has entry of "ON RISK" rather than "On Risk" which would not give a hit.
If that's not it, try moving your ALLTRIM() into the ASCAN(),"ASCan(Status, ALLTRIM(cStatus))", to see if your results vary. Good luck and let us know.
Status(1) = "On Risk"
Status92) = "Proposed"
Status(3) = "Cancelled"
...
..
And a function set up to try and locate a certain policy type within that array based on the contents of a field held on a table. The field holds the corresponding names but in a c(20) field size. I am passing to the function this field name as an lParameter cStatus, trimming the spaces with ALLTRIM(cStatus) and then doing an ASCan(Status, cStatus). BUT noting is being found as the spaces are not being trimmed off by ALLTRIM.
Does anyone recognise this problem. Everything seems to work fine outside the programm, if I test things out in the comand window the field gets trimmed and the array element is found. But the minute I run the code, ALLLTRIM stops working. >
Later...
/< /-/