原文地址:SAP采购订单抬头、行项目屏幕增强的两种方法
作者:sap侠之大者
朋友接手一个功能修改,是对SAP系统中采购订单抬头进行屏幕增强,在抬头上增加了几个customer fields,但是实现方法有点怪,是一个Z report程序,其下创建了一个屏幕,屏幕中放的就是这几个customer fields,不知道在哪里配置了一下,却能在ME21n/ME22n/ME23n屏幕中以tab 页签的形式显示这个屏幕;我看着比较眼熟,却怎么想不起来了,查下以前的文档,才记起;唉,果然是老了。
俗话说得好:好记性不如烂笔头。在这里记录一下吧。
我知道的采购订单抬头、行项目屏幕增强方法有两种,一种是使用出口:MM06E005,较为常用,大家都知道,另外一种使用BAdI:ME_GUI_PO_CUST,这就是开头说的那种。
一、使用
出口:MM06E005将自定义字段添加到采购订单抬头或行项目
效果:在采购订单抬头或行项目众tab 页签后增加一个新的页签,上面可以放要增加的自定义字段,随采购订单的创建、修改、显示进行自定义字段的增、改、查。
过程:1、
使用CI开头的预留结构在PO抬头表EKKO或PO行项目表EKPO中增加自定义字段;2、
CMOD创建一个project包含
MM06E005,然后将
MM06E005中包含的相应屏幕进行双击创建,抬头是0111,行项目是0101,创建时需要注意属性中选定子屏幕;3、在此子屏幕上加入要增强的自定义字段,编写屏幕逻辑流;4、在
MM06E005的exit function的Z include中分别加入传入传出的代码;5、激活
以上这种方式在网上流传很广,详细做法可以Google一下
MM06E005,有很多。
二、使用
BAdI:ME_GUI_PO_CUST
效果和前一种相同。
过程:
1、
使用CI开头的预留结构在PO抬头表EKKO或PO行项目表EKPO中增加自定义字段,创建BAdI中要使用的结构;2、创建一个report程序,或者function group,创建屏幕并将自定义字段加入;3、编写屏幕逻辑流处理字段输入输出;4、SE19创建BAdI实现,重写类方法,在其中指明第2步中创建的主程序及屏幕编号(还有其他代码见BAdI实现示例);5、激活。
我们可以通过se18查看
ME_GUI_PO_CUST,然后查看它的示例实现代码和对应每个方法的文档描述,解释的很详尽,SAP的文档很不错,要么完全没有,有则很全。示例也是,可以直接copy示例代码,改改就行。
这种方法是先创建一个含有屏幕的程序,然后通过实现BAdI将其载入要增强的屏幕,也有类似的通过配置将其载入,例如物料主数据MM01/02/03的屏幕增强、供应商主数据XK01/02/03的屏幕增强、会计凭证过账F-02的屏幕增强等。
春节+休假过完了,又要回去上班了,真不想去啊
。