AS400 / IBM i のRPGを調べていると、RPG、RPG III、RPG IV、ILE RPG、固定形式、フリーフォーマットという言葉が出てきます。初めて保守に入ると、どれが言語名で、どれが書き方で、どれが実行環境なのか分かりにくいところです。
この記事では、ILE RPGとは何かを、AS400保守現場の目線で整理します。難しい歴史よりも、既存ソースを読む時、改修する時、AIやCodexで調査する時に押さえるポイントをまとめます。
RPGは「古い言語」ではなく、既存資産を読むための共通語です
AS400 / IBM i の現場では、RPGやCLをまったく読まずに保守を進めることはできません。一方で、これからの教育ではRPGだけを単体で覚えるより、ジョブログ、画面、ファイル定義、CLの呼び出し関係まで並べて、既存システムの動きを説明できるようにすることが重要です。
| 見るもの | 現場で確認すること | AI活用時の注意点 |
|---|---|---|
| RPGソース | 入出力ファイル、分岐、更新処理、エラー処理 | ソース全文や機密データは貼らず、処理概要と該当箇所だけを整理する |
| CL | 呼び出し順、OVRDBF、SBMJOB、MONMSG | コマンドの意味だけでなく、前後関係を説明させる |
| ジョブログ | CPF/MCHメッセージ、異常終了箇所、実行ユーザー | エラー文だけで判断せず、実行条件や直前処理を確認する |
| ファイル定義 | キー、桁数、CCSID、更新タイミング | 項目名だけで推測せず、実データを伏せたうえで仕様を確認する |
ILE RPGとは
ILE RPGは、IBM i上で使われるRPGの代表的な形です。ILEはIntegrated Language Environmentの略で、モジュール、サービスプログラム、プロシージャーなどを使った開発ができます。現場では、古い固定形式RPGと、比較的新しいフリーフォーマットRPGが混在していることがあります。
AS400保守では、言語仕様を全部覚えるより先に、対象ソースが固定形式か、フリーフォーマットか、どのファイルを読み書きするか、どのCLやプログラムから呼ばれているかを確認します。
固定形式とフリーフォーマット
固定形式RPGは桁位置に意味があり、F仕様、D仕様、C仕様などを見る必要があります。フリーフォーマットRPGは、現代的な書き方に近く、処理の流れを追いやすいことがあります。ただし、どちらも同じ業務データを扱っているため、書き方だけで難易度は決まりません。
読み方の入口は RPG固定形式・フリーフォーマットの読み方 を確認してください。
ILE RPG保守で見るポイント
- どの物理ファイル、論理ファイルを使っているか
- CALL、CALLP、サービスプログラムの呼び出しがあるか
- 入力値、配列、データ構造、パラメーターの型が合っているか
- コンパイル手順、バインド、ライブラリリストが分かるか
- ジョブログでCPF、RNX、MCHが出ていないか
影響範囲を見る場合は、DSPPGMREFで参照ファイルや呼び出し関係を確認します。異常終了がある場合は、RNX8888、MCH3601、CPF4101などのメッセージIDも合わせて確認します。
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の回答だけで決めず、コンパイル、テスト、ジョブログ、バックアップ、戻し手順を確認します。安全な使い方は AS400保守でAI・Codexを安全に使う方法 にまとめています。
学習順序
- AS400の基本とIBM iの関係を知る
- RPG固定形式とフリーフォーマットの違いを読む
- DSPPGMREFとDSPFFDで影響範囲を見る
- コンパイルリストとジョブログを見る
- Gitやソース管理で変更前後を追えるようにする
全体の学び方は AS400学習ロードマップ、保守全体は AS400保守・運用完全ガイド、ソース管理は AS400でGit・ソース管理を始める手順 を確認してください。
ILE RPGを読む時は、業務名とプログラム名を結びます
ILE RPGの文法だけを覚えても、現場の保守では足りません。在庫照会、請求締め、出荷確定、EDIのどの処理で使われるプログラムなのかを結び、ファイル更新、例外処理、後続ジョブを確認します。
- AS400コマンド逆引きでDSPPGMREFやDSPFFDを確認する
- AS400完全ガイドでRPG/CL保守の全体像を見る
- AS400 / IBM i 現場向けCodex実戦研修でRPG/CLソース要約を学ぶ
ILE RPGは形式よりも処理の入口を探す
ILE RPGを読む時、固定形式かフリーフォーマットかに目が行きがちですが、保守では処理の入口を探すことが先です。どの画面やCLから呼ばれるのか、どのファイルを読むのか、どこで更新するのかを見つけると、形式の違いに惑わされにくくなります。
| 入口 | CALL元、メニュー、CL、ジョブスケジュール |
| 入力 | 画面、ファイル、パラメータ |
| 更新 | WRITE、UPDATE、DELETE、SQL |
| 例外 | MONITOR、ON-ERROR、エラー標識 |