Consultor Eletrônico



Kbase P8998: Oracle schema pull of a number field gets converted to integer in progress
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   06/05/2011
Status: Verified

SYMPTOM(s):

Oracle schema pull of a number field gets converted to integer in progress

In Oracle, the number field is defined as number with no precision and no scale, i.e., number.

In the schema holder, the field is created as int

FACT(s) (Environment):

Oracle DataServer
All Supported Operating Systems

CAUSE:

Expected behavior, if no precision and no scale is defined for a number field, oracle considers it as float and progress considers it to be int


If you read p.3-4 of the 10.2B Oracle DataServer guide, it implies that when you pull a NUMBER type from Oracle, the precision and scale cannot be preserved.
There is this note in Table 3-2 that says the user is required to fix up the schema image after the pull in order to preserve the precision and scale characteristics of the server parameter in the OpenEdge mapping.
To preserve the scale and precision of these data types, you must manually update the information in the schema image for these parameters.

FIX:

The field in schema holder can be manually adjusted to be numeric.

Use the Data Dictionary to update the data type and format information in the Field Property Sheet for the parameter.