sap ME51N,ME21N屏幕增强

更新时间:2023-12-03 05:10:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ME51n,ME52n,ME53n屏幕增强 使用增强:MEREQ001 购买申请中的客户自有数据

1、如果需要向PR中加入自定义字段,事务码se11,打开透明表EBAN,双击include:CI_EBANDB,创建结构CI_EBANDB,维护自定义的字段。

2、事务码CMOD create project:ZMMpr001,在Enhancement assignment中添加增强MEREQ001,保存。

3、事务码smod:MEREQ001,打开如下图,

有三个function module,还有screen area,可知screen :0111便是预留的屏幕,可以在其函数组中创建screen 0111,然后在其上画一些需要的字段栏位就ok了。 双击其中一个function module,然后点击display object list按钮

,显示如下图

在函数组XM02中create screen 0111,然后在其上画一些需要的字段栏位,注意0111设置为subscreen。

激活,CMOD中激活ZMMpr001,此时在事务码ME51n中就能看到多了一个客户数据tab页,相应me52n,me53n等也有。

到此为止,屏幕做好了,但是要在屏幕栏位上输入数据并能保存到透明表,及显示的时候能从透明表读出到屏幕栏位,就需要在上述三个function module中写代码。

4、在函数组XM02中,有include:ZXM02TOP,目前是空的,create it,添加代码: data : gv_trtyp type aktvt. DATA: FL_INPUT TYPE FLAG.

激活EXIT_SAPLMEREQ_001中的include添加如下代码: TABLES : ci_ebandb.

DATA : i_mereq_item TYPE mereq_item. CALL METHOD im_req_item->get_activity RECEIVING

re_aktvt = gv_trtyp. CASE gv_trtyp. WHEN 'A'.

fl_input = space. \WHEN 'V'.

fl_input = 'X'. \ENDCASE.

IF im_req_item IS INITIAL. CLEAR: ci_ebandb. ELSE.

i_mereq_item = im_req_item->get_data( ).

MOVE-CORRESPONDING i_mereq_item TO ci_ebandb. ENDIF.

激活EXIT_SAPLMEREQ_003中的include,添加下面代码: DATA : i_mereq_item TYPE mereq_item. IF NOT im_req_item IS INITIAL.

i_mereq_item = im_req_item->get_data( ).

MOVE-CORRESPONDING ci_ebandb TO i_mereq_item . CALL METHOD im_req_item->set_data( i_mereq_item ). ex_changed = 'X'. ENDIF.

最后对上述建立的subscreen 0111添加PBO,如下代码:

*----------------------------------------------------------------------* ***INCLUDE ZXM02O01 .

*----------------------------------------------------------------------* *&---------------------------------------------------------------------* *& Module STATUS_0111 OUTPUT

*&---------------------------------------------------------------------* * text

*----------------------------------------------------------------------* MODULE status_0111 OUTPUT. * SET PF-STATUS 'xxxxxxxx'. * SET TITLEBAR 'xxx'. CHECK fl_input IS INITIAL. LOOP AT SCREEN. screen-input = 0. MODIFY SCREEN.

ENDLOOP.

ENDMODULE. \

OK,到此为止,ME51n等的屏幕增强就完成了,屏幕0111上栏位可以保存到eban中,修改,显示等。 这是比较简单的逻辑,如果有其他复杂的要求,可以对上述代码大做文章。

采购申请增强CODE:SMOD.CMOD 增强:MEREQ001

从SE11进入EBAN

本文来源:https://www.bwwdw.com/article/h75t.html

Top