《SAP简使》自定义字段可以用MASS/MM17批量修改①

数智化转型咨询 2024-07-12 12:31:06

一、 在IDOC段中增加自定义段

当开发在MARA中已经增加了字段(以下举例均以MARA表增强字段为例。)那么需在在IDoc中增加段,以及在自定义段中增加自定义字段。

MASS/MM17的更新逻辑是,通过IDoc增强,将需要修改的数据及IDoc段等信息插入一条到参照结构的内表中,然后通过用户出口中根据结构字段SDATA将数据与字段名做对应关系并赋值。该示例中,我们对MARA表中的“材质”(MARA-ZCL)进行修改。

首先,为IDoc的MATMAS03段类型进行扩充增强。

事务码WE31:创建一个新的段类型。点击“创建”,然后在新建界面中,增加可MASS/MM17批量修改的字段。如材质字段(MARA-ZCL)。点击保存,创建自定义段完成。返回界面如下,暂时无需处理。

二、 为IDoc MATMAS03创建新的扩展类型

事务码:WE30,输入扩展段的名称,选择扩展,然后点击新建。

在新建界面中,链接基本的类型MATMAS03,然后输入描述等。

在Z1MARAM这个扩展段中的E1MARAM段下,点新建,增加第一步创建的IDOC段。

这样就将新增字段分配给自定义段,自定义段分配给标准的IDOC扩展了。保存。

三、 释放IDOC段及扩展

事务码:WE31,输入自定义段的名称,在进入界面后,选择菜单中的“编辑-设置批准。”

批准后,版本后打钩表示释放完成。

然后再使用事务码:WE30 进入扩展段,进行释放。顺序不能颠倒。

释放完成后,该扩展即生效。

设置后无法更改,只有取消发布后才能进行更改。

每个发布创建之后,开发工作都会产生新的IDoc版本。所有旧版本仍然存储于系统中,从而保留了将现有版本回溯为旧版本的可能,确保向后兼容,所以同样为了向后兼容,新的IDoc版本相对旧版本只能增加数据段和数据字段,而不能减少。

注:一个标准的IDoc类型只能创建一个扩展类型,但是一个扩展类型里可以创建多个扩展类型段。

四、 将扩展段分配给消息类型

事务码:WE82,将创建的扩展段,分配给IDOC的消息类和基本类型。

五、BADI—IDOC段值的获取和写入

此步骤的目的是为了将数据填充到新创建的段中,必须实现BADI: MG_MASS_NEWSEG中的ADD_NEW_SEGMENT方法。

事务码:SE19。新增增强 ZIMP_MG_MASS_NEWSEG。

在类IF_EX_MG_MASS_NEWSEG~ADD_NEW_SEGMENT中增加函数。

剩余部分,请看②。

0 阅读:4