Top > ビジネスアドイン

ビジネスアドイン

はじめに

私は数年前からABAP開発をしていますが、このビジネスアドイン(BAdI)という言葉を聞くようになったのは最近であり実装実績も数件程度です。企業固有の業務や特殊なロジックを標準のR/3の機能だけで表現していくには限界がありそれを実現していく為にはユーザーモディフィケーションの使用が不可欠と考えます。
ユーザーEXIT、カスタマーEXIT、ビジネスアドイン、OPEN FIなど拡張の技術は様々ですが、ここで紹介するBAdIについてはよりスタンダードな技術になっていくと考えています。

ビジネスアドインとは?

ビジネスアドインは、ABAP オブジェクトを基礎とした新しい SAP 拡張の技術です。これまでは(R/3旧バージョン)、R/3標準の処理の後にユーザー仕様の処理を実施するには、USER-EXITを使用していました。USER-EXITは、R/3のバージョンアップやノートの適用、パッチ適用などの影響をそのまま受けてしまうことが多々あると思っています。
これに対して、SAP社ではある程度の仕様変更やバージョンアップに対して影響を受けにくい、カスタマEXIT(拡張プロジェクト/コンポーネント)と BAdI (Business Add-Ins) の2タイプの拡張方法を提供しています。※細かく分類するともう少しありますが。。。。
カスタマEXITではSAP拡張(トランザクション【SMOD】/【CMOD】)を使用して、あらかじめSAP社によって提供されたコンポーネントを拡張することで独自処理を実装することができますが、コンポーネント内で使用できる変数があらかじめ決まっています。
ビジネスアドインも同様に使用できる変数は決まっていますが、実装の手順がカスタマEXITと異なります。イメージとしては、よりコアロジックに近い位置で制御する感じです。また主にEXITとして使用できますが、他の目的のために用意されているBAdIも多々あります。

ビジネスアドインの具体的な実装方法についてはこの後説明していきます。

ビジネスアドイン(BAdI)実装方法

  1. 定義【SE18】
    ビジネスアドインには”定義”という括りがあり、定義はインターフェースで構成されています。インターフェースはクラスのようなもので、インターフェースの中にメソッドがぶら下がっています。トランザクション【SE18】から定義を登録することができますが、ここでの説明では定義は作成しません。
  2. 実装【SE19】
    トランザクション【SE19】で”実装”を登録します。”実装”を登録する場合は定義名を指定する必要があります。指定された”定義”に割りあたっているインターフェースがコピーされ、新規に作成された”実装”に割りあたりクラスインターフェースに対してロジックを拡張できるようになります。
  3. クラスビルダ
    トランザクション【SE24】で拡張したクラスインターフェースにロジックを拡張することができます。クラスインターフェースで拡張されたメソッドに対してロジックを追記することができます。先にも記述しましたが、このビジネスアドインで使用できるパラメータはあらかじめ決まっています。トランザクション【SE24】で実装を照会し、Interfaceタグのインターフェース名をダブルクリックすることでインターフェース画面に遷移します。メソッドタグ内のパラメータボタンでメソッド別に使用できる引数を確認することができます。
  4. 実装の有効化
    トランザクション【SE24】のトップ画面からビジネスアドインの有効化をすることができます。有効化することにより拡張したビジネスアドンロジックが機能します。

リロード   新規 編集 凍結 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2008-06-16 (月) 21:21:56 (3933d)