Once a database field is created and assigned a data type it s not possible to change that data type.
The tools that maintains the schema is the Data Dictionary, it does not allow the data type of a field to be changed.
The only exception came with the introduction of
64 bit integers since OpenEdge 10.1B, where in the case of an integer field there is a provision to change an
integer field datatype to and only to
int64.
Changing the data type of a field could results in data loss, for example:
- Converting an integer to a decimal would result in no loss.
- Converting a decimal field to an integer will result in loss of precision as the decimal portion of the data would be rounded.
- Converting an integer to INT64 would result in no data loss, it is not necessary to dump and load the data. However, to revert the datatype change, a dump and load is necessary. For further information refer to Article Progress INTEGER and INT64 data types
Other than the above INT -> INT64 exception, the only way to change the data-type of a field is to delete the field and insert it again with the required data as any existing data will be lost when the field is deleted. The following Article provides an example of how this can be achieved: