AS400 / IBM i のRPGを調べていると、RPG、RPG III、RPG IV、ILE RPG、固定形式、フリーフォーマットという言葉が出てきます。初めて保守に入ると、どれが言語名で、どれが書き方で、どれが実行環境なのか分かりにくいところです。
この記事では、ILE RPGとは何かを、AS400保守現場の目線で整理します。難しい歴史よりも、既存ソースを読む時、改修する時、AIやCodexで調査する時に押さえるポイントをまとめます。
ILE RPGとは
ILE RPGは、IBM i上で使われるRPGの代表的な形です。ILEはIntegrated Language Environmentの略で、モジュール、サービスプログラム、プロシージャーなどを使った開発ができます。現場では、古い固定形式RPGと、比較的新しいフリーフォーマットRPGが混在していることがあります。
AS400保守では、言語仕様を全部覚えるより先に、対象ソースが固定形式か、フリーフォーマットか、どのファイルを読み書きするか、どのCLやプログラムから呼ばれているかを確認します。
固定形式とフリーフォーマット
固定形式とフリーフォームが混在した資産でも、コンパイル条件・入出力・呼び出し関係の順に確認すると、書き方に引きずられず比較できます。
固定形式RPGは桁位置に意味があり、F仕様、D仕様、C仕様などを見る必要があります。フリーフォーマットRPGは、現代的な書き方に近く、処理の流れを追いやすいことがあります。ただし、どちらも同じ業務データを扱っているため、書き方だけで難易度は決まりません。
読み方の入口は RPG固定形式・フリーフォーマットの読み方 を確認してください。
ILE RPGソースを開いた直後の確認順
既存ソースを読む時は、上から全文を追う前に、形式、入出力、入口、更新、例外処理を先に拾います。固定形式とフリーフォーマットが混在していても、見る順番を変えなければ処理の骨格をつかみやすくなります。
| 順番 | ソースで探すもの | 確認すること |
|---|---|---|
| 1 | **FREE、H仕様、CTL-OPT |
ソース形式、コンパイル条件、活動化グループなどの前提 |
| 2 | F仕様、DCL-F |
入力・更新・出力するファイルと装置 |
| 3 | D仕様、DCL-S、DCL-DS |
桁数、型、データ構造、パラメーター |
| 4 | DCL-PI、DCL-PR、CALLP |
呼び出し元・呼び出し先と受け渡す値 |
| 5 | CHAIN、SETLL、READE、SQL |
どの条件でレコードを選ぶか |
| 6 | WRITE、UPDATE、DELETE |
どのファイルを、どの条件で変更するか |
| 7 | MONITOR、ON-ERROR、標識 |
異常時の分岐、後続処理、ジョブログへの残り方 |
**FREEが1行目の1桁目にあるソースは完全フリー形式です。ない場合は桁位置を使う固定形式や、桁制限付きのフリー形式が混在する可能性があります。形式を変換する前に、呼び出し順、ファイル更新、コンパイル方法、テスト方法を確認してください。言語仕様の確認には、IBM公式のILE RPG Referenceを参照できます。
AIやCodexで読む時の注意
ILE RPGをAIやCodexで読む時は、まず契約・社内規程で認められたサービスと送信範囲を確認します。その範囲内でも必要最小限のソースに絞り、機密情報、会社名、顧客名、パスワード、IPアドレスを除きます。AIには、処理概要、入力ファイル、更新ファイル、CALL関係、エラー処理を整理させる使い方が向いています。
本番修正はAIの回答だけで決めず、コンパイル、テスト、ジョブログ、バックアップ、戻し手順を確認します。安全な使い方は RPGソースをAIに渡す前の安全確認 にまとめています。
学習順序
- AS400の基本とIBM iの関係を知る
- RPG固定形式とフリーフォーマットの違いを読む
- DSPPGMREFとDSPFFDで影響範囲を見る
- コンパイルリストとジョブログを見る
- Gitやソース管理で変更前後を追えるようにする
全体の学び方は AS400学習ロードマップ、保守全体は AS400保守・運用完全ガイド、ソース管理は AS400開発ツールの違い を確認してください。