Details
-
Type: Maintenance
-
Status: Fixed (View Workflow)
-
Resolution: Unresolved
-
Labels:None
-
Old bug number:29216
-
Patch version:P223,R116
Description
When a table includes a field that uses the Segmented TRX Character Packing
Code (SU*) then importing previously exported data to/from TRX or XML will
cause data corruption. The export includes XML tags that are called as the SU*
field and during import the same tags are generated again. As a result the
field content is not .
Consider the following scenario:
- A table ENT1 includes a string field SEG_FLD that is using the interface
definition SU* (Segmented TRX Character Packing Code)
- The data "123<GOLD>;123<GOLD>;123" is entered into the field SEG_FLD and
stored to the database
- In the database the data is stored like this:
"<SEG_FLD>123&uSEP;123&uSEP;123</SEG_FLD>"
- The data of ENT1 is exported using the Convert Data Utility; e.g. with the
command line: /cpy DEF:ENT1.MOD1 XML:
- In the export the data is stored as follows:
"<DAT
name="SEG_FLD"><SEG_FLD>123&uSEP;123&uSEP;123</SEG_FLD></DAT
>"
- The previously exported data is imported into the DB again
=> When retrieving the data of ENT1 then the field FLD_SEG show as content (in
version 9) "<SEG_FLD>123&uSEP;123&uSEP;123</SEG_FLD>" instead of
"123<GOLD>;123<GOLD>;123"
-
- Note: in version 8 the data of a SU* field was stored differently (as TRX
instead of XML)
- Note: in version 8 the data of a SU* field was stored differently (as TRX
The above described issue can be replicated with Uniface version 8 and 9, and
with different database (like for example Oracle, MS SQL Server, or Solid)