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.