FUNCTION FieldsToString LPARAMETERS tlAddTypes, tlAddAlias, tlLower LOCAL lcStr, lni, lnFields, laFields[1], lcType, lcField lnFields = AFIELDS(laFields) lcStr = "" FOR lni = 1 TO m.lnFields lcType = laFields[m.lnI,2] IF m.tlLower lcField = LOWER(laFields[m.lnI,1]) ELSE lcField = LOWER(LEFT(laFields[m.lnI, 1],1)) + ; PROPER(SUBSTR(laFields[m.lnI, 1],2)) ENDIF lcStr = m.lcStr + ", " + IIF(m.tlAddAlias,ALIAS() + ".", "") + ; m.lcField + ; IIF(m.tlAddTypes, " " + m.lcType + ; IIF(NOT INLIST(m.lcType, "D","T","I","G","M","Y"), "(" + TRANSFORM(laFields[m.lnI,3]) + ; IIF(laFields[m.lnI,4] > 0, ", " + TRANSFORM(laFields[m.lnI,4]),"") + ")",""),"") NEXT _CLIPTEXT = SUBSTR(m.lcStr, 3)output to file instead of cliptext and add index generation routine.