FavoriteLoading
0

BADI实例开发-生产订单收货(MB_DOCUMENT_BADI)

[隐藏]

BADI是SAP主要的增强的方式之一,根据不同的阶段,目前BADI有两种:CLassic BADI 和 New BADI。两种BADI的基本原理差不多,但是具体的实现方式不同。说土点就是SAP预留的接口类,这个接口类有一些方法,但是这些方法都是空的,这些方法也有都自己的IMPORTING ,EXPORTING, CHANING参数.我们需要实现这些方法,并且加入自己的代码。

下面以以生产订单收货(Tcode-MB31)为例,详细演示如何实现一个BADI的增强

1, BADI的查找方法

通过system-->status 找到MB31对应的程序,并搜索关键字CL_EXITHANDLER

2016-08-26_14-03-36

可以找到所有BADI名字(exit_name).

1346920607_1792

或SE24(CL_EXITHANDLER)在方法GET_INSTANCE中打断点,然后运行相应事物码扑捉BADI 名字,保存在exit_name中。

2016-08-26_14-08-37

2, SE18查看BADI

可以使用SE18查看该BADI,可以看到改BADI对应的接口,接口中定义的方法及参数传递。

以MB_DOCUMENT_BADI为例

2016-08-26_14-11-49

可以通过Implementation-->display 查到所有badi的实现,也可以看到SAP提供的例子

2016-08-26_14-13-04

3, SE19实现

通过SE19  Implementation该BADI

1346921438_4496

点击“创建”

1346921540_7605

1346921634_8781

点击“保存”,激活

1346921798_6479

可以在方法内加入自己的代码

2016-08-26_14-23-47

激活后就可以测试了。

以上。