5.3.5 dccm3オプション
(1) 機能
DCCM3環境下で稼動しているCOBOLプログラムを呼び出す際に必要な文字コード変換を行うことを指定します。このオプションは,Windows版TP1/Client/Pでだけ有効です。その他の環境(HP-UX/AIX/Linux版やTP1/Client/Jなど)では,このオプションは無効です。
(2) 指定方法
SET CBLJ2TP1OPT=dccm3( no | yes )
dccm3オプション未指定時は,noとして扱います。
(3) 文字コード変換処理の流れ
dccm3オプションにyesを指定した場合,以下の流れで文字コード変換を行います。
(a) setter,send
String(Unicode)−[変換]−>byte配列(SJIS)−[dccm3flagに従い変換]−>byte配列(EBCDIK/KEIS)
(b) getter,receive,recieve2
byte配列(EBCDIK/KEIS)−[dccm3flagに従い変換]−>byte配列(SJIS)−[変換]−>String(Unicode)
(4) 注意事項
-
このオプションにyesを指定した場合,dccm3flagオプションに従って文字コード変換を行います。また,encodeオプションおよびunicodeオプションは無効となり,endianオプションはbigが仮定されます。
-
このオプションにnoを指定した場合,dccm3flagオプションは無効となり,文字コード変換は行いません。
-
変換できない文字が指定された場合,setter/getter/receive/receive2/sendメソッドで例外が発生することがあります。
-
このオプションとcodeconvオプションを同時に指定した場合,このオプションは無効となります。
-
Bean生成ウィザードまたはBean生成ツールの1/3画面で「日本語項目を英数字項目として扱う。」チェックボックスをオフにして生成した場合の日本語項目と,英数字項目で,日本語データが格納された場合の先頭の機能キャラクタの扱いが異なります。英数字項目の場合は,日本語データの開始を表す機能キャラクタが先頭に挿入されますが,日本語項目の場合は,日本語データの開始を表す機能キャラクタは先頭に挿入されません。日本語データを格納する場合は,英数字項目と日本語項目で格納されるデータが異なることに注意してください。
(5) この指定が有効となる項目
setterおよびgetter時に,このオプションで変換される項目は以下のとおりです。
- <TP1/Client/P提供メソッドによって変換される項目>
-
-
文字列データ(String):英数字項目/英字項目/英数字編集項目/数字編集項目/日本語項目/日本語編集項目
-
10進データ(BigDecimal):外部10進項目
-
2進項目および内部浮動小数点項目はビッグエンディアン形式として扱われます。ただし,内部浮動小数点項目はホスト上で使用できる形式にはなりませんので,使用しないでください。
また,receive/receive2/sendメソッドの引数に指定するメッセージもこの変換を行います。