それでは、もう少し具体的にCode for IBM iの守備範囲を、ソースコードを中心にまとめていきたいと思う。比較するうえで、SEU/PDMおよびRDiの守備範囲も一緒に考える(図表3)。
では、各ツールの図表内のソースコード保管場所と各操作についての対応状況をそれぞれ表にまとめてみよう。
①ソースファイル
ソースファイルには3つのツールともアクセス可能だが、若干の違いがある。Code for IBM iは、RPG ⅢおよびIVについてはプロンプト機能が提供されていないため、△。SEU/PDMは、RPG Ⅳにおけるエディタの行単位の構文検査が完全ではないため、△。エラーを無視して保管することは可能だが、あまり現実的ではない(図表4)。
②IFS上のソースコード
SEUはIFS上のソースコードを直接修正できないので、すべて×。Code for IBM iは、ソース・ファイルのときと同じ理由で、△(図表5)。
③開発PC上のソースコード
SEUはIBM i上のツールなので、開発PC上のソースコードにアクセスすることはもちろん不可能なので、すべて×。Code for IBM iは②の理由と同じで、△(図表6)。
④開発PC のソースコードをIFSにプッシュ
RDiはIFSプロジェクト機能(リモート・リコンサイラ)を利用して、プッシュ可能。Code for IBM iについては後述(図表7)。
⑤開発PC のソースコードをソースファイル(メンバー)にプッシュ
RDiは i プロジェクト機能を利用してプッシュ可能。Code for IBM iは不可なので、これだけだとRPG Ⅲのソースコードの保守は不可能との判断になる(図表8)。
⑥コンパイラを実行
RPGの場合、コンパイラは2つ(CRTRPGPGM と CRTRPGMOD)。どの開発環境からも実行することが可能(図表9)。
⑦IBM iオブジェクトの処理
オブジェクトの一覧表示や、削除などの基本操作はどのツールも利用可能(図表10)。
Gitの利用
Gitについては、前述したようにSEU/PDM環境では利用不可(図表11)。
以上の比較を見ると、Code for IBM iはRDiが提供している機能をほぼ網羅している一方、以下が弱いことがわかる。
・プロンプト機能がない
・ローカルのコードを直接ソースファイルのメンバーにプッシュできない
逆を言えば、上記の問題が解決できればRDiの代替案として、Code for IBM iは十分に活用可能ということだ。その可能性も踏まえて、Code for IBM iの使い方を具体的に見ていこう。(Part3へ続く)
Code for IBM i |目次
Part1 Code for IBM iについて
Part2 開発環境俯瞰図
Part3 基本的な使い方
Part4 ソースコードの保守
Part5 Code for IBM i以外の便利な拡張機能
Part6 DeepL API を使った翻訳プログラムの作成と実行
著者|
小川 誠氏
ティアンドトラスト株式会社
代表取締役社長 CIO CTO
1989年、エス・イー・ラボ入社。その後、1993年にティアンドトラストに入社。システム/38 から IBM i まで、さまざまな開発プロジェクトに参加。またAS/400 、IBM i の機能拡張に伴い、他プラットフォームとの連携機能開発も手掛ける。IBM i 関連の多彩な教育コンテンツの作成や研修、セミナーなども担当。2021年6月から現職。
[i Magazine 2023 Winter掲載]