An ABL database can contain fields, also referred to as columns, of variable length. However, SQL CREATE TABLE statements specify the maximum width of each column in a table. ABL programs have the ability to insert data whose length exceeds the Data Dictionary value of SQLWidth. SQL applications will not be able to read a row if a column contains data greater than the SQLWidth value defined in the Data Dictionary.

Two tools enable you to compensate for column width discrepancies:

  • The -checkwidth startup parameter
  • The DBTool utility

Working with data type compatibility

While all ABL data types are supported by SQL equivalents, the following table illustrates the ABL data types and the corresponding compatible OpenEdge SQL data type.

Table 1. ABL and OpenEdge SQL data types
ABL data type OpenEdge SQL data type
ARRAY ARRAY, VARARRAY
BLOB LVARBINARY, BLOB
CHARACTER VARCHAR, CHAR
CLOB CLOB, LVARCHAR
DATE DATE
DATETIME TIMESTAMP
DATETIME-TZ TIMESTAMP WITH TIME ZONE
DECIMAL DECIMAL or NUMERIC
INTEGER INTEGER
LOGICAL BIT
RAW VARBINARY
RECID INTEGER
Note: This table is only to list the ABL data types and their corresponding compatible OpenEdge SQL data types. However, the ABL data type CHARACTER is not compatible with the SQL data type CHAR, and the ABL cannot read or write a CHAR datatype column.

For information on ABL data types, see Develop ABL Applications. For more information on OpenEdge SQL data types, see OpenEdge SQL Reference.