UCS-2 形式

汎用文字セット (UCS-2) 形式は、各文字が 2 バイトで表される 文字ストリングです。 この文字セットは、多数の書き込み言語の文字を コーディングできます。

UCS-2 データとして定義されるフィールドには、シフトアウト (SO) または シフトイン (SI) 文字は含まれません。

UCS-2 フィールドの長さ (バイト数) はフィールド中の UCS-2 文字数の 2 倍です。

固定長の UCS-2 形式は、各文字が 2 バイトで表される、長さが設定された 文字ストリングです。

可変長 UCS-2 形式については、可変長の文字形式、図形形式および UCS-2 形式を参照してください。

変更の始まりUCS-2 フィールドを定義するには、 自由形式定義に UCS2 または VARUCS2 キーワードを指定するか、 または、固定形式仕様書のデータ・タイプ記入項目に C を指定します。 パラメーターが UCS-2 フィールドである場合 には、定義仕様書の LIKE キーワードを使用して UCS-2 フィールドを定義することもできます。変更の終わり

UCS-2 データのデフォルトの初期化値は X'0020' です。*HIVAL の 値は X'FFFF'、*LOVAL は X'0000'、そして *BLANKS の値は X'0020' です。文字、UCS-2 値、または図形値を使用して、UCS-2 フィールドの初期値を指定することができます。 リテラルのタイプが UCS-2 ではない場合は、コンパイラーによって暗黙的に UCS-2 へ変換されます。 例えば、UCS-2 フィールドを 'abc' という UCS-2 形式で初期化するには、INZ('abc')、INZ(%UCS2('abc'))、または INZ(U'006100620063') と指定してください。

UCS-2 形式について詳細については、IBM® i Information Center のトピック「グローバリゼーション」を参照してください

以下は、Program Verifier を使用する時の、UCS-2 データのインプリメンテーションにおける制約事項です。
  • 制御仕様書において、次の指定がある場合、
           H  CSSID(*GRAPH: *SRC)
    Program Verifier は、特にソースがワークステーション上にあったりあるいはホストに接続していない時は、ソース CCSID を必ず検索できるとは限らないため、2 番目のパラメーターである *SRC は置換されません。 Program verifier は、*SRC が置換されなかったことを示す警告メッセージを出します。
    注: この結果、ホストでは出されないエラー・メッセージを Program Verifier が出す可能性があります。たとえば、次のようなソースを考えてみます。
              H CCSID(*GRAPH: *SRC)
              D grafld1         S             10G
              D grafld2         S             10G   ccsid(300)
              C                   if        grafld1 = grafld2
              C                   endif     
    *SRC が置換されないために、異なる CCSID を持つフィールドを同一の命令の中で使用することはできないことを示すエラー・メッセージが、プログラム検査において出されることになります。 一方ホストでは、*SRC が 300 であればエラー・メッセージは出されません。
  • 定義仕様書における組み込み関数 %GRAPH および %UCS2 は、プログラム検査では評価されません。
              D grafld2         S             10G   inz(%ucs2(u'aabbcc'))
    Program verifier は、%UCS2 が評価されず評価に由来するいかなるエラーも報告されないことを示す、警告メッセージを出します。
  • UCS-2 の場合のコンパイル時間データは妥当性検査されず、Program Verifier は、このデータが妥当性検査されていないことを示す警告メッセージを出すことになります。