27.7.2 コンパイル時の制限事項
-
日本語,半角かたかななど,Unicodeで多バイト文字となる文字を含む語,英数字定数または日本語文字定数を,次の個所に指定した場合,コンパイルエラーとなります。
表27‒17 UTF-8の多バイト文字およびUTF-16の文字が指定できない個所 分類
翻訳時にエラーとなる個所
翻訳グループの構造
-
END PROGRAMの定数1およびEND METHODの定数1
見出し部
-
プログラム名段落のプログラム名1/定数2
-
メソッド名段落のメソッド名1/定数2
-
関数名段落の利用者定義関数名1※3
-
クラス名段落のクラス名1,およびインタフェース名段落のインタフェース名1※3
環境部
-
ALPHABET句の定数指定の定数1/2/3
-
ASSIGN句の定数1
-
CLASS句の定数5/6
-
CURRENCY SIGN句の定数7
-
リポジトリ段落のクラス指定子,インタフェース指定子,関数指定子,およびプロパティ指定子※3
-
特殊名段落の定数10※5
データ部
-
CODE句の定数1
手続き部
-
CALL文の定数1
-
CANCEL文の定数1
-
ENTRY文の定数
-
DISPLAY文の定数1/2/3※1※2
-
INVOKE文の定数1
-
STOP文の定数2※2
組み込み関数
-
ADDR関数の引数1
画面機能(SCREEN/WINDOW SECTION)※4
-
DISPLAY文の定数1(SCREEN SECTION)
-
PICTURE句FROM指定の定数1(SCREEN SECTION)
-
PROMPT句の定数1(SCREEN SECTION)
-
VALUE句の定数1(SCREEN SECTION)
-
RESET句の定数1(WINDOW SECTION)
-
VALUE句の定数1(WINDOW SECTION)
- 注※1
-
画面への出力,環境変数へのアクセス,コマンドラインへのアクセス
- 注※2
-
Linuxの場合,DISPLAY文の定数1およびSTOP文の定数2に,Unicodeで多バイトとなる文字を含む英数字定数を指定できます。
- 注※3
-
Linuxで有効です。
- 注※4
-
AIXで有効です。
- 注※5
-
コンパイラ環境変数CBLV3UNICODEにYESを指定すると,-UniObjGenオプションと-CompatiV3オプションを同時に指定できます。そのため,特殊名段落の定数10が使用できるようになりますが,Unicodeで多バイトとなる文字を指定した場合,コンパイルエラーとなります。
-
-
16進英数字定数または16進日本語文字定数と,文字定数が混在した連結式を指定した場合,コンパイルエラーとなります。
-
Linuxの場合,次のファイル名を指定する個所に,Unicodeで多バイトとなる文字を指定した場合,コンパイルエラーとなります。
-
COPY文の定数1
-
INCLUDE文の原文名(定数で指定した場合)
-
-
Linuxの場合,コマンドライン引数および環境変数の設定値に,Unicodeで多バイトとなる文字を使用した場合,動作は保証しません。
-
Linuxの場合,次に示す項目にUnicodeで多バイトとなる文字は使用できません。使用した場合の動作は保証しません。
-
EXTERNAL句を指定したデータ名およびファイル名
-
SELECT句に指定したファイル名1
-