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