zoukankan      html  css  js  c++  java
  • BADI(ビジネスアドイン)の探し方

    概要

    元々、SAPはユーザEXITと呼ばれるインクルードプログラムを実装することによって標準機能の拡張を実現してきたが、それに置き換わる新拡張技術としてBADI(ビジネスアドイン)を提供している。これにより、今後新たなユーザEXITを提供する事はないと言われている。 また、BADIはクラス化されている為に予め定義された引数・戻り値しか使用する事ができず苦労する事も多い。

    BADIの探し方

    1.トランザクションコード:SE24でクラス:CL_EXITHANDLERを照会

    2.メソッド:GET_INSTANCEを選択しプログラムソースを表示

    3.下記にブレイクポイント指定 14行目当たりの”CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE”

    4.確認したいトランザクションを別セッションで実行

    4.上記メソッドの戻り値:EXIT_NAMEに返される値が使用されているBADIの定義名にあたる。  ※共通的なBADIも実行されるので、関係のなさそうな名称であればスルーしてください。

    例えば、品目マスタの変更(トランザクションコード:MM02)で表示→保存と実行した場合は以下のBADIが実行されている事がわかる。 BADI_MATERIAL_OD GOS_SRV_SELECT BADI_LAYER BADI_MATERIAL_OD ECM_EXIT BADI_GTIN_VARIANT BADI_MATERIAL_CHECK BADI_SCREEN_LOGIC_RT W_RETAILSYSTEM_IDENT BADI_MATN1

    これらで品目に関係がありそうなのはBADI_MATERIAL_OD、BADI_MATERIAL_CHECK、BADI_MATN1だろうと推測できる為、 その中で要件が実現可能なメソッドが存在するかを確認していけば良い。 またBADIの定義はトランザクションコード:SE18で確認する事ができ、BADIの実装を行いたい場合は トランザクションコード:SE19にてBADIの定義を継承して拡張登録する事ができる。 また、実装後の変更でクラス名が判っていればトランザクションコード:SE24から直接変更する事も可能だ。

    関連トランザクションコードまとめ

    SE24: クラス/インタフェース SE18: ビジネスアドイン(定義) SE19: ビジネスアドイン(実装)

  • 相关阅读:
    npm ci命令比npm installer命令快2至10倍
    Liferay 7.1发布啦
    2016/07/05 zend optimizer
    2016/06/16 phpexcel
    2016/06/13 phpexcel 未完待续
    2016/06/10 日历插件 Datepicker
    2016/06/09 ThinkPHP3.2.3使用分页
    2016/06/02 网摘记录 svn 服务器端 客户端 安装使用
    2016/05/27 php上传文件常见问题总结
    2016/05/25 抽象类与API(接口)差别
  • 原文地址:https://www.cnblogs.com/yjyongil/p/11155169.html
Copyright © 2011-2022 走看看