CODE-SET 句は外部媒体上のデータを表現するために使用する文字符号系を指定する。
これを指定できるのは、レコード順編成
および行順編成の
ファイルのみである。
この機能は標準 COBOL 定義の一部であるが、X/Open の COBOL 言語定義では明示的に除外されている。したがって、X/Open の COBOL 準拠のソース プログラムでは使用するべきではない。
一般形式
指令
- 予約語リストのフラグ設定および修正を行うコンパイラ指令に加えて、以下の指令が、本セクションに記載の構文または意味内容に影響を与える可能性がある。
- CHARSET - 固有の符号系と見なされるものを決定する。
一般規則
レコード領域内のデータは、常に ASCII コードで記述される。特殊名段落で alphabet-name が EBCDIC に設定されていると、CODE-SET 句の影響を受けるデータは、ファイルに書き込まれる際に ASCII から EBCDIC に変換され、ファイルから読み取られる際には EBCDIC から ASCII に変換される。特殊名段落で alphabet-name が STANDARD-1、STANDARD-2、NATIVE、または ASCII に設定されている場合は、コード変換は必要ない。
上記のコード変換に際しては、CODE-SET 句が適用されるデータ項目はいずれも英数字として扱われる。項目のデータ記述の記載どおり、字類または項類については考慮されない。
identifier-1 に OCCURS 句を指定している場合、CODE-SET 句はその最初の登場箇所に対してのみ適用される。identifier-1 の下位に、OCCURS 句を指定した項目がある場合、COSE-SET 句は identifier-1 全体に適用される。