拡張開発
NetWeaver ABAP Platformでは、プログラムといったリポジトリオブジェクトを直接変更せずに、予め意図的に用意された間口にコーディングしてカスタマ領域で新しいリポジトリオブジェクトを開発することにより、既存の機能を拡張する仕組みが用意されております。
このカテゴリでは、NetWeaver ABAPリリース7.0 (SAP NetWeaver 2004s)以降から導入された新しいテクニックの拡張フレームワークと従来の拡張テクニックを取り上げてそれぞれ説明します。
拡張フレームワーク
拡張フレームワーク(Enhancement Framework)とは、、従来の拡張テクニック(カスタマExitやクラシックBAdiなど)をオブジェクト指向の手法で改良したフレームワークです。 拡張フレームワークでサポートされる拡張仕組は、「BAdiによるオブジェクトプラグイン」と「Enhancement Optionによるソースコードプラグイン」に大別します。 ここのBAdiは従来のクラシックBAdiと区別して、新規BAdiと呼ばれます。クラシックBAdiから新規BAdiに自動的に変換することができます。
詳細はこちらをお読みください。
従来の拡張技術
新しい拡張技術の拡張フレームワークができるまでには、以下の古い拡張が使われてきました。
- カスタマExit
- 汎用モジュールExit
- メニューExit
- Dynpro Exit
- クラシックBADI
クラシックBADIは汎用モジュールExit に取って代わったものとして、リリース4.6d 以降導入された技術です。リリース4.6までには、拡張技術としてカスタマExitしか使えない時代でした。
ツール
拡張ポイントの調査や拡張開発を実施するには、標準で用意された以下の機能を利用することができます。
Trcd | 機能 | 目的 | |
---|---|---|---|
SPRO | 導入ガイド(IMG) | 従来の拡張テクニック(カスタマEXIT、ユーザEXIT、クラシックBADI)で実装可能なポイントを調査したりナビゲーションすることができます。 | |
SE84 | リポジトリ情報ブラウザ | 各拡張テクニックの拡張ポイント及び実装済の拡張プロジェクトを調査したりナビゲーションすることができます。 BADI/クラシックBADI/カスタマEXIT/Enhancement |
|
SMOD | SAP拡張 | 拡張ポイントを指定してカスタマEXITを作成 | |
CMOD | SAP拡張プロジェクト管理 | 作成済のカスタマEXITを編集 | |
SE18 | BADIビルダ:定義 | BAdi定義 | |
SE19 | BADIビルダ:実装 | BAdi実装 | |
SE37 | 汎用モジュールビルダ | Enhancement Option実装を作成することができます | |
SE38 | ABAPエディター | Enhancement Option実装を作成することができます | |
SE80 | ABAPワークベンチ | SE84、SE37、SE38などの機能がすべて統合されています |