正如前面blog所说,SAP中提供很多的enhancement技术,前面已记录了最常用的FM Exit(【增强】SAP增强以及使用Function Model Exit).接下来的两篇将记录BADI的应用。
谈到BADI,这里我将其分为两部分,一部分是利用现有的BADI也即对现存的BADI进行实现从而完成增强,这也是我们在平时的工作中最常应用的部分,本篇记录;另一部分将利用BADI背后的OO原理自己创建一个BADI并应用于业务中去,这将在下篇中去记录。
注:本博只记录相关的知识与实现,深入学习还请参阅相关的文献或资料。
1.搜索BADI
使用BADI,首先如果一个需求给我们,我们必须要了解或者调研究竟这个业务场景是否使用了BADI(或者是Exit,如果是Exit则可以去实现exit)。作为一个记录,需求仅是“尝试”对Tcode:MIGO进行BADI增强。
对于MIGO,看它使用了哪些BADI。
找到MIGO的program: System->status
它的program为:SAPLMIGO
SE38中global搜索:以CL_EXITHANDLER为关键字。
这里,我们来实现这个BADI: MB_MIGO_BADI(注:另一个BADI的实现并应用于具体业务,将在后续MM业务记录的文档中给出)。
2.实现BADI
我们先来观察一下这个BADI:
Tcode: SE18(BADI builder)
Display进行查看:
作为测试,我们实现该BADI,报一个msg出来。
Tcode :SE19 (BADI implementation)
点击create Impl.实现:
最后需要要active.
Okay.实现一个现有的BADI相关的skill记录结束。
因后面将会有另外的一个BADI实现并应用。该BADI的效果的最后测试,暂就不贴图。
如有兴趣可以通过MIGO进行业务测试。