You are in: RPG Cafe > New in 2016: Compile from Unicode
Short URL: http://ibm.biz/RPG_Compile_Unicode_Source
RPG Cafe: Compile from Unicode source
Enhancement for 7.1, 7.2, and 7.3: Compile RPG from Unicode - PTFs provide a new TGTCCSID parameter
The ILE RPG compiler normally reads the source files for a compile in the CCSID of the primary source file. The compiler only supports reading the source in an EBCDIC CCSID. If IFS source has an ASCII CCSID, the compiler can derive an equivalent EBCDIC CCSID. But there is no one equivalent EBCDIC CCSID related to Unicode, so the compile will fail when the primary source file has a Unicode CCSID such as UTF-8 or UTF-16.
PTFs are available for 7.1, 7.2, and 7.3 to provide a new TGTCCSID parameter parameter for the CRTBNDRPG and CRTRPGMOD commands. This parameter allows you to specify the EBCDIC CCSID with which the compiler will read the source files for the compile.
To compile from Unicode source, specify TGTCCSID(*JOB) or specify a valid EBCDIC CCSID such as TGTCCSID(37) or TGTCCSID(5035).
The default is TGTCCSID(*SRC) which is the same as the current behavior.
When compiling Unicode source with CRTSQLRPGI, specify RPGPPOPT(*LVL1) or RPGPPOPT(*LVL2) and COMPILEOPT('TGTCCSID(*JOB)'), or some other TGTCCSID parameter value.
- Applying or removing these PTFs causes your changed command defaults to revert to the shipped defaults.
- Check for any changed defaults before you apply or remove the PTFs so you can change the defaults again.
- If you made copies of the commands, your copies do not have the TGTCCSID parameter
- Here the Special Instructions for the PTFs:
- The QDEVTOOLS/CRTBNDRPG and QDEVTOOLS/CRTRPGMOD commands are being changed. This change also affects the proxy commands in QSYS, and any other proxy commands for these commands. If you made changes to the command defaults for these commands, you will need to make the changes again.
- If you made copies QDEVTOOLS/CRTBNDRPG or QDEVTOOLS/CRTRPGMOD commands, these copies do not the new TGTCCSID parameter. If you need this new parameter, then you will need to copy the commands again.
- ILE RPG compiler: SI62580
- ILE RPG compiler: SI62604
- ILE RPG compiler: SI62605
12 December 2019