PC5250/CA400

30. PCOMM の転送記述(.TTO)はCA/400でも使えるか?

PCOMM(=IBM Personal Communications)で作成された転送記述(. TTO)ファイルは
CA/400(=ClientAccess, iAccess) でも使えるか? という質問があるが
答えは「No」である。
メモ帖で .TTOファイルを開いてみれば一目瞭然であるが

[PCOMM の転送記述] CCSID:819

[Profile]
TRTOPC
Description=部品マスターファイル
FROM        QTRFIL/BUHINM
SELECT      *
WHERE       BHNCOD >= 'BUH'
ORDER BY
3
C:\TEMP\BUHINM.XLS
9311
13211 661
C:\TEMP\BUHINM.FDF
22
JOIN BY
GROUP BY
HAVING
SYSTEM      192.168.1.9 -T
OPTIONS     2:/.HMSYMDN11
			

[CA/400の転送記述] CCSID: 1202

[DataTransferFromAS400]
Version=2.0
[HostInfo]
Database=*SYSBAS
  :
[SQL]
EnableGroup=0
GroupBy=
Having=
JoinBy=
MissingFields=0
OrderBy=
SQLSelect=
Select=*
Where=
  :
			
【解説】

ご覧のように文字コード: CCSID が PCOMM では
819 (ASCIIコード)であるのに対して、
CA/400 では 1202 (UNIコード: UTF-16LB )という特殊なUNIコードで
できているのでそのままでは全く互換性がない。
内容の形式も異なっているので再利用はできない。
参考までに IBM i のコード変換API : iconvCCSID:1202から
EBCDIC 5026
, 5035 および1399 への変換はサポートされていない。

またPCOMM の転送記述は短くて簡潔である。
これに対して CA/400 の転送記述は長々とあるがほとんどデータ部分は空白である。
PCOMM の転送記述は元々は確か、日本で作ったものであるが
遅れて米国で作ったのが CA/400のデータ転送である。
CA/400 のデータ転送の動作を見ているとMS-DOSの画面が時々出てきて
DOSバッチ・コマンドで開発されているようでいかにも古臭い。

IBM は CA/400 はこれ以上 Windowsに追随しないと発表したが
5250ストリームを扱える技術者が社内にはもういないのではないかと思えてしまう。
それほどCA/400 は古いし何も進化していない。
後継は IBM ACS (=IBM Access Client Solutions) と言われているが
実はこれも全く売れなかった IBM Host On Demmand の焼き直しと噂されている。

IBM が作っている5250エミュレータであるのに 5250Queryコマンドで
GUIコントロールが *YES に設定されていないので
DDS で指定できる GUIコントロールのいくつかを表示することができない。
これはエミュレータの開発者が 5250ストリームを
あまり理解していないためと推測される。

いずれにせよまたぞろPCクライアントにモジュールを導入する考えが
古すぎるしクライアント/サーバー・モデルの考えはもう終焉である。
クライアント/サーバー・モデルがあったのはGUI化がサーバー(IBM i)に比べて
クライアント(Windows)が進んでいたからであって
サーバー(IBM i)も Web化によってGUI化が進んだ今日では
導入や再配布の手間ばかりかかるクライアント/サーバー・モデルは
もう終わっていると思うがどうだろうか?