SAP_MM&ABAP模块_MM60物料清单通过增强新增物料描述

业务背景:

用户需要在系统标准的物料主数据查询报表MM60中,添加物料组描述,一直以来,我都觉得标准的MM60显示的内容字段不够多,不太好用。

以往都是给用户新开发一个物料主数据查询报表来解决的,但是这次刚好用户有这样的需求,说是想直接在MM60中添加,那就去研究并且记录一下吧。

一、物料清单输出结构添加需要新增的字段

1、找到物料清单对应的表结构

SE38,打开MM60对应的程序:RMMVRZ00,找到物料清单对应的表结构:plm_alv_230

2、物料清单表结构添加字段

这里添加的是物料组描述:WGBEZ

二、编写获取物料组描述的查询。

1、找到代码编写地方;

在 alv_list_output 表单的开头创建增强点(第 8 行)

2、编写获取物料组描述的代码

按照正常ALV报表的写法,报错提示,如下图:The elements in the "SELECT LIST" list must be separated using commas.

据说是因为有LEFT JOIN,

修改后,代码如下;

优化后的2.0版本:不需要关联MARA表,只需要根据原表中的MATKL物料组字段查找描述即可

复制代码
 TYPES:
   BEGIN OF ty_out,
     matkl TYPE mara-matkl,
     wgbez TYPE t023t-wgbez,
   END OF ty_out.

DATA lt_out TYPE STANDARD TABLE OF ty_out.

FIELD-SYMBOLS <s_out> TYPE ty_out.
IF gt_list IS NOT INITIAL.

   SELECT
     matkl,
     wgbez
     INTO CORRESPONDING FIELDS OF TABLE @lt_out
         FROM t023t
            FOR ALL ENTRIES IN @gt_list
               WHERE matkl = @gt_list-matkl
                 AND spras = @sy-langu.
ENDIF.

SORT lt_out by matkl.

FIELD-SYMBOLS <s_list> LIKE LINE OF gt_list.
LOOP AT gt_list ASSIGNING <s_list>.
   READ TABLE lt_out ASSIGNING <s_out> WITH KEY matkl = <s_list>-matkl BINARY SEARCH.
   IF sy-subrc = 0.
     <s_list>-wgbez = <s_out>-wgbez.
   ENDIF.
ENDLOOP.

三、激活所有程序,测试

1、确保所有主程序和子程序都已经激活

2、MM60测试

以上,如果对你有帮助的话,辛苦大家点赞关注转发,你的支持是我继续分享的动力~~

相关推荐
IT成长日记15 分钟前
【Docker基础】Docker数据持久化与卷(Volume)介绍
运维·docker·容器·数据持久化·volume·
一只栖枝2 小时前
网络安全 vs 信息安全的本质解析:数据盾牌与网络防线的辩证关系关系
网络·网络安全·信息安全·it·信息安全认证
物联网老王2 小时前
Ubuntu Linux Cursor 安装与使用一
linux·运维·ubuntu
CertiK3 小时前
CertiK《Hack3d:2025年第二季度及上半年Web3.0安全报告》(附报告全文链接)
网络
麻雀无能为力3 小时前
CAU数据挖掘实验 表分析数据插件
人工智能·数据挖掘·中国农业大学
时序之心3 小时前
时空数据挖掘五大革新方向详解篇!
人工智能·数据挖掘·论文·时间序列
.30-06Springfield3 小时前
人工智能概念之七:集成学习思想(Bagging、Boosting、Stacking)
人工智能·算法·机器学习·集成学习
艾伦_耶格宇4 小时前
【ACP】阿里云云计算高级运维工程师--ACP
运维·阿里云·云计算
一只小鱼儿吖4 小时前
进程代理单窗口单IP技术:原理、应用与实现
网络·网络协议·tcp/ip
稳联技术4 小时前
Ethernet IP与Profinet共舞:网关驱动绿色工业的智慧脉动
网络·网络协议·tcp/ip