CCSID(*GRAPH : パラメーター | *UCS2 : 番号 | *CHAR : *JOBRUN)

CCSID(*GRAPH) および CCSID(*UCS2) は、モジュールにデフォルトの 図形 (*GRAPH) CCSID および UCS-2 (*UCS2) CCSID を 設定します。 これらのデフォルト値は、CCSID キーワードがコーディングされて いない、リテラル、コンパイル時データ、プログラム記述入力フィールドおよび 出力フィールド、そしてデータ定義に使用されます。

CCSID(*CHAR) は、実行時にそのモジュールの文字データに使用される CCSID を設定します。

CCSID(*GRAPH : *IGNORE | *SRC | 番号)
モジュールにデフォルトの図形 CCSID を設定します。指定できる値は次の とおりです。
*IGNORE
これはデフォルトです。モジュール内の図形フィールド と UCS-2 フィールド間での変換は許可されません。 %GRAPH 組み込み関数は使用できません。
*SRC
ソース・ファイルの CCSID に関連した図形 CCSID が使用されます。
番号
図形 CCSID。有効な図形 CCSID は、65535 か、EBCDIC 2 バイト・コード化体系 (X'1200') の CCSID で す。
CCSID(*UCS2 : 番号)
モジュールにデフォルトの UCS-2 CCSID を設定します。この キーワードが指定されていない場合のデフォルトの UCS-2 CCSID は 13488 です。

番号は UCS-2 CCSID でなければなりません。有効 な UCS-2 CCSID は UCS-2 コード化体系 (x'7200') になっています。

CCSID(*GRAPH : *SRC) または CCSID(*GRAPH : 番号) が指定されている場合、

CCSID(*CHAR : *JOBRUN)
CCSID(*CHAR:*JOBRUN) を指定すると、実行時に文字データが CCSID 形式のジョブに入っているものと想定されます。 文字 X'0E' は、ランタイム・ジョブ CCSID が混合バイト CCSID である場合にのみ、 シフトアウト文字であると想定されます。

CCSID(*CHAR : *JOBRUN) を指定しない場合には、文字データの CCSID がジョブ CCSID に関連する 混合バイト CCSID になるものと想定されます。 文字データに文字 X'0E' が含まれる場合、この文字はシフトアウト文字として解釈されます。 これにより、文字データが UCS-2 データに変換された場合に、誤った結果が生じることがあります。

注:
CCSID(*CHAR:*JOBRUN) を指定しても、X'0E'を含む文字リテラルに関するコンパイラーの振る舞いは変更されません。 文字リテラルに X'0E' が含まれる場合、CCSID(*CHAR) キーワードの有無にかかわらず、 コンパイラーは常にこの文字をシフトアウト文字として扱います。