E1: UPG: How To - Double Byte Database With Unicode-CodeBase And Database Kept As Non-Unicode
Last updated on MAY 30, 2017
Applies to:JD Edwards EnterpriseOne Tools - Version SP24 and later
Information in this document applies to any platform.
For E1 8.9+ application releases, Runtime cannot stop user from entering more data than the field can hold, since Runtime does not know if user is using a Unicode or Non-Unicode table. The database layer does NOT truncate data, but instead, throws a system exception that the insert or update operation cannot be completed. This is because the size of data being inserted or updated is larger than what the database allows.
Detail of ISSUES with Double Byte database String Data:
- The results are that the database can hold 1 byte and 2 byte data.
- If the user typed in Double Byte characters, the database will convert the UTF8 String using their Double Byte character set. The conversion can result in garbage in the table.
- If the user typed in 32 Double Byte characters for example, UTF8 string will have 64 bytes total, the database can have an exception, and/or, data written to the table will not be updated. This is because the database will use all 64 bytes of data from UTF8 string to write to the table. If the database is not Unicode it will only allow 32 bytes but since the user typed 32 double byte characters, which is 64 bytes, the data cannot be inserted or updated in the database.
- This issue does not happen in EnterpriseOne XE because user has no option to type in more than what can be stored in table. Runtime level prevents users from typing in more data than what can be stored in the database.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms