業務・メインフレーム・製品内言語
業務・メインフレーム・製品内言語に分類される名前を一覧し、現行開発で新規に採用する対象なのか、既存資産を保守・移行する対象なのかを切り分けます。製品名や業務用語だけで互換性を判断せず、実行基盤、データ、周辺製品、契約・サポートの状態まで確認してください。
このカテゴリの使い方
Section titled “このカテゴリの使い方”この一覧は、言語名を見つける入口です。個別ページでは公式参照情報と分類を確認し、実際の変更では対象製品の版、データベース、連携先、バッチ・帳票・権限設計を別々に調査します。過去のコードを現代的な言語へ移す場合も、構文の置換を先にせず、業務ルールと入出力をテストで固定することが重要です。
移行・保守の確認順序
Section titled “移行・保守の確認順序”- 対象言語・製品・ランタイムの版と、保守契約・サポート期限を記録する
- データ形式、外部連携、定期処理、権限に関わる境界を洗い出す
- 小さな読み取り・テスト環境で現行の振る舞いを再現する
- 置換・更新はロールバックと照合手順を用意してから行う
| 名称 | 見るべき境界 |
|---|---|
| ABAP / Apex / Salesforce Flow | 製品版、権限、API・設定との関係 |
| COBOL / JCL / RPG / PL/I | バッチ、データ、メインフレーム運用との関係 |
| dBase / FoxPro / Informix-4GL / Progress ABL | 既存データ、クライアント、移行ツールとの関係 |
| Groovy / VBA / REXX | 実行ホスト、依存関係、ユーザー作成資産との関係 |
個別の仕様・配布・ライセンスは変わり得るため、採用判断には必ず各製品・言語の一次情報を使用してください。
追加調査で押さえる実務ポイント
業務・メインフレーム・製品内言語は、一般的なWeb言語とは異なり、特定の業務基盤、mainframe、ERP、workflow、database、製品runtimeの中で価値を持つ言語・DSLをまとめた分類です。「ERP言語」という単一の標準はなく、SAPのABAP、IBM z/OSのJCL/REXX、COBOL、GuidewireのGosuなどは実行環境と責任範囲が異なります。担当製品・版・runtimeを特定してから個別ページへ進みます。
目的から選ぶ
| 目的 | 候補 |
|---|---|
| SAP | ABAP |
| IBM batch | JCL |
| mainframe業務 | COBOL |
| z/OS scripting | REXX |
| Guidewire | Gosu |
| database | SQL |
| business rule | 製品固有DSL |
| workflow | BPMN/BPEL系 |
「ERP言語」とは
ERP製品には、programming language、query language、configuration、formula、workflow、extension APIが混在します。名称だけで言語と判断せず、何を実行し、どのruntimeで、どの権限を持つかを確認します。
分類
Mainframe言語
COBOL、PL/I、JCL、REXXなど。batch、transaction、dataset、job schedulerと組み合わせます。
ERP製品内言語
ABAP、X++、ALなど。製品data model、transport、authorization、upgrade policyに依存します。
Business process DSL
BPEL、BPMN expression、workflow formulaなど。process engineで実行されます。
Rule language
decision table、BRMS、Drools系など。business ruleをapplicationから分離します。
移行・保守の確認順
- 製品名。
- version。
- runtime。
- source repository。
- build/compile。
- database。
- scheduler。
- external interface。
- authorization。
- support contract。
コードだけでは移行できない
業務systemではsource以外に、schema、master data、job、帳票、権限、運用手順、外部file format、文字code、timezoneが重要です。
最小例: JCLとCOBOLを分ける
//STEP1 EXEC PGM=PAYROLL
JCLはprogramを実行するjob controlであり、PAYROLLの業務logic自体はCOBOL等にあります。
最小例: SQL
SELECT customer_id, total
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '30 days';
SQLはdatabaseへ問い合わせる言語で、ERP全体のapplication logicではありません。
新規採用の判断
製品内言語は、その製品を使うために選びます。一般applicationを新規構築するだけなら、vendor lock-in、license、developer tool、cloud restriction、upgradeを比較します。
保守で注意すること
- internal API
- direct table update
- unsupported customization
- character encoding
- batch window
- transaction boundary
- audit log
- personal data
- test environment
- rollback
次に読む
参考リンク
- www.ibm.com - IBM JCL
- help.sap.com - SAP ABAP
- www.omg.org - BPMN