SAP屏幕增强示例之物料.docx
SAP 屏幕增强示例之物料-MM01/MM02 /MM03步骤增强字段存储的位置( 数据库表 )屏幕增强程序配置增强程序处理数据屏幕分配操作增强字段存储的位置( 数据库表 )SE11创建数据库表< ZMBEW>屏幕增强程序配置SPRO->后勤 -常规 ->物料主数据 ->配置物料主记录->创建定制屏幕的程序双击函数组 ”ZCS1”(后面会生成屏幕程序:SAPL+ZCS1)SE80显示这个函数组MODULE DISABLE_FIELD:通过判断如果是MM03 ,则自定义字段为只读,代码如下:MODULE GET_DATA:读取 ADD-ON表中相应物料的数据,在自定义屏幕中显示出来。MODULE ASSIGN_DATA:将自定义屏幕中各字段的值传入存ID中.PBO: 处理初始PAI: 处理后续程序代码*-*INCLUDE LZCS1O01 .*-*&-*&Module DISABLE_FIELD OUTPUT*&-*text*-*MODULE DISABLE_FIELDOUTPUT.IFSY-TCODE =MM03.LOOP ATSCREEN.SCREEN- INPUT =0.MODIFYSCREEN.ENDLOOP.ENDIF .ENDMODULE." DISABLE_FIELD OUTPUT*&-*&Module GET_DATA OUTPUT*&-*text*-*MODULE GET_DATAOUTPUT.TABLES :ZMBEW.DATA:P_MATNRTYPE MATNR.IFSY-TCODE =MM02OR SY-TCODE =MM03.GET PARAMETER IDMATFIELDP_MATNR.SELECTSINGLE *FROM ZMBEWWHEREMATNR = P_MATNR.ENDIF .ENDMODULE." GET_DATA OUTPUT*&-*&Module ASSIGN_DATA INPUT*&-*text*-*MODULE ASSIGN_DATAINPUT .EXPORT ZMBEWTO MEMORY IDZMBEW .ENDMODULE." ASSIGN_DATA INPUT保存并激活此程序屏幕“ 0001 ”“ZMBEW”为屏幕的数据来源,这里屏幕要用结构的形式即前面的程序TABLES :ZMBEW.这里的屏幕编号, 将成为后续配置的了屏幕号PAI 数据保存程序处理这里利用增强的来保存数据CMOD ,使用出口 MGA00001配置了屏幕分配SPRO->后勤 -常规 ->物料主数据 ->配置物料主记录->定义每个屏幕序列的数据屏幕的结构这里定义了一个屏幕组:ZM,选中,点击数据屏幕进入上图选择在哪个视图中增强,选中会计双击子屏幕在程序中填入上面我们的SAPL+函数即 :SAPLZCS1,屏幕号为 ”0001”最终结果显示为(MM03):