Rational Developer for System z
PL/I for Windows, Version 8.0, Programming Guide

Getting mainframe applications to compile on the workstation

As you move programs to your workstation from the mainframe, one of your first goals is to get the applications you have already been using to compile in the new environment without errors.

The character sets used on the mainframe and workstation are different and can cause some compile problems:

Embedded control characters
If a source file contains characters with hexadecimal values less than '20'x, the workstation compiler might misinterpret the size of a line in that file, or even the size of the file itself. You should use hexadecimal character constants to encode these values.

If you are downloading a source file from the host that has variables initialized to values entered with a hexadecimal editor, some of those values might have a hexadecimal value less than '20'x even though they have greater values on the host.

National characters and other symbols
Transferring programs between platforms can cause errors if you use national characters and other symbols (in PL/I context) in certain code pages. This is true of the logical "not" (¬) and "or" (|) signs, the currency symbol, and use of the following alphabetic extenders in PL/I identifiers:

To avoid potential problems involving "not", "or" and the currency symbol, use the NOT (see NOT), OR (see OR), and CURRENCY (see CURRENCY) compile time options on the *PROCESS statement. Avoid potential problems involving other characters by using the NAMES (see NAMES) compile-time option to define extramural characters and symbols.

Rational Developer for System z
PL/I for Windows, Version 8.0, Programming Guide