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

    技术2022-05-12  14

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

    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_INSTANCECHANGING 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参数不能进行更改.

     


    最新回复(0)