IBM i ACSのホストコードページ930(カタカナ)環境でもSTRPCCMDで半角カナを認識できますか?
Question
WebサービスをIBM i (AS/400)からSTRPCCMDで呼び出したいと思っています。
例えば、https://www.yahoo.co.jp/ のようなものを開きたいと思っています。
弊社では基本的にエミュレータのホストコードページ930(カタカナ)で、実行時のCCSIDは5026で運用しています。
管理者ユーザーはホストコードページを一時的に変更することは可能ですが、一般ユーザーは変えないようにしたいです。
これらの要件を踏まえ実装可能でしょうか。
Answer
まずはCLソース側をご用件に合わせて編集する必要があります。
ソースを編集する画面セッションのホストコードページを930 日本語(拡張カタカナ)に変更してください。
ホストコードページを変更したことにより小文字を表示・入力できるようになったかと思います。
※CLソース編集にあたり、半角英小文字が入力できない場合、SEUの画面で「F13=セッション省略値の変更」を押し「大文字入力専用」のパラメータを「N」にしてください。
その後、ホストコードページを930(カタカナ)に戻し、コンパイルしたプログラムを実行してみてください・・・
失敗してしまいました。どうやら値の引き渡しが失敗してしまっているようです。
これにはいくつか要因が考えられます。
Ctrl+F3キーでエミュレータの表示モードが反転している。
通常エミュレータのホストコードページ930(カタカナ)では半角カナが、939(英小文字)では半角英小文字がメインで表示されます。
Ctrl+F3キーを押すことで表示上のみ一時的に反転させることができます。
ただし通常反転状態での運用を行うことは稀ですのでどこかで誤って入力してしまったのでしょう。
ACSのバージョンが低い
今回ご相談いただいて調査検証を進めるうちに発覚しましたが、ACSの現在比較的新しいバージョンでは930(カタカナ)でも問題なく値を引き渡しできましたが、幾分か古いバージョンでは引き渡しに失敗する現象を確認しております。
このようにバージョン差異による挙動変化や改善などもありますので、ACSは原則新しいバージョンの利用をお勧めします。
ACSの最新版ダウンロードについては以下のe-bellnet記事をぜひ参照してください。
https://www.e-bellnet.com/category/technology/2204/2204-04.html
おそらく以上にて解消されるでしょう。ぜひお試しください
by . 大熊猫橋
