Data length for SQL data retrieved from an ODBC connection is determined by "Width" property of the Progress database fields. This can be accessed through "Progress Data Dictionary" by selecting the table that you want, then choosing in menu bar "Options", "Adjust Field Width". In CHAR fields normally the "Width" property is defined with a value that correspond to twice "Format" width.
For example : a field FOO, type CHAR, format "x(20)" by default has a 40 SQL Width value, twice as original format size.
Despite you can write data with length greater than 20 chars in a CHAR field formatted as "x(20)" as long as Progress don't care on what amount of data stored in his fields and "Format" phrase is only for display purposes (within his data type size limits, of course), it limits data length for SQL connections with a hard limit, such as Oracle does. In other words, for instance, as long as you can't write N + n chars in a Oracle database field defined as N length you can't retrieve data from a Progress database through an ODBC connection if they fields are defined as format "x(N)" and data stored on it exceeds, tipically, 2N.
If you don't have access to Progress database you may contact the person who's responsible for data stored on the Progress database and ask him to resize the fields on database schema to match the full amount of data stored. The programs whose is storing data on database may be discordant with database field size. Otherwise you won't be able to retrieve data from tables that have fields which stores more than "Width" chars.