Specifying an alternative logical NOT symbol

You can define an alternative logical NOT symbol in a file mapping definition. The alternative logical NOT symbol specifies the character that maps to X'5F' on the remote system.

Before you begin

By default, alternative logical NOT symbols are supported for PL/I files only. To enable alternative logical NOT symbols for COBOL files, you can set a preference on the MVS Files preference page. For more information about this preference, see the related topics.

About this task

The standard logical NOT symbol is ¬, which corresponds to EBCDIC code point X'5F'. If you cannot type this symbol on your workstation because your keyboard does not contain the ¬ character, then you can define an alternative NOT symbol, such as the exclamation point (!) or caret symbol (^). If you configure an alternative NOT symbol such as ! or ^, you must ensure that the symbol you configure is not present in another area of the file such as within a literal or a comment.

You can specify an alternative symbol in a file mapping definition. This action causes the alternative symbol to map to EBCDIC code point X'5F' on the remote system. It also causes the standard NOT symbol to no longer map to X'5F' unless you specify it as the logical NOT symbol in the mapping definition. You can specify only one alternative logical NOT symbol. If you define the tilde character (~) as the logical NOT symbol in a file mapping definition, for example, then the tilde character, rather than the NOT symbol ¬, is mapped to the logical NOT operator X'5F'.

Specifying an inappropriate alternative logical NOT symbol can produce error CRRZI0487E when you edit a file. When you specify an alternative NOT symbol, be careful to choose a character that is not already present in your source file. For example, if your remote source file contains one or more tilde characters (EBCDIC X'A1'), and you define the tilde character as the logical NOT symbol in a file mapping definition, then all X'A1' code points might be changed to X'5F'. To prevent this situation, the CRRZI0487E message is displayed, and the file is opened in browse mode so that you cannot edit it.

Preprocessors: When you run a preprocessor against a PL/I source file, the product translates the preprocessed file into the UTF-8 code page, which is an ASCII-character code page. If the source file is encoded in EBCDIC and it contains the EBCDIC character ¬ (X'5F'), then that character is translated to the ASCII character ¬ (X'C2AC'). Because the ASCII character for the PL/I NOT symbol is ^ (X'5E'), the preprocessor does not recognize ¬ and returns an error message. To solve this issue define an alternative NOT symbol by selecting Other and specifying ^. This definition results in the EBCDIC character ¬ (X'5F') being correctly translated to ^ X'5E' in UTF-8. Any changes to the file are correctly translated back to ¬ on the remote system.
Note: Any alternative NOT symbol that you define must not be a double-byte character. The PL/I language requires that the NOT symbol be a single-byte character.

Procedure

You can set an alternative logical not symbol on the Properties page of a data set, on the Properties page of the MVS Files subsystem, or in the Edit Data Set Mapping or Add Data Set Mapping windows.

  • From the Properties page of a data set:
    1. In the Remote Systems view, select a data set or partitioned data set member and select Properties.
    2. Select Mapping from the list of property categories.
    3. In the PL/I logical NOT symbol or Logical NOT symbol group box, click Other and type the alternative symbol in the field.
  • From the Properties page of the MVS Files subsystem:
    1. In the Remote Systems view, select MVS Files and then select Properties.
    2. Select Code Pages from the list of property categories.
    3. In the PL/I logical NOT symbol or Logical NOT symbol field, type an alternative symbol.
  • From the Edit Data Set Mapping or Add Data Set Mapping windows:
    1. In the z/OS File System Mapping view, select a PL/I or COBOL mapping.
    2. From the menu, select Edit or to create a mapping, select Add Data Set Mapping.
      The Edit Data Set Mapping or Add Data Set Mapping window opens.
    3. In the PL/I logical NOT symbol or Logical NOT symbol group box, click Other and type the alternative symbol in the field.