>>>
>>>do while lnID > 0
>>> lnID = (lnID + 1)/2
>>> if type("taParms[lnID, 2]") = type("tcParmName")
>>> if upper(taParms[lnID, 1]) == tcParmName
>>> exit
>>> endif
>>> endif
>>> lnID = lnID * 2
>>> lnID = aScan(taParms, tcParmName, lnID)
>>>enddo
>
>Granted. However, you are testing the type of the Parm Name. That will always be character, right? I guess I'm still confused...
Correct, tcParmName will always be character while its value can be any data type. I am not sure what my rationale was for the line of code --
if type("taParms[lnID, 2]") = type("tcParmName")
For now, I am going to comment out that line and its corresponding ENDIF. I see no reason for not returning various data types.
Mark McCasland
Midlothian, TX USA