はじめに
当記事は、「IBM i RiSING」2025年Aチームの成果物となる記事の一つです。
まとめはこちら
IBM RiSINGでの活動を進めるにあたり、ソースの共有やアプリケーションの起動を行う環境は統一した方が良いという話になり、無料で使用できるIBMi環境である『PUB400』を使用することになりました。
また、できるだけ可読性が高い環境でソースレビューを行うため、Visual Studio Code の拡張機能の一つである『Code for i』を導入しました。
本記事では、上記の二つのツール導入にあたり、筆者がつまづいた点を紹介します。
PUB400
PUB400のユーザー登録やACSでの接続は、先人の方の記事が大変参考になり、起動までは苦労せず進められました。
オープン系開発者がIBM iの環境構築から始めてみた①
しかし別の方の記事を参考にして、SAVFファイルの展開とコンパイルの実行を行った時につまづきました。
IBM i (旧AS400)の自己学習メモ コマンド/ツール/運用 *FILE SAVFオブジェクトを取り扱う
下の画像のように、ソースが文字化けしたり、コンパイルエラーが発生したりしました。

原因
⇒ソース作成時のジョブのCCSIDが5123 だったため
SAVFファイルの展開とコンパイルの実行の前に、あらかじめ CHGJOB CCSID(1399) を実行しておくことで解決しました。
PUB400を使用するのはチームメンバー全員が初めてだったこともあり、開発環境のデフォルトのCCSIDから変更が必要だという発想に至りませんでした。
Code for i
こちらも拡張機能の追加とPUB400への接続は行えたのですが、オブジェクトのTEXTやソースに文字化けが発生しました。(5250上では表示される)
原因
⇒元のソースファイルがDBCSを指定していなかったため
CRTSRCPFコマンドのオプションにIGCDTA(*YES)を設定して、ファイルを再作成することで、文字化けせずソースが表示されるようになりました。
※DBCSファイル…2バイトが含まれるファイル
CRTSRCPF FILE(ライブラリ名/ファイル名) RCDLEN(132) IGCDTA(*YES) CCSID(1399)
学んだこと
-
ソース共有の際、オブジェクトのCCSIDに留意する
今回チームで活動するにあたり、
①自社のIBMiでソースファイルを作成
②SAVFファイルをPUB400で展開して実行
という手順をとりましたが、
②の際に自社のIBMi上では実行できたからPUB400上でも動くという思い込みがあったため、解決に時間を要しました。PUB400という普段と異なる環境に触れることで、自社環境を再認識するきっかけとなりました。 -
PUB400、Code for iといったツールの理解
特にPUB400のソース共有の部分は、なかなか不具合の原因が分からず、ソースレビューに至るまでに時間がかかりました。
研究の前提としてツールの理解を深めておくことで、限られた時間の中でよりテーマを深掘りできると思いました。
当記事の著作権はIBMに帰属します。詳細はこちらを参照ください。


