データ・ベースのフィールドのCCSIDにユニコード(Unicode)を
指定した場合にデータを入力するには表示装置ファイル(DSPF)にも
CCSIDにUnicodeを指定しなければならない。
[データ・ベースのUnicode指定]
0001.00 A********************************************** 0002.00 A* TOKMAS : 得意先マスターファイル * 0003.00 A* * 0004.00 A* CCSID : 5026 + 1200 * 0005.00 A********************************************** 0006.00 A UNIQUE 0007.00 A R TOKMASR TEXT(' 得意先マスターファイル ') 0008.00 A*( 固定情報 ) 0009.00 A TKCODE 4A COLHDG(' 得意先コード ') 0010.00 A TKNMJ 32G COLHDG(' 得意先名 ') 0011.00 A CCSID(1200) 0012.00 A TKNM 12G COLHDG(' 略名 ') 0013.00 A CCSID(1200) : :
[表示装置ファイル(DSPF)のUnicode指定]
0001.00 A*************************************************************** 0002.00 A* TOK001FM : CCSID=1200 の登録 0003.00 A* QTR5026/QDSPSRC(TOK001FM) 0004.00 A* 使用目的 : 更新 (*UPDATE) 0005.00 A* 作成日 : 2021/06/17 13:11:24 0006.00 A* 作成者 : QTR 0007.00 A*************************************************************** 0008.00 A DSPSIZ(24 80 *DS3) 0009.00 A MSGLOC(24) 0010.00 A PRINT : 0041.00 * --------------------------- 0042.00 A R DSPDTA01 0043.00 * --------------------------- 0044.00 A TEXT(' 明細画面 01') 0045.00 A CF03(03 ' 終了 ') 0046.00 A CF10(10 ' 更新 ') 0047.00 A CF23(23 ' 削除 ') 0048.00 A CF12(12 ' 前画面 ') 0049.00 A ROLLUP(07) 0050.00 A ROLLDOWN(08) 0051.00 A SETOF(99) 0052.00 A BLINK : 0070.00 *( データの記述 ) 0071.00 A 5 2' 得意先名 ' 0072.00 A TKNMJ 32G B 5 17TEXT(' 得意先名 ') 0073.00 A CCSID(1200) 0074.00 A 6 2' 略名 ' 0075.00 A TKNM 12G B 6 17TEXT(' 略名 ') 0076.00 A CCSID(1200) 0077.00 A 7 2' 電話番号 ' :
■ 5250エミュレータのUnicode指定
5250エミュレータ | Unicode指定 |
---|---|
PersonalCommunications | × |
IBM ClientAccess (C/A) | × |
IBM AccessClientSolutions (ACS) | ○ |
・IBM ACSのUnicode設定
このようにUnicodeの入力ができるのはIBM ACS(=Access Client Solutions)だけであるが
実は IBM ACSも5250仮想端末装置APIからの 5250QUERYコマンドに対して
上記のようにUnicodeに「はい」を設定しておくと仮想端末APIに自分が使用可能な
UniccodeのCCSID=13488 を送るようになっている。
(弊社は5250ストリームには精通しているので内部調査によって判明した)
サーバー・サイドのジョブではCCSID=1200としておきながらIBM ACSはCCSID=13488を
送っているのでこれは正しく一致していない。
このあたりにIBMのCCSIDに対する一貫性が伺えない。
現在のIBM ACSのリリース・レベルではUTF-8やCCSID=1200へ対応していない。
弊社では仮想端末APIが各i5/OSノリリース・レベルでこれらへ対応しているか
調査を進めていく予定である。
データ・ベースの一部だけのCCSIDをUnicodeに設定するというIBMユーザーは
今のところ例は聞いたこともないと考えられない。
IBM iのUnicode対応はUnicodeの流行に合わせて対応を追加してみましたという
参考程度の出品と思われる。
■ AutoWebのUnicodeサポートについて
AutoWebでも IBM ACSと同じようにQUERY5250コマンドにUnicode対応可のフラグをオンにして
仮想端末APIに送信してフィールド値をUnicodeで受け取るまでに改良済みである。
Unicodeの表示もまもなくできることと思われる。