Table of Contents
Ispirer Website
Ispirer Capabilities - Progress 4GL Conversion
Free Trial
Progress 4GL and OpenEdge ABL Data Types
This article describes the data types supported by Progress 4GL and OpenEdge ABL 10.x and earlier.
Progress 4GL Data Types
Overview
Data Type | Parameters and Range |
---|---|
Character Data Types | |
CHARACTER - Fixed-length character data | |
LONGCHAR - Variable-length character data | |
Integer Data Types | |
INTEGER - 32-bit integer data | |
Fixed-Point Numeric Data Types | |
DECIMAL - Fixed-pont numeric data | |
Date and Time Data Types | |
DATE - Date data type | |
DATETIME - Date and time data type | |
DATETIME-TZ - Date and time data type | |
Other Data Types | |
HANDLE - Handle (pointer to a resource) | |
LOGICAL - Boolean data | |
MEMPTR - Sequence of bytes in memory | |
RECID - Unique internal identifier of the current database record | |
ROWID - Unique internal identifier of the current database record |
Character Data Types
CHARACTER
Progress 4GL/ABL - CHARACTER | |
---|---|
Syntax | CHARACTER |
Data | Variable-length character data |
Range | 32K |
Default Value | Empty string |
Notes | Display format limits the maximum number of characters that are displayed. In 4GL/ABL environment, it is allowed to insert data exceeding display format. When the SQL interface is used, Progress, by default, sets the SQL-WIDTH to twice the length of the displayed format. SQL clients (ODBC/JDBC i.e.) cannot insert a value exceeding SQL-WIDTH. To change SQL-WIDTH, use Data Dictionary tool, select a table, select Option Menu, SQL Properties, Adjust Width |
Progress 4GL/ABL CHARACTER - Equivalents in Other Databases
Database | Data Type and Conversion |
---|---|
Oracle | CHAR(n), 1 ⇐ n ⇐ 2000/charsize |
SQL Server | CHAR(n), 1 ⇐ n ⇐ 8000 |
IBM DB2 | CHAR(n), 1 ⇐ n ⇐ 254 |
MySQL | CHAR(n), 0 ⇐ n ⇐ 255 |
PostgreSQL | CHAR(n), 1 ⇐ n ⇐ 1G |
Sybase ASE | CHAR(n), 1 ⇐ n ⇐ pagesize (2K, 4K, 8K or 16K) |
Sybase ASA | CHAR(n), 1 ⇐ n ⇐ 32767/charsize |
Informix DS | CHAR(n), 1 ⇐ n ⇐ 32767 |
Teradata | CHAR(n), 1 ⇐ n ⇐ 64000/charsize |
HP Neoview | CHAR(n), 1 ⇐ n ⇐ 4036 |
Interbase/Firebird | CHAR(n), 1 ⇐ n ⇐ 32767/charsize |
Other Data Types
LOGICAL
Progress 4GL/ABL - LOGICAL | |
---|---|
Syntax | LOGICAL |
Data | Boolean data |
Range | TRUE and FALSE (they are 4GL/ABL keywords). Possible literal values for true state: TRUE and YES. Possible literal values for false state: FALSE and NO |
Progress 4GL/ABL LOGICAL - Equivalents in Other Databases
Database | Data Type and Conversion |
---|---|
SQL Server | BIT - 0, 1 and NULL |
MySQL | BOOL, BOOLEAN, -128 to 127 and NULL |
PostgreSQL | BOOLEAN - TRUE/FALSE (1/0) and NULL |
Sybase ASE | BIT - 0 and 1, NULL is not allowed |
HANDLE
Progress 4GL/ABL - HANDLE | |
---|---|
Syntax | HANDLE |
Data | Pointer to a handle-based object |
Examples:
DEFINE VARIABLE hHandle AS HANDLE NO-UNDO. hHandle = THIS-PROCEDURE. /* Set a handle to a procedure object */