25.5.6 NATIONAL-OF関数
NATIONAL-OF関数は,UTF-8の文字をUTF-16の文字に変換した文字列を返す。この関数の型は,日本語とする。
なお,この組み込み関数を使用するためには,-UniObjGenオプションの指定が必要である。-UniObjGenオプションについては,マニュアル「COBOL2002 ユーザーズガイド」またはマニュアル「COBOL2002 使用の手引 手引編」のUnicode機能を参照のこと。
(1) 一般形式
(2) 引数
-
引数1は,字類が英字か英数字でなくてはならない。
-
引数1に可変長集団項目を指定してはならない。また,引数1を部分参照してはならない。
-
引数1に動的長基本項目を指定してはならない。
-
引数1の文字コードは,UTF-8でなければならない。
-
引数1にTRIM関数以外の関数一意名およびオブジェクトプロパティは指定できない。
- 注意事項
-
引数1に指定するTRIM関数の引数は,関数一意名であってはならない。
-
引数1が英数字集団項目のとき,その従属項目の字類は英字,または英数字でなければならない。
(3) 関数値
-
引数1のUTF-8の文字データを,対応するUTF-16の文字に変換した文字列を返す。
なお,このシステムではUTF-16へのコード変換だけとする。全角文字変換は行わない。
-
対応するUTF-16の文字を持たない英数字文字が引数1中にある場合,UTF-16への文字変換は行わないで,EC-ARGUMENT-IMP例外条件が成立する。
ただし,-FunctionECSup,CodeConvErrオプションが有効なときは,EC-ARGUMENT-IMP例外条件は成立しない。-FunctionECSup,CodeConvErrオプションについては,マニュアル「COBOL2002 ユーザーズガイド」のコンパイラオプションを参照のこと。
-
関数値の長さは,変換後の文字数を保持するのに必要とする,用途がNATIONALの文字位置の個数となる。
-
関数値を転記する受け取り側作用対象に複数の項目を指定してはならない。
-
関数値の表現形式は,日本語形式となる。
(4) 使用例
英数字項目の値をNATIONAL-OF関数でUTF-16に文字変換し,日本語項目へ転記する例を次に示す。
- 記述例
-