>John,
>
>Thanks for your reply to my question. Unfortunately, when I called SCATTER in the following way:
>
>SCATTER FIELDS (cRecord_field_name), (cFirstname_field_name), ... TO laFieldInfo
>
>where '...' represents the rest of the field names. I got a general syntax error. I set up the values of THIS.record_field_name, THIS.firstname_field_name, etc. by calling the function in my original message. I then declared some LOCAL variables (i.e. cRecord_Field_Name, etc.) and assigned them the values of THIS.record_field_name, etc.
>
What you might try to do is to build a string containing the list of fields to scatter as a single string:
cFieldList = Parm1 + ',' + Parm2 + ',' + ...
SCATTER FIELDS &cFieldList TO laFieldInfo
You can get fairly sophisticated building cFieldList; I'd try passing an array in by reference to create the field list, maybe something like:
FUNCTION MyScatter
LPARAMETERS taFieldList
LOCAL nCtr, nNumRows, cFieldList
nNumRows = ALEN(taFieldList,1)
cFieldList = ''
FOR nCtr = 1 TO nNumRows
cFieldList = ',' + taFieldList[nCtr]
ENDFOR
cFieldList = SUBST(cFieldList,2)
LOCAL laArray[nNumRows]
SCATTER FIELDS &cFieldList TO laArray
RETURN ACOPY(laArray,taFieldList)
>Have I done something else wrong?
>
>Thanks again,
>
>Henry