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