compile function mssql_checkdata( Row, ConfigRecID, ConfigRec, ConfigTable ) declare function fieldcount, msg $insert logical convert '`' to @fm in Row ThisRowID = Row<1> Rcnt = fieldcount( Row, @fm ) NewRow = '' for i = 1 to Rcnt ThisColumn = Row ColRule = ConfigRec convert '`' to @fm in ColRule DataType = ColRule<1> DataSpec = ColRule<2> DataSpec2 = ColRule<3> begin case case DataType = 'V' if len( ThisColumn ) > DataSpec then gosub WriteErr return 1 end case DataType = 'I' if index( ThisColumn, '.', 1 ) then gosub WriteErr return 1 end else if num( ThisColumn ) else gosub WriteErr return 1 end end case DataType = 'DT' ThisColumn = oconv( ThisColumn, 'D2/' ) case DataType = 'D' ThisColumn = oconv( ThisColumn, 'MD':DataSpec2 ) if len(field( ThisColumn, '.', 1 )) > DataSpec then gosub WriteErr return 1 end case DataType = 'T' if index( ThisColumn, '`', 1 ) then gosub WriteErr return 1 end case DataType = 'C' if len( ThisColumn ) = DataSpec else gosub WriteErr return 1 end end case NewRow := ThisColumn:'`' next i NewRow[-1,1] = '' Row = NewRow return 0 *================================================================================================* WriteErr: ErrorRecID = ConfigRecID:'_ERR' ErrorLine = fmt( ThisRowId, 'R#15' ):' ':i: ' ':ThisColumn ErrorRec = xlate( 'CONFIG', ErrorRecID, '', 'X' ) ErrorRec<-1> = ErrorLine write ErrorRec on ConfigTable, ErrorRecID else Void = msg( '', 'Error writing ':ErrorRecID:' on CONFIG...' ) return 0 end return *================================================================================================*