Character Format
The fixed-length character format is one or more bytes long with a set length.
For information on the variable-length character format, see Variable-Length Character, Graphic and UCS-2 Formats.
You define a character field by specifying the CHAR or VARCHAR keyword in a free-form definition or by specifying A in the Data-Type entry of a fixed-form specification. You can also define one using the LIKE keyword on the definition specification where the parameter is a character field.
The default initialization value is blanks. A blank is x'40' for EBCDIC data and x'20' for ASCII or UTF-8 data.
You can specify the default CCSID for character fields using the CCSID(*CHAR) keyword on a Control statement or a /SET directive. You can also specify the CCSID explicitly using the Definition statement CCSID keyword.
CCSID of data in character format
- CCSID(*EXACT) is specified on a Control statement.
- CCSID(*CHAR) is specified on a Control statement with a CCSID other than *JOBRUN.
- CCSID(*CHAR) is specified on a /SET statement that is in effect.
- CCSID(*EXACT) or CCSID(*NOEXACT) is specified for the data structure containing the character subfield.
- The CCSID keyword is specified on the definition for the character item.
- if CCSID(*CHAR:*JOBRUN) is in effect, the data has the job CCSID.
- otherwise, the CCSID is assumed to be the
mixed graphic CCSID related
to the job CCSID.
Warning: When CCSID(*CHAR:*JOBRUN) is specified, and control statement keyword CCSID(*EXACT) is not specified, alphanumeric fields that do not have the CCSID explicitly specified are not considered to have a known CCSID when the RPG compiler determines whether to perform CCSID conversion between the data in the input or output buffer and the program field. See CCSID conversions during input and output operations for more details.
- The item is a hexadecimal literal.
- CCSID(*HEX) or CCSID(65535) is implicitly or explicitly specified by the CCSID keyword on the definition for the item.
- The default character CCSID is 65535 See CCSID control keyword for information on how to set the default character CCSID.
- The item is the result of the %CHAR built-in function with *HEX specified for the CCSID operand.
- The item is a subfield in an externally-described data structure or a data structure defined with the LIKEREC keyword, CCSID(*EXACT) is specified for the data structure definition, and the external field has type Hexadecimal.