SET TEMP Statement

Overview

All TEMP fields in --- have been changed to have an encoding type of UNICODE.

Since all TEMP fields are now UNICODE fields, SET TEMP will always operate on Characters, not Byte of raw data.

SET TEMP "FROM"

  • UNICODE or NATIONAL alpha fields:
    • Characters are set into the respective locations as UTF-32 characters.
    • Any mismatch in lengths will result in normal trucation or UTF-32 space padding.
  • RAW alpha fields:
    • Each byte of the RAW data in the source field is transcoded from its 8859-15 character into the equivalent UTF-32 character and set into the TEMP field character location.
    • Any mismatch in lengths will result in normal trucation or UTF-32 space padding.
  • Literals:
    • A literal operand is considered to be a RAW alpha and must be transcoded from 8859-15 to UTF-32 before setting into the TEMP field character location.
    • A literal can include unicode scape sequences \u#### or \U######## for special unicode characters.
    • Any mismatch in lengths will result in normal trucation or UTF-32 space padding.
  • Group fields:
    • Group fields are not allowed with SET TEMP as they can have a mixture of data types.
    • The process compiler should report this error.
    • This may break some existing applications.

SET TEMP "INTO"

  • UNICODE and NATIONAL alpha fields:
    • The specifid characters in the UTF-32 TEMP field are set into the specified characters in the UTF-32 destination field.
    • Any mismatch in lengths will result in normal trucation or UTF-32 space padding.
  • RAW alpha fields:
    • The UTF-32 characters in the TEMP field are transcoded into the equivalent 8-bit 8859-15 singly byte characters in the range of 0x00 to 0xFF and then set into the specified location in the RAW alpha field.
    • If the UTF-32 charactrer can't be mapped using the 8859-15 character set then a data exception error will occur at runtime.
  • Group fields:
    • Group fields are not allowed with SET TEMP as they can have a mixture of data types.
    • The process compiler should report this error.
    • This may break some existing applications.

Test Plan

ILF Editor: (untested)

Test Requirements:

Does the ILF Editor allow all valid combinates from the above list?

Does the ILF Editor give a meaningful error when entering invalid combinations?

Test Results and Notes:

Untested

Process Compiler: (untested)

Test Requirements:

Does the Process Compiler allow all valid combinates from the above list?

Does the Process Compiler give a meaningful error when encountering invalid combinations? (can use Opt-88 to force saving or errors)

Test Results and Notes:

Untested

Bugs

  1. SET TEMP into a Raw Alpha does not appear to set any characters.

-- SteveFrizzell - 2011-03-08

Edit | Attach | Watch | Print version | History: r8 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2011-03-17 - PeteBrower
 
  • Edit
  • Attach
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