业务背景介绍
在UF公司,启用了默认库存仓位(MARD-LGPBE)和批次文本。为方便仓库人员进行库位管控,MB52需增加辅助字段(批次仓位、默认仓位);开发人员需要对MB52标准程序进行增强处理。
实现关键点
1.在标准程序中加入辅助字段数据定义;
2.在标准程序中加入辅助字段获取逻辑代码;
3.在标准程序中加入辅助字段的ALV结构输出代码;
实操方式——MB52新增“默认仓位”/“批次仓位”
1.在MB52报表程序中,加入 批次仓位、默认仓位的 DATA定义的增强;
批次仓位 数据类型为 AUSP-ATWRT;
默认仓位 数据类型为 MARD-LGPBE;
在数据结构:collector中加入MARD-LGPBE,bestand中加入AUSP-ATWRT,MARD-LGPBE;
ty_collector_joined中加入MARD-LGPBE.
如下图所示:
cllerector数据结构增强情况 collector属于屏幕界面SQL语句获取的内表 bestand数据结构增强情况 bestand属于collector赋值后进一步处理的展示的ALV全局表
ty_collector_joined数据结构增强情况 ty_collector_joined也属于屏幕界面SQL语句获取的内表
2.在MB52报表程序中,加入 批次仓位、默认仓位的 ALV结构输出代码。
在from:f0300_fieldcat_flat中加入相应字段的ALV结构输出代码;如下图所示:
定义新增字段的ALV输出 3.在MB52标准程序中,加入批次仓位、默认仓位的字段获取逻辑;
在from:list_output中加入查询批次仓位数据,并更新bestand全局表;
批次文本数据获取方式
因标准程序已采用MARD表进行查询数据,只是未读取MARD-LGPBE字段;
在标准程序子例程:DATA_SELECTION、DATA_SELECTION_JOIN、DATA_SELECTION_NEW
中读取MARD时,加入MARD-LGPBE字段来查询默认库存仓位数据,读取到collector表、ty_collector_joined表;
延伸思考
1.MB52采用增强的方式新增字段,那MB51是否也需要采用增强的方式新增字段?
答:对于MB51物料凭证查询报表,SAP标准提供后台配置路径,新增报表显示字段和新增搜索字段;SPRO-物料管理-库存管理和实际库存-报表-定义物料凭证列表的字段选择;备注配置中只能处理MKPF和MSEG的表,若为其他表中的字段也需增强处理; 不太建议修改标准程序,尽量拷贝程序再做修改;
网友评论