Consultor Eletrônico



Kbase P108090: Foreign field mapping with decimal field fails, data-target SDO contains no records.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   8/29/2005
Status: Unverified

FACT(s) (Environment):

Progress 9.x
OpenEdge 10.x

SYMPTOM(s):

ADM2

Foreign field mapping on data link fails

Child SDO (data-target) does not contain any records

Child SDO (data-target) run on AppServer

Foreign Field mapping includes decimal field

CAUSE:

Numeric format settings on client and server side do not match.
The key values are marshalled into a character string, and due to the mismatch decimal fields will not be unmarshalled correctly.

FIX:

Make sure the numeric format settings on the client and the AppServer match.

This can be achieved using the startup parameters (-numdec and -numsep), but this leads to further issues if the AppServer is accessed from different locales with different numeric formats, for example when a European client connects to an American AppServer.

A more thorough way would be to synchronize the formats on client and AppServer side. To achieve this, send the client's SESSION:NUMERIC-SEPARATOR and SESSION:NUMERIC-DECIMAL-POINT attributes to the AppServer and there use the SESSION:SET-NUMERIC-FORMAT() method to chance the settings on the AppServer as required.

The exact implementation will depend on how the application's context management is designed.