补充或更改缺省数据 (工厂)

来源:互联网 发布:comsol软件 编辑:程序博客网 时间:2024/04/29 17:36

补充或更改缺省数据 (工厂)

u      寻找已定义的BADI:

可以通过SPRO或SE18查询.

SPRO从增强里可以看到,比如在创建物料主记录更改默认值的BADI的路径为:

SPRO->后勤 - 常规->物料主记录->增强->补充或更改缺省数据 (工厂).

Definition name BADI_MATERIAL_REF.

Implementation name是做客制化时创建的.

u      BADI定义

1SE18

2.输入要创建的BADI的名字,点击"Create"

3.输入BADI的描述性文本,在"Interface"选项卡上输入接口的名字,也可以采用SAP建议的接口的名字。同时,BADI类也会被创建。

例如:对于BADI "ZTEST"SAP会建议"ZIF_EX_TEST"作为接口的名字,"ZCL_EX_TEST"作为类的名字。

4.保存BADI

5.双击接口的名字,会跳转到Class Builder界面,在这里你可以定义接口的方法。

6.保存并激活接口。

u      在应用程序中调用BADI

1.声明一个BADI接口的参考引用变量。

例如:DATA exit_ref TYPE REF TO zif_ex_test.

2.调用类CL_EXITHANDLER的静态方法GET_INSTANCE,将返回一个请求对象的实例。

例如:

CALL METHOD CL_EXITHANDLER=>GET_INSTANCE
CHANGING instance = exit_ref

3.现在你可以调用BADI的所有方法了

u      BADI实现

1,SE19;

2Implementation name输入名称: ZIF_EX_MM01DEF_001(Z(客制化程序的开头字母)+IF(INTERFACE接口)+_+EX(EXIT)+_+MM01(起作用的TCODE)+DEF(DEFAULT实现的功能)) 点击创建;

3,输入BADI定义的名字Definition name BADI_MATERIAL_REF

4,Implementation short text输入信息,: 创建主数据时修改默认值

5,激活

6,输入开发类,:ZMM.

这时一个客制化的BADI就实现了,它继承了BADI_MATERIAL_REF的参数和方法.在其方法CREATE_MATERIAL中写入代码,就可以通过更改参数的值达到修改主数据默认值的目的.其中EXPORTINGChanging的参数可以更改, Importing参数不能进行更改.