AS/400(IBM i)で 30 年蓄積されてきた RPG プログラム資産——数百~数千本のプログラムをどう扱うかが、移行プロジェクトの成否を分けます。最新版 RPG への近代化、オープン系言語(Java/C#/.NET など)への自動変換、パッケージ移行で資産を捨てる選択肢……それぞれに向き不向きがあります。本記事では、RPG 資産の現状把握、3 つのアプローチ比較、自動変換ツールの現実、段階移行 vs 一括移行の判断軸を整理します。

『RPG 資産、活かす?捨てる?変換する?』 25 年の経験で客観評価のお手伝いをします。 無料相談 >

結論:RPG 移行は『資産整理』から始める

RPG 移行プロジェクトで最も重要なのは、移行手法の選定より 『社内の RPG 資産を客観的に把握する』 工程です。プログラム本数・行数・依存関係・Free-format 比率・実際に使われているコードの割合——これらを可視化しないまま移行を進めると、見積もりが大幅にズレ、後工程で予算オーバーになります。

アプローチRPG 資産の扱い適合ケース
① 最新版 RPG への近代化活かす(Free-format RPG へ)IBM i 継続を前提とし、保守性を上げたい
② オープン系言語への自動変換変換して活かすIBM i から脱却し、オープン系・クラウド基盤に移行したい
③ パッケージ移行清算する業務改革を含めて抜本的に刷新したい

補足:「RPG → COBOL 自動変換」という選択肢もありますが、レガシー言語からレガシー言語への移行となり 真のモダナイゼーションにはならない ため、本記事では主要アプローチには含めず、後述の補足セクションで限定的なユースケースを解説します。

RPG 資産の現状把握

RPG バージョンの分布

RPG には複数のバージョンがあり、移行コストに大きく影響します。

  • RPG II(1970 年代~):固定フォーマット、現在は IBM i では非推奨
  • RPG III(1978 年~):固定フォーマット、まだ多くの企業で使用中
  • RPG IV / RPG ILE(1994 年~):構造化プログラミング対応
  • Free-format RPG(2001 年~):現代的な文法、Java や C# の知識でも理解しやすい

古いバージョン(RPG II / III)の比率が高いほど、移行・変換コストが大きく なります。

プログラム本数の典型例(中堅企業)

業務規模・歴史により異なりますが、中堅企業(年商 50 億円規模)の典型的な AS/400 システムでは:

  • RPG プログラム本数:500~3,000 本
  • 総行数:10 万~100 万行
  • 使用頻度別の内訳:頻繁に使う 30%、月次・年次のみ 50%、実は未使用 20% という分布

重要なのは 『実は未使用の 20%』。要件定義の段階でデッドコードを洗い出し、移行対象から除外することで、コスト削減と工数削減の両方が実現できます。

依存関係マップの作成

RPG プログラム間の呼び出し関係、データベース(DB2 for i)テーブルとの関係、ジョブネットの構造——これらを可視化する 依存関係マップ が、移行プロジェクトの設計図になります。属人化で『誰も全体像を知らない』状態では、移行の正確な見積もりは不可能です。

RPG 移行の『3 つのアプローチ』

アプローチ 1:最新版 RPG(Free-format RPG)への近代化

IBM i を継続する前提で、RPG II/III/IV のコードを Free-format RPG へ書き換える 近代化。新人エンジニアでも理解しやすい現代的な文法に整理し、保守性を上げる。

メリットRPG 資産を完全に維持/IBM i 継続前提で投資効率良し/業務影響なし
デメリットIBM i ロックインが続く/RPG 技術者問題は完全には解決しない
費用/期間500 万~2,000 万円/6~12 ヶ月

アプローチ 2:オープン系言語(Java/C#/.NET 等)への自動変換

RPG プログラムを オープン系言語(Java/C#/.NET/TypeScript 等) に自動変換。AS/400 から脱却し、Linux・Windows・クラウド基盤など自由なインフラ上で稼働でき、長期的な技術者確保も容易になります。

メリット最新技術スタックへ/オープン系言語の技術者市場は厚い/クラウドネイティブへの進化が可能/インフラの選択肢が広い
デメリット変換後のコードが機械翻訳的になりがち(オブジェクト指向設計でない)/RPG 固有機能(サブファイル・データキュー等)の再現困難/追加リファクタリングが必要
費用/期間5,000 万~1.5 億円/15~24 ヶ月

移行先言語の選び方:社内・委託先の人材構成、既存周辺システムの言語、クラウド戦略で判断します。Web/業務系の主流は Java、Windows/Microsoft 365 連携や C# 資産がある企業は C#/.NET、Web フロント連携重視なら TypeScript/Node.js など、自社環境に合致する言語を選ぶのが現実的です。

アプローチ 3:パッケージ移行で RPG 資産を清算

RPG 資産を 『負債』として捨てる 判断。業界特化型 ERP パッケージへ全面移行し、業務をパッケージ標準に合わせる。

メリット業務改革効果が大/長期的な TCO 最適化/中堅企業に最も向く
デメリット30 年蓄積した独自仕様を捨てる/業務をパッケージに合わせる労力
費用/期間3,000 万~8,000 万円/12~18 ヶ月

補足:RPG → COBOL 変換という選択肢

業界では「RPG → COBOL 自動変換」がアプローチの一つとして語られることがあります。しかし、本記事では 主要アプローチには含めていません。理由を整理します。

論点評価
言語の世代RPG(1959 年)も COBOL(1959 年)も同世代のレガシー言語。レガシー言語 → レガシー言語の移行となり、モダナイゼーションの本質から外れる
技術者市場の長期見通しCOBOL 技術者も高齢化が進行中。5~10 年後にまた移行が必要になる可能性が高い
RPG 固有機能の再現サブファイル・データキュー等は COBOL に直接対応する概念がない(オープン系言語と同じ課題が残る)
段階戦略としての価値「COBOL を経由して将来オープン系へ」では二度手間。最初からオープン系言語に移行する方が経済合理性が高いケースが多い

ただし、限定的なユースケース では COBOL 変換が選択肢になります。社内・グループ会社で COBOL 資産が大量に稼働しており言語を揃えたい場合、IBM z/OS メインフレームへの統合計画がある場合、AS/400 ハードウェア層だけを当面変えたい場合などです。中堅企業の典型的なオフコン移行プロジェクトでは、これらの状況に該当しないケースの方が多いため、本記事では補足扱いとしました。

『RPG 資産、客観評価したい』方へ プログラム本数・依存関係を可視化し、3 アプローチから最適な選択肢を整理します。
無料相談はこちら

自動変換ツールの『現実』

RPG → オープン系言語(Java/C#/.NET 等)の自動変換ツールは複数存在し、ベンダーは『100% 変換可』と主張するケースがあります。しかし、現実は次のとおりです。

現実 1:変換できても保守困難

自動変換は『動くコード』を生成しますが、『人間が読める/保守できるコード』ではない ケースが大半。変数名・関数名・ロジック構造が RPG 由来で、変換先言語の自然な書き方になりません。これを『機械翻訳的コード』と呼びます。

現実 2:RPG 固有機能の再現に課題

RPG にはサブファイル、データキュー、レコードロックなど、オープン系言語に直接対応する概念がない機能 があります。これらは個別のフレームワーク・ライブラリで再実装が必要で、変換後の保守性が下がります。

現実 3:追加リファクタリングが必要

変換後のコードを長期的に活用するには、追加でリファクタリング(コード整理・命名規則統一・モジュール構造再設計)が必要。これに自動変換と同等以上の工数がかかるケースも珍しくありません。

現実 4:『100% 自動変換』は基本ありえない

業務固有の例外処理、デッドコード、ベンダー独自拡張など、手動対応が必要な部分が必ず残ります。プロジェクトの予算・期間には、自動変換工数だけでなく『手動対応・テスト・リファクタリング』を必ず織り込んでください。

段階移行 vs 一括移行

段階移行の特徴

進め方会計→販売管理→生産管理 のように業務領域単位で順次移行
メリット各フェーズの稼働が早い/リスク分散/現場の混乱が少ない
デメリット総期間が長い(18~30 ヶ月)/旧システムと新システムの並行運用期間が長い
適合ケース本業へのインパクトを最小化したい中堅企業

一括移行の特徴

進め方全業務領域を一度に切り替え
メリット総期間が短い(12~18 ヶ月)/並行運用コストが少ない
デメリット失敗時の影響範囲が大/現場の混乱リスク/要件定義のスコープが膨大
適合ケース大規模・体力のある企業/業務領域間の連携が密で分割困難な場合

中堅企業では、段階移行の方が成功率が高い ケースが多くなっています。リスク分散と現場負荷の観点から、段階移行を第一選択肢として検討してください。

RPG 移行の『よくある失敗』

失敗 1:自動変換を過信

ベンダーの『100% 自動変換可』という説明を鵜呑みにし、変換後のリファクタリング工数を見積もり忘れる失敗。『変換工数+リファクタリング工数+テスト工数』を必ず別建てで予算化 してください。

失敗 2:RPG 資産の調査を後回し

プログラム本数・行数・依存関係を把握せずにベンダー選定を進めると、提案書の見積もり前提が曖昧になり、後で大幅な追加費用が発生。要件定義の最初の 1~2 ヶ月で資産棚卸し を完了させてください。

失敗 3:デッドコードを移行

実際は使われていないプログラムを『動いているから』という理由で全部移行対象にすると、無駄な工数・コストが発生。使用頻度の調査 を移行設計の段階で行い、デッドコードを除外する経営判断が必要です。

失敗 4:RPG 技術者がいるうちに動かない

社内 RPG 技術者の退職を待ってから動き始めると、業務知識の継承ができず、移行プロジェクトが極度に困難になります。技術者在籍中に資産棚卸しと業務ロジック文書化 を完了させることが、移行成功の絶対条件です。

『RPG 資産、何から手をつければ?』とお悩みの方へ
資産棚卸しと 3 アプローチの選定軸を、貴社の状況に合わせて整理します。
無料相談 >

RPG 移行の本質は『資産の価値判断』

RPG 移行プロジェクトの成否は、変換技術ではなく 『RPG 資産の価値を客観評価できるか』 にあります。30 年の蓄積を『資産』と見るか『負債』と見るか、競争力に直結する業務独自性は何割か、デッドコードはどれだけあるか——これらを経営判断のフレームで整理することが、3 アプローチの選定の出発点です。

株式会社クオンツでは、『RPG 資産の客観評価』『3 アプローチの経済合理性比較』『自動変換ツールの妥当性検証』『段階移行設計』 のご相談を、無料で受け付けています。汎用機・オフコンからオープン系・クラウド基盤への移行プロジェクトに 25 年携わってきた経験から、貴社の業務・人材・予算に合わせた現実解を一緒に整理します。机上のコンサルではなく、お客様の現場と並走するスタイルで、次の一歩の選択肢を整理します。

FAQ

よくあるご質問

RPG 移行の主な選択肢は?
3 つあります。①最新版 RPG(Free-format RPG)への近代化:IBM i 継続前提、500 万~2,000 万円、②オープン系言語(Java/C#/.NET 等)への自動変換:IBM i 脱却し、オープン系・クラウドへ、5,000 万~1.5 億円、③パッケージ移行で RPG 資産を清算:業務改革と一体、3,000 万~8,000 万円。業務独自性・人材・予算で選択します。なお「COBOL への自動変換」もありますが、レガシー言語からレガシー言語への移行になるため、本記事では主要アプローチには含めていません。
移行先のオープン系言語は何を選ぶべきですか?
社内・委託先の人材構成、既存周辺システムの言語、クラウド戦略で判断します。業務系の主流は Java、Windows/Microsoft 365 連携や C# 資産がある企業は C#/.NET、Web フロントとの連携重視なら TypeScript/Node.js も候補です。重要なのは『流行り言語』ではなく『自社環境で長期保守できる言語』を選ぶこと。1 言語に絞らず、フロント(TypeScript)/バックエンド(Java または C#)/バッチの組み合わせで設計するケースも増えています。
RPG → COBOL 変換は選択肢になりますか?
限定的なケースでのみ選択肢になります。RPG(1959 年)も COBOL(1959 年)も同世代のレガシー言語で、変換しても 5~10 年後にまた移行が必要になる可能性が高く、業界の主流ルートではありません。意味があるのは『社内・グループ会社で COBOL 資産が大量に稼働しており言語を揃えたい』『IBM z/OS メインフレームへ統合計画がある』など限定状況です。中堅企業の典型的なオフコン移行では、オープン系言語(Java/C#/.NET 等)への変換の方が経済合理性が高いケースが多くなります。
自動変換ツールでオープン系言語に変換できますか?
技術的には可能ですが、変換後のコードは『機械翻訳的』で保守困難なケースが大半です。変数名・関数名・ロジック構造が RPG 由来で、変換先言語の自然な書き方になりません。長期的に活用するには、追加リファクタリングが必須で、これに自動変換と同等以上の工数がかかります。『100% 自動変換可』というベンダー説明は鵜呑みにせず、変換工数+リファクタリング工数+テスト工数を別建てで予算化してください。
RPG 資産の棚卸しは何をしますか?
3 つを把握します。①プログラム本数・行数・RPG バージョン分布、②プログラム間の依存関係と DB テーブルとの関係(依存関係マップ)、③使用頻度(実際に動いているプログラムと、動かなくなったデッドコードの割合)。中堅企業の典型では『実は使われていない 20%』が含まれており、これらを除外することで工数・コストを削減できます。要件定義の最初の 1~2 ヶ月で完了させるべき工程です。
段階移行と一括移行、どちらが良いですか?
中堅企業では段階移行が成功率高めです。段階移行(18~30 ヶ月)は会計→販売管理→生産管理 のように業務領域単位で順次移行し、リスク分散と現場負荷軽減が可能。一括移行(12~18 ヶ月)は総期間短いが失敗時の影響大。本業へのインパクト最小化、リスク分散の観点から、段階移行を第一選択肢として検討してください。
RPG 資産を捨てる判断はいつしますか?
『業務独自性が業界差別化に直結しない』場合は捨てる判断が経済合理的です。30 年蓄積された独自仕様の大半は、業界特化パッケージで吸収可能なケースが多く、競争力に直結する 1~2 割だけパッケージにカスタマイズで残す Fit to Standard 戦略が現実解。資産の客観評価で『活かす価値』と『捨てるリスク』を比較してください。
RPG 技術者がいるうちに何をすべきですか?
3 つを優先します。①RPG プログラムの棚卸しと仕様書化(属人化解消)、②業務ロジックの文書化(『なぜそうなっているか』の言語化)、③次の方針決定(継続するなら Free-format への近代化、脱却するならオープン系言語への変換・パッケージ移行)。技術者退職後では、業務知識の継承ができず、移行が極度に困難になります。在籍中こそが移行プロジェクトの最後のチャンスです。