以下根据系统实例做的 最终效果:
1、 SE11建立数据表,主要是用于存放附加的数据;
MANDT MANDT CLNT 3 0 客户端
MBLNR MBLNR CHAR 10 0 物料凭证编号 MJAHR MJAHR NUMC 4 0 物料凭证年度 ZEILE MBLPO NUMC 4 0 物料凭证中的项目
BADI_ERFMG ERFMG QUAN 13 3 以输入单位计的数量 BADI_ERFME ERFME UNIT 3 0 条目单位
2、 建立结构,在屏幕数据交换时使用
3、 建立表类型
设置关键字段:
4、 SE80建立函数组
创建屏幕1000,
设计格式,插入附加字段
创建function: ZJIM_BADI_EXAMPLE_GET_DATA
*\------
*\ *\
*\ *\
*\------
* Get all data from fields of external screen * First move all customer-fields
MOVE-CORRESPONDING zjim_badi_exampl TO es_migo_badi_screen_fields.
* Second move all GOITEM-fields (displayed on external screen)
function: ZJIM_BADI_EXAMPLE_PUT_DATA
*\------
*\ *\
*\ *\
*\------
* Put all data from fields to external screen * First fill all customer-fields
MOVE-CORRESPONDING is_migo_badi_screen_fields TO ZJIM_badi_exampl.
* second fill all GOITEM-fields (displayed on external screen)
function: ZJIM_BADI_EXAMPLE_UPDATE_DATA
*\------
*\ *\
*\ *\
*\
*\------
* Databse update:
INSERT zjim_BADI_EXAMPL FROM TABLE IT_MIGO_BADI_EXAMPLE. IF sy-subrc <> 0.
MESSAGE a398(00) WITH 'Error update MIGO_BADI_EXAMPL'. ENDIF.
INCLUDE : LZJIM_BADI001TOP
TABLES : Zjim_badi_exampl.
到这里增强的准备工作就做完了,下面开始创建实现: 5、 SE19创建实现
6、 创建执行类ZCL_IM_JIM_MIGO_BADI,激活ZJIM_MIGO_BADI