ACS データ転送時に IBM i 上のエラーを解決するには
Question
IBM i Access Client Solutions(ACS)を使用してデータ転送を行っているのですが、各端末に置くのではなく、IBM i (AS/400)上において、IFS経由で起動するように仕組みを変更することにしました。
しかし、テストしたところ以下のようなエラーが発生し、実行させることが出来ません。
どのように対応すればよろしいでしょうか。
ちなみにOSのバージョンは7.2です。
Answer
ACSの最新のバージョンは(2021年2月時点で)1.1.8.6となり、JAVAのバージョンは8以上が前提となっています。
しかし、お使いのOS、7.2はデフォルトではJAVA7が使用される仕様になっています。
そこで、対応する場合は以下の2つの対応が必要になります。
- IBM i (AS/400)にJAVA8以上を導入する
- JAVA8を使用するように環境変数を変更する
今回は、すでにJAVA8がインストール済みの環境でありましたので、ここでは環境変数について説明をいたします。
IBM i (AS/400)で使用するJAVAのバージョンは、環境変数によって変更することが可能です。
IBMナレッジセンターより
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_72/rzaha/rzahainstalljdk.htm
ライセンスがインストール済みであれば、以下のどちらかのコマンドにて、使用するJAVAを指定することが可能になります。
- ADDENVVAR ENVVAR(JAVA_HOME)
- VALUE('/QOpenSys/QIBM/ProdData/JavaVM/jdk80/32bit')
- ADDENVVAR ENVVAR(JAVA_HOME)
- VALUE('/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit')
ADDENVVAR はLEVELというパラメータがあり、その環境変数をどのレベルで有効にするかを指定することができます。
「*JOB」であれば、そのジョブ単位で、「*SYS」であればシステム全体で有効になります。
なお、大文字小文字が関係しますので、CCSID(5035)で実行していただく必要がある点にご注意ください。
また、今後ACSのバージョンが上がることでJAVAの前提バージョンも変わる可能性があります。
そうした場合、環境変数のメンテナンスも必要になりますので、その点もご注意ください。
by かんぴょう木綿さん