SAPの拡張手段
Last-modified: 2016-10-31 (月) 08:40:00
Top/SAPの拡張手段
SAPは素晴らしいパッケージであるが、個々の顧客の望む全てが用意されているわけではない。 むしろ、そういった個別ニーズを標準化することがERPの本質でもあるのだが、実務上はそうもいかない。
大きく、下記の分類が可能である。
内部的な拡張 †
SAPが「顧客要件はここで吸収しなさい」という意図で用意している、標準機能の流れに処理を加えることができる間口のことで、SAP標準の流れの中、具体的にはマスタや伝票登録に機能を付加する性質のもの。
なお、ここではあくまで標準が用意しているものを語ることとし、そもそも用意されていないモディフィケーションやアドオンについては、別途リンク先を参照されたい。
Exit †
SAP標準を拡張する手段のひとつ。 その名の通り標準の処理の出口、すなわち標準プログラムの内部ではなく基本的には処理後に変更を加えることとなる。 なお、後継にあたるBAdIについても、便宜的にこちらで語ることとする。
良いところ †
- 大掛かりなアドオンを作らなくて済む 組むのならばソコソコのボリュームになる話はよくあるが、標準に足りない動きをチョコっと追加するだけで済むのなら、それに越したことは無い。
- 動きの大半は標準が担保してくれる 上のトピックとも通ずるが、あくまで標準の流れという性質の為、フルアドオンと違い、担保しなければならない試験項目は少なくて済む。
悪いところ †
- 不都合があった場合のインパクトが大きい バグは言うまでもなく、特定部署用の仕様が全社で動いてしまったなど、マスタ登録や伝票入力時に漏れなく動くため、インパクトが非常に大きい。 本番機で障害を起こした結果、顧客の業務を止めてしまった苦い経験を持つ人も少なくないのではないだろうか。
- 移送のタイミングが難しい 例えば只のレポートであれば、例のメッセージ「現在のプログラムは変更されています」の影響と言っても再実行するだけなのでたかが知れている。 しかし、Exitは主に伝票入力時に動作させる性質のため、ダンプが起きてくれるのでデータ不整合などの心配はないが、もっかい入力しなければならないことになり、これは相当に心が折れ、また時間が無駄になる。 (念のため言っておくが、技術者がテストで伝票入力するようなお気楽さで業務ユーザは入力しない。) と言う訳で、朝早く・昼休み・夜遅くの三択となることが多い。
- コンサルのワークロードが増える
いや、開発者の負担が増えればいいってもんじゃないんだが、大抵は伝票入力したり要件定義の結果を即反映したり機能検証しながらだったりするためコンサルがやることとなる。
- ドキュメントが残りにくい 開発者がヒマだとは言わないが、当然ながらコンサル業務の方が多岐にわたり雑務に忙殺されることが多いため、仕様書やエビデンスなどのドキュメントが後回し、あるいは忘れられてしまうこともしばしば。
- 品質、設計、実装に問題が出やすい 機能検証の傍らで「これでいこう」となることも多いため、保守性が低いし拡張性も無い。 また、開発者だったら当然ケアするようなものでも、コンサルが組むと大抵は汚く可視性も低くなる。
- 他チームとの連携に抜け漏れが出やすい わかりやすいのはアプリチーム&マスタチームやアプリ&開発など、チームを跨いで共有しなければならない要件や実装が変更の都度共有されにくいということ。 マスタで必須入力を前提としているからExitでは素通り、結果アドオンレポートの例外処理で落ちる・・・などの御粗末な話には事欠かない。
- 開発者が実施した場合、要件の加味に不安がある じゃあどっちがやれってのよ!という話もあるが、開発者がやったらやったで、アプリが把握する要件自体や要件同士の衝突などを感知できづらい。 これだと受入にもソコソコの時間を割くこととなり、じゃあやっぱり・・・といってコンサルがやることが多いように思う。
種類 †
- ユーザExit
- カスタマExit
- 変換Exit ドメインに割り当てる、入出力内容の変換用汎用モジュールのこと。 例えば、内部的には0000000100の得意先を、画面に100と表示する動きのこと。 会計年度だったらCONVERSION_EXIT_GJAHR_OUTPUT。
- 検索ヘルプExit 検索ヘルプに割り当てるExit。 例えば、照会したり変更したりする権限のないデータを検索結果から除外する場合などに使用する。
- BAdI
ルーチン †
SAP標準の主に条件テクニックを拡張する手段の一つで、下記のものが挙げられる。
- 計算式 ルーチンのひとつで、条件金額そのものや価格設定/条件基礎値を編集するためのもの。
- 限定条件 ルーチンの使い方のひとつで、特定の場合に条件マスタを読み込まないという場合に使用する。 検索順序や価格決定表、出力決定表に割り当てる。
- コピールーチン(コピー規則) 販売管理においては、このように先行伝票から後続伝票を起票するが、特定の必要条件をクリアしているかおよび複数伝票をまとめる場合、あるルールに抵触していないかを設定するルーチン。 具体的には受注先が異なる場合は同じ伝票にしないなどがある。 が、このルールに抵触していないからといって全てまとめられるわけではなく、請求伝票起票時で言うならば、支払条件や支払人が異なる場合は標準のチェックで分割される。
- コピールーチン(データ転送) 販売管理においては、このように先行伝票から後続伝票を起票するが、先行伝票の内容を、後続伝票の項目に割り当てるために設定するルーチン。
チェック †
チェック参照のTTTこと。
代入 †
代入参照のこと。
Open-FI †
Open-FI参照のこと。
外部的な拡張 †
標準ツールを使用した拡張と純然たるアドオンに大別することができ、後者はリンク先参照のこと。
関連 †
SAPの拡張手段/トランザクションコード SAPの拡張手段/関連テーブル SAPの拡張手段/分野メニュー
コメントはありません。 Comments/SAPの拡張手段