1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RPGⅢ・Ⅳ 比較環境の構築について(PUB400,Code for i)

Last updated at Posted at 2025-10-16

はじめに

当記事は、「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オブジェクトを取り扱う

下の画像のように、ソースが文字化けしたり、コンパイルエラーが発生したりしました。
image.png

コンパイルエラー.png

原因

⇒ソース作成時のジョブのCCSIDが5123 だったため
SAVFファイルの展開とコンパイルの実行の前に、あらかじめ CHGJOB CCSID(1399) を実行しておくことで解決しました。
PUB400を使用するのはチームメンバー全員が初めてだったこともあり、開発環境のデフォルトのCCSIDから変更が必要だという発想に至りませんでした。

Code for i

こちらも拡張機能の追加とPUB400への接続は行えたのですが、オブジェクトのTEXTやソースに文字化けが発生しました。(5250上では表示される)

image.png

原因

⇒元のソースファイルがDBCSを指定していなかったため
CRTSRCPFコマンドのオプションにIGCDTA(*YES)を設定して、ファイルを再作成することで、文字化けせずソースが表示されるようになりました。
※DBCSファイル…2バイトが含まれるファイル

CRTSRCPF FILE(ライブラリ名/ファイル名) RCDLEN(132) IGCDTA(*YES) CCSID(1399)

image.png

学んだこと

  • ソース共有の際、オブジェクトのCCSIDに留意する
    今回チームで活動するにあたり、
    ①自社のIBMiでソースファイルを作成
    ②SAVFファイルをPUB400で展開して実行
    という手順をとりましたが、
    ②の際に自社のIBMi上では実行できたからPUB400上でも動くという思い込みがあったため、解決に時間を要しました。PUB400という普段と異なる環境に触れることで、自社環境を再認識するきっかけとなりました。

  • PUB400、Code for iといったツールの理解
    特にPUB400のソース共有の部分は、なかなか不具合の原因が分からず、ソースレビューに至るまでに時間がかかりました。
    研究の前提としてツールの理解を深めておくことで、限られた時間の中でよりテーマを深掘りできると思いました。


当記事の著作権はIBMに帰属します。詳細はこちらを参照ください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?