如何在sap系统中实现供应商主数据屏幕增强

如何在sap系统中实现供应商主数据屏幕增强

ID:11256454

大小:413.50 KB

页数:8页

时间:2018-07-11

如何在sap系统中实现供应商主数据屏幕增强_第1页
如何在sap系统中实现供应商主数据屏幕增强_第2页
如何在sap系统中实现供应商主数据屏幕增强_第3页
如何在sap系统中实现供应商主数据屏幕增强_第4页
如何在sap系统中实现供应商主数据屏幕增强_第5页
资源描述:

《如何在sap系统中实现供应商主数据屏幕增强》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、如何实现供应商主数据屏幕增强□作者:Dario最近在项目之中应客户需求采用BADI方式实现了一个供应商主数据的屏幕增强,其逻辑虽然比较简单,但是包含了实现一个典型的BADI屏幕增强所需的所有元素,同时这个方式对于客户主数据增强也是完全适用的,所以在这里记录下来做一个简单的总结。先来看看最后的效果,通过事务代码xk01/xk02/xk03(mk01/mk02/mk03)进入供应商主数据屏幕后,可以看到屏幕上多出了一个按钮:双击进去之后就可以看到我们新增的增强屏幕和增强字段:根据SAP的说明,在这里我们最多可以添加32个tabs,肯定是用

2、不完的了,一个基本上就够了。接下来看看怎么样一步步实现这个功能:第一步,附加一个增强结构到标准表lfa1中,第二步,进入事务代码SPRO,在中文环境下按照路径后勤-常规->业务合作伙伴->供应商->控制->客户所有的主数据字段的采用,选择第一步“准备供应商主记录的自由修改增强”,添加一条记录到视图V_TSCGR_VENDOR中:选中这条记录,再双击“标签Tab页”就可以添加一条记录到视图V_TAXITABS_KRED中,这里我们定义的是一个Tab页。上面这两步都是属于配置的部分,需要产生传输请求号保存。接下来我们需要实现BADIven

3、dor_add_data中的一个方法来让我们的增强被激活。代码很简单:CHECK i_screen_group = ‘ZV’.e_add_on_active = ‘X’.对于BADIvendor_add_data的实现目前就只需要这一个接口方法。接下来继续实现BADIvendor_add_data_cs,这个才是这个屏幕增强的主体部分,和传统的屏幕增强方式不同(传统的屏幕增强例如采购订单的增强MM06E005),这里只提供了几个接口,真正的逻辑需要自己完全建立一个新的functiongroup(这个functiongroup和那些以X

4、开头的增强函数组例如XM06是不一样的),将这些接口的参数对应的在函数组里面定义成一些全局变量,然后进行处理。首先要选择filters为我们之前定义的屏幕组ZV:然后分别实现这个BADI的几个方法。其中SET_DATA方法用于传输数据从标准程序到我们的增强屏幕。代码如下:DATA:i_jck TYPE zmm_lfa1.i_jck-zzbxtk = i_lfa1-zzbxtk.i_jck-zzsptk = i_lfa1-zzsptk.i_jck-zzvdcd = i_lfa1-zzvdcd.IF flt_val = ‘ZV’.CALL

5、 FUNCTION ‘ZMM_FM_004′EXPORTINGi_activity = i_activityi_lfa1_jck = i_jck.ENDIF.对于FUNCTIONZMM_FM_004,代码如下:FUNCTION zmm_fm_004.*”———————————————————————-*”*”Local interface:*”  IMPORTING*”     VALUE(I_ACTIVITY) TYPE  AKTYP*”     VALUE(I_LFA1_JCK) TYPE  ZMM_LFA1*”—————————

6、——————————————-CLEAR:g_activity,lfa1.g_activity = i_activity.   “A–>DISPLAY;h–>CREATE;V–>CHANGElfa1-zzbxtk = i_lfa1_jck-zzbxtk.  “新件保修条款lfa1-zzsptk = i_lfa1_jck-zzsptk.  “修后索赔条款lfa1-zzvdcd = i_lfa1_jck-zzvdcd.  “Vendor CodeENDFUNCTION.这里的g_activity,lfa1都被定义成全局变量,用于在整个过程

7、中储存从标准程序传过来的值,其中g_activity的不同值分别对应了事务代码X(M)K01/X(M)K02/X(M)K03.这些值传过去之后,就需要实现接口方法GET_TAXI_SCREEN来决定出当前的Tab页:IF flt_val = ‘ZV’.CASE i_taxi_fcode.WHEN ‘ZV_JCK’.e_screen = ‘9000′.e_program = ‘SAPLZMM_FG_003′.e_headerscreen_layout = space.ENDCASE.ENDIF可以看到这里的screen和程序名并不是传统

8、增强方式的格式,是我们自己完全重新建立的。最后这些数据如果被修改了,需要实现接口方法GET_DATA传回数据给给SAP标准程序。DATA: s_jck TYPE zmm_lfa1.IF flt_val = ‘ZV’.CA

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。