
オペランドが Unicode CCSID に変換されるときには、
使用する Unicode CCSID を正確に判断するために、以下のルールが使用されます。
- いずれかのオペランドのタイプが文字の場合、
オペランドは UTF-8 に変換されます。
- それ以外の場合で、どちらのオペランドも UCS-2 ではない場合、
オペランドはモジュールの UCS-2 CCSID に変換されます。
モジュールの UCS-2 CCSID はデフォルトで 13488 に設定されますが、
制御ステートメントで CCSID(*UCS2) キーワードを
使用して、異なる CCSID に設定することができます。
- それ以外の場合で、一方のオペランドのみのタイプが UCS-2 の場合、
他方のオペランドは UCS-2 オペランドの CCSID に変換されます。
- それ以外の場合で、UCS-2 オペランドの一方がモジュールの
デフォルト UCS-2 CCSID である場合、その CCSID が使用されます。
- それ以外の場合、定義された長さが短いほうのオペランドが、長いほうのオペランドの CCSID に
変換されます。

警告:
- 一方のオペランドが他方のオペランドの文字セットにない文字を含んでいる場合、
一部の CCSID 変換ではすべての文字を変換することはできないことがあります。
例えば、ユニコードのオペランドから、シングル文字セットを表す CCSID (例えば、EBCDIC CCSID) のオペランドに
データを割り当てる場合、ユニコードのオペランド内の一部の文字が、異なる文字セットからのものであることがあります。
この場合、ターゲット・オペランドに置換文字が入れられます。
デフォルトでは、このシチュエーションの結果は、エラーではない状況コード 50 になります。
ただし、制御キーワード CCSIDCVT(*EXCP) を指定すると、
このシチュエーションの結果はエラー状況コード 00452 になります。
- 制御キーワード CCSIDCVT(*LIST) を使用して、モジュール内で実行される可能性のあるすべての CCSID 変換
のリストを取得できます。
このリストには、結果として置換文字になる可能性のある CCSID 変換についての警告も示されます。
置換文字および CCSIDCVT キーワードについて詳しくは、
CCSIDCVT(*EXCP | *LIST) を参照してください。
