All statements that involve moving data between items and/or literals of class NCHAR obey the rules given for such moves under the General Rules below.
Category of Sending Item |
Category of Receiving Data Item |
Alpha-numeric |
NCHAR |
NCHAR-EDITED |
NCHAR with JUSTIFIED |
Alpha-numeric |
See Note |
Yes/G1 |
Yes/G4 |
No/S2 |
NCHAR |
Yes/G2 |
Yes/G3 |
Yes/G4 |
Yes/G5 |
NCHAR-EDITED |
No/S1 |
No/S1 |
No/S1 |
No/S1 |
NCHAR with JUSTIFIED |
Yes/G2 |
Yes/G3 |
Yes/G4 |
Yes/G5 |
Note: Class Alphanumeric is specified in this table as an illustration of the usage of single-byte or group data items. For details of MOVE operations involving only single-byte data items refer to the topic
The MOVE Statement. For details of MOVE operations mixing single- and double-byte data item, refer to the following information and the table above.
Syntax Rules
- The sending data item must not be of category NCHAR-EDITED.
- If the receiving data item is of class NCHAR and the JUSTIFIED clause is specified, the sending data item must be of class NCHAR.
General Rules
- If the sending data item is of class alphanumeric or alphabetic and the receiving data item is of class NCHAR then the single-byte characters in the source are converted into the equivalent double-byte characters in the target. DBCS characters in the source are moved unchanged into the target.
If a receiving data item is a different size from the sending data item, the data that is stored in the receiving item is truncated or padded on the right with DBCS spaces.
- If the sending data item is of class NCHAR and the receiving data item is of class alphanumeric, then the hexadecimal values in the source are moved, unchanged, to the target data item on a byte by byte basis.
If a receiving data item is a different size from the sending data item, the data that is stored in the receiving item is truncated or padded on the right with SBCS spaces.
- If the sending data item is of class NCHAR and the receiving data item is also of class NCHAR, then the values in the source are moved, unchanged, to the target data item on a byte by byte basis.
If a receiving data item is a different size from the sending data item, the data that is stored in the receiving item is truncated or padded on the right with DBCS spaces.
- If the sending data item is of class alphanumeric, alphabetic or NCHAR and a receiving data item is of category NCHAR-EDITED, editing is carried out on that receiving data item.
If a receiving data item is a different size from the sending data item, the data is stored in that receiving item and truncated or padded on the right with DBCS spaces.
If the sending data item is of class alphanumeric or alphabetic, the hexadecimal values of the single-byte characters in the source are converted to the equivalent double-byte characters in the target. DBCS characters in the source are moved unchanged into the target.
- If the sending data item is of class NCHAR and the receiving data item is class NCHAR with the JUSTIFIED clause specified, then the values in the source data item are moved, unchanged, to the target data item on a byte by byte basis.
When a receiving data item is described with JUSTIFIED clause and the sending data item is larger than the receiving data item, the leftmost characters are truncated. When the receiving data item is described with the JUSTIFIED clause and it is larger than the sending data item, data is aligned at the rightmost character position in the data item with DBCS spaces padding from the leftmost character positions.