*fill arrays *ALINES( .aColumns, .ColumnsList , .t. , ',') *ALINES( .aColumnHeaders, .ColumnHeaders , .t. , ',') *ALINES( .aColumnWidths, .ColumnWidths, .t. , ',') .ColumnsList = STRTRAN(.ColumnsList, ",", CHR(13) + CHR(10)) ALINES(.aColumns, UPPER(.ColumnsList), .T.) .ColumnHeaders = STRTRAN(.ColumnHeaders, ",", CHR(13) + CHR(10)) ALINES(.aColumnHeaders, UPPER(.ColumnHeaders), .T.) .ColumnWidths = STRTRAN(.ColumnWidths, ",", CHR(13) + CHR(10)) ALINES(.aColumnWidths, UPPER(.ColumnWidths), .T.)That did it. Thanks a lot. Logic courtesy Sergey from a different post, thanks Sergey. Maybe you can put in a IF condition based on the version() return value so both new logic and VFP6 logics can be used by the same class.