SAPの標準機能のままでは要件を満たせない場合、アドオン機能を開発するか、標準機能に追加ロジックを追加するか検討することになります。
Fit to Standardが推奨されていますが、とはいえ全てを標準機能のみで賄えることは少ないため、何かしら開発をすることは多いと思います。
機能として存在しない場合は、新規機能開発をする必要がありますが、近いことが出来る機能はあり、そこに少しの改修を入れたい場合に可能な方法として、BADIやOpen FI、カスタマーExit、ユーザーExit等のいわゆるExitと呼ばれる拡張機能が活用できます。
あらかじめ決められた場所に任意の処理をABAPで書けるというもので、多くの導入プロジェクトで活用されています。
今回は、このうちの「カスタマーEXIT(Customer Exit)」について、お話したいと思います。
カスタマーEXITとは何かをおさらい
カスタマーEXITとは、SAP標準プログラムの中にあらかじめ用意された拡張ポイントです。
主には以下のような仕組みで構成されています。
- Function Exit(SMOD/CMODで管理)
- Include(ZX~で始まるユーザー実装用プログラム)
- Enhancement(Enhancement Frameworkの一部)
開発者はこれらを利用して、標準ロジックに独自処理を組み込むことができます。
カスタマーEXITの情報を管理する主なテーブル
上記の通り、カスタマEXITをトランザクションコード CMOD で定義することになりますが、どのようなEXITがあるのか、どのEXITが実装されているのかを確認するのに使えるテーブルがあります。
テーブル MODSAP、MODACT などにカスタマーEXITの情報が設定されています。そんなに頻繁に使うような知識でも無いのですが、既存システムの調査など、知っていると便利なときがたまにあるので、よかったら覚えておいてください。