如何在物料主数据上增强自定义字段

举报
雨绸缪 发表于 2023/06/30 11:15:39 2023/06/30
【摘要】 有时候我们需要自定义或者扩展物料主数据的各种视图,然后在事务码 MM01/02/03 中可以显示和编辑,比如可以向一般工厂/存储 1 中添加新字段 Process Code( ZZ_PROCCODE )。 扩展主数据后台表转到事务码 SE11 并显示工厂特定字段( MARC )表扩展现有的或创建新的自定义 MARC 附加表-它将是一个正常的结构(将在 SE11 中可编辑),将附加在表的末尾将...

有时候我们需要自定义或者扩展物料主数据的各种视图,然后在事务码 MM01/02/03 中可以显示和编辑,比如可以向一般工厂/存储 1 中添加新字段 Process Code( ZZ_PROCCODE )。

扩展主数据后台表

  1. 转到事务码 SE11 并显示工厂特定字段( MARC )表
  2. 扩展现有的或创建新的自定义 MARC 附加表-它将是一个正常的结构(将在 SE11 中可编辑),将附加在表的末尾

image.png

  1. 将您的字段添加到附加结构中,在我们的示例中,我们将添加用于存储在域 ZZ_DOM_PROCCODE 上构建的 ZZ_DTEL_PROCCODE 类型的 ZZ_PROCCODE 的过程代码的字段。

image.png

image.png

  1. 激活附加结构 – 这将触发 MARC 表(以及所有相关的表/结构)的调整 – 这可能相当耗时,所以在生产环境中做这种改变时要小心。

image.png

创建/扩展自己的子屏幕

  1. 创建新的功能组(如果您已经为此目的创建了 FUGR,则可以跳过此步骤),您可以在其中定义将包含自定义字段的新子屏幕。

不要手动创建 FUGR,而是在 SPRO IMG -> 后勤常规 -> 物料主数据 -> 配置物料主数据 -> 为自定义子屏幕创建程序中对 MM 视图进行自定义

image.png

  1. 在 SE80 中显示 FUGR MGD1,并选择你想用自己的字段来加强的屏幕(MM View 子屏幕)–在我们的例子中,它将是屏幕 2701(存储数据:一般数据)。

  2. 从 MGD1 复制选定的屏幕到你的 FUGR(保持其当前编号)。

image.png

  1. 使用 Screen Painter 编辑你的 FUGR 中的新屏幕(在我们的例子中是屏幕 2701),并将该组重命名为一些自定义文本,描述你要放在里面的字段组。然后删除屏幕上的所有字段,只放上你的自定义字段。

原来的布局将被改变成这样

image.png

如下:

image.png

  1. 保存并激活您的新屏幕

  2. 在 SE80 中打开屏幕(在我们的示例中为 2701)并转到“流程逻辑”选项卡

  3. 在显示的代码中,删除(或注释掉)使用屏幕中不再存在的字段进行操作的所有行,并将它们替换为将使用您自己的自定义字段进行操作的命令。小心 – 不要删除(注释掉)模块调用 MODULE GET_DATEN_SUB 和 MODULE SET_DATEN_SUB – 它们负责从数据库读取数据,并在 MM 视图中更改数据后将其放回。

image.png

  1. 激活自定义 FUGR 中的所有更改(添加的屏幕、其布局和流程逻辑)

将新的子屏幕添加到标准 MM 视图

  1. 转到 SPRO IMG 中的 MM 视图自定义 -> 后勤常规 -> 物料主数据 -> 配置物料主数据 -> 为每个屏幕序列定义数据屏幕结构(Tcode OMT3)

  2. 现在,您可以创建自己的屏幕序列(通过复制一些现有的屏幕序列)或仅修改已准备好的屏幕序列之一 - 我们将更新现有的屏幕序列(21 - 标准行业:选项卡页面)

image.png

  1. 选择该行并双击数据屏幕

image.png

  1. 现在选择屏幕描述一般工厂数据/存储1的一行,然后双击子屏幕。

image.png

  1. 在这里,你可以通过按下 "查看数据屏幕 "按钮预览整个屏幕及其所有子屏幕。

  2. 你可以看到你的自定义子屏幕是不可见的…。然而

  3. 返回并选择 PROGRAM = SAPLMGD1SCREEN=0001 的第一行(屏幕 0001 是虚拟/空屏幕),单击“添加新条目”按钮,并将程序名称替换为 SAPLZSALES_MASTER(FUGR 的主程序),然后将您的自己的屏幕号(2701)

  4. 按“保存”按钮(系统会要求您提供请求号)

要测试您的新屏幕,请转至 MM01 或 MM02

image.png

检查“一般工厂数据/存储 1”选项卡,新子屏幕 (2161) 中的新字段 (ZZ_PROCCODE) 是否可见。更改其值,输入所有其他必填字段并保存更改。

image.png

SE16 中检查数据是否已正确保存在 MARC 表中:

image.png

PAI 中新字段数据的修改

如果您需要在 MM01/MM02/MM03 中的 PAI 期间处理或修改新字段的数据(或标准字段的数据),则必须实施客户退出 EXIT_SAPLMGMU_001

每次触发 PAI 时都会调用此用户出口。

如果您只需要在 SAVE 操作期间进行一些错误检查,那么您可以用类似的内容在你的代码中:

IF sy-ucomm = 'BU'. "this code executed only during SAVE
* your code
ENDIF.
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。