Difference: UnicodeEncodingType (2 vs. 3)

Revision 32011-03-09 - PeteBrower

Line: 1 to 1
 
META TOPICPARENT name="UnicodeTestPlan"

Unicode Encoding Types

Line: 19 to 19
 
  • TEXT

RAW Encoding:

Added:
>
>
  • All existing alpha fields will have a default single-byte encoding type of RAW.
  • DD length is the number of 8-bit bytes that the field can store.
  • Internal format in the engine is 8-bit bytes.
  • May contain binary data.
  • May contain 8-bit characters (uses 8859-15 encoding when interpreted as character data).
  • Stored in APPXIO records as 8-bit bytes.
  • No transcoding is performed when reading/writing a RAW field in APPXIO.

UNICODE Encoding:

  • DD length is the number of 4-byte UTF-32 characters that the field can store.
  • Internal format in the engine is UTF-32 (4 bytes per character).
  • Used to store Unicode characters in a UTF-32 encoding.
  • Stored in APPXIO as 4-byte UTF-32 characters.
  • No transcoding is performed when reading/writing a UNICODE field in APPXIO.

NATIONAL Encoding:

  • DD length is the number of 8-bit characters that the field can store.
  • Internal format in the engine is UTF-32 (4 bytes per character).
  • Used to store Unicode characters using a specified 8-bit encoding method.
  • The encoding method is specified in System Admin (SYSPARM, SYSDFLT, and SYSDIR).
  • Stored in APPXIO records as 1-byte characters.
  • Transcoding of characters is performed to/from the internal UTF-32 format when reading/writing an NATIONAL field in APPXIO.

APPX Data Dictionary Considerations:

  • The field length represents the number of characters that can be stored in the alpha field

PDF Fields That Are Now UNICODE:

  • All TEMP fields are now Unicode.
  • --- COMPARE CURRENT VALUE
  • --- COMPARE OTHER VALUE
  • --- STD REPORT TITLE
  • --- STD SEP CHAR
  • --- STD PAGE HEADING
  • --- STD COLUMN HEADING
  • --- STD SEPARATOR HEADING
  • --- STD DATE
  • --- STD PAGE DESC

FMS Considerations: (initial implementation is for Appx-IO and Oracle only)

  • Appx-IO
    • Supports all 3 Encoding types
    • Transcodes all NATIONAL encoded fields to/from our internal UTF-32 encoding.
  • Oracle
    • Transcodes all alpha fields to/from Oracle DB encoding and our UTF-32 encoding
    • File creates should now use
      • Long data types for large fields
      • Appropriate column types for UNICODE and NATIONAL types.

Restructure Considerations:

  • Supports changing of encoding type for alpha field types in the DD.
  • Structure file includes the encoding type for each individual alpha field type.
  • Restructure occurs if DD definition of encoding type changed
  • Structure file includes the single-byte encoding method from System Admin for alpha fields with an NATIONAL encoding type.
  • Restructure occurs if the single-byte encoding specified in system admin for the file does not match the encoding of the NATIONAL alpha fields.

Client Considerations:

Test Plan:

APPX Data Dictionary Considerations:

  • Does the DD allow encoding type for all alpha field types to be specified?
  • Does the DD compiler support 1-byte or 4-byte characters in alpha fields?

ILF Statements Effected:

  • APPEND
  • BEG AT/END AT
  • BROWSE
  • CALL
  • CNV BIN
  • CNV PORT – 0DB Export/Import routines
  • CNV TEXT – Used throughout 0-Apps
  • COMPUTE/TOTAL (hash totals)
  • DEFINE/UNDEFINE
  • IF/AND/OR
  • IF DIFF - Sets fields values into COMPARE file
  • PACK/UNPACK
  • PASS/RECEIVE/LOCAL/GOSUB
  • PRINT - Only used in STD Report Heading routines
    • References WORK fields
    • References --- STD fields
    • Is not used with any TEMP fields
  • PUSH/POP
  • RUN
  • SCAN
  • SET
  • SET DAY/SET MNTH
  • SET TEMP
  • STORE/RESTORE
  • VERIFY
  • WARNING/ERROR/CANCEL/MESSAGE/REFRESH

Process Specific Considerations:

  • Does the QUERY processor use correct collating sequence when sorting all UNICODE alpha field types?
  Allow large alpha fields to be defined in the APPX DD (up to 4GB)
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback