Pathway/iTS TCP and Terminal Programming Guide

Processing Double-Byte Character Sets
Compaq NonStop™ Pathway/iTS TCP and Terminal Programming Guide426751-001
8-14
Procedure Division
IF...DOUBLEBYTE Statement
The IF...DOUBLEBYTE statement tests for the existence of double-byte characters in
an alphanumeric data item:
Aligned double spaces are seen as %H2020 and are valid double-byte characters. A
single space or a nonaligned space is not a double-byte character.
MOVE Statements
SCREEN COBOL program units use MOVE and MOVE CORRESPONDING
statements to transfer data from one data item to one or more other data items. In
developing Pathway applications for double-byte character sets, you need to consider
the conventions and restrictions for MOVE statements defined in the Compaq
NonStopPathway/iTS SCREEN COBOL Reference Manual, especially the following:
Numeric integers, numeric nonintegers, and numeric edited data items must not be
moved to a data item that allows only double-byte (PIC N) data.
A data item or literal that allows only double-byte (PIC N) data must not be moved
to a numeric integer, a numeric noninteger, or a numeric edited data item.
Violation of either of these rules causes the SCREEN COBOL compiler to issue a
compilation error 453:
ILLEGAL SENDING OR RECEIVING ITEM IN MOVE STATEMENT
Moving any of the following figurative constants to a PIC N field is flagged as a
compiler error:
HIGH-VALUE
HIGH-VALUES
ZERO
ZEROS
ZEROES
LOW-VALUE
LOW-VALUES
QUOTE
QUOTES
Moving the figurative constants SPACE or SPACES to a PIC N field is allowed.
See the Compaq NonStopPathway/iTS SCREEN COBOL Reference Manual for a
list of the SCREEN COBOL compiler error messages.
Only selected devices can be used to create SCREEN COBOL source images that
contain double-byte characters. These devices must be capable of transmitting
double-byte characters to the host in Shift-JIS format. Contact the Compaq Tokyo
office for a list of such devices.
Table 8-1
summarizes the restrictions that apply to MOVE statements.
IF data-name [ IS ] [ NOT ] DOUBLEBYTE