The internal storage type of all messages created by these statements must be UTF-32.
These statements need to be modified to accept UTF-32 TEMP fields as an operand.
These statements need to be modified to output UTF-32 text.
A Literal operand is consider to be a RAW Alpha value and must therefore be transcoded from an 8859-1 encoding to a UTF-32 encoding before the operation can be performed.
If a literal operand contains embedded Unicode escape sequences, the corresponding UTF-32 character will replace the Unicode escape sequences in the resulting UTF-32 message
Test Plan
Test normal literals, all statements
Test literals with embedded Unicode, all statements
Test literals with invalid embedded Unicode (?), all statements
Test TEMP fields, all statements
Bugs
All literal messages are truncated after approx 20 characters (including the leading Error - , Warning - , etc) for ERROR/WARNING/MESSAGE/REFRESH Statements
CANCEL screen using literals has extra characters after the cancel message (looks like a question mark in a reverse image diamond). Sometimes wraps text unnecessarily or displays other garbage characters, depending on what other tests were done first.
No embedded literal Unicode characters were transcoded, they were displayed as is.
Invalid embedded literal Unicode characters did not generate an error (probably due to previous bug).
Using TEMP 80 with embedded Unicode displayed incorrectly (characters had spaces between them), all statements
Using TEMP 80 with no embedded Unicode displayed incorrectly (characters had spaces between them), all statements
Using TEMP 80 and MESSAGE command appeared to combine text of previous WARNING statement with new MESSAGE command (Unicode and non Unicode characters in TEMP 80)