业务场景:
DH工厂拆分项目需要扩展供应商,但是业务人员不小心操作进行了创建处理,导致一个实体供应商存在多个系统编号,且依据供应商创建了多条采购信息记录;现财务要求供应商主数据要删除干净,不允许存在重复数据。
因当前处于期初导入环节前,系统还未进行采购订单下单处理,只存在供应商主数据(LFA1/LFB1/LFM1),采购信息记录(EINA/EINE/A017/A018/KONH/KONP).可进行删除数据。
此处只讲解如何进行删除清空数据, 并不详细讲解后续如何进行批量扩展供应商,采购信息记录来补充数据。
解决方案:
- 获取重复的供应商编号清单,确定供应商主数据在数据库存储情况,并依次导出表清单作为备份处理。
表清单包括(LFA1/LFB1/LFM1,EINA/EINE/A017/A018/KONH/KONP ) - 分析数据存储情况,依据场景进行如下删除操作;
业务场景1:只创建了供应商基础数据(LFA1),并且只创建了供应商公司数据(LFB1).
解决方案1:OBR2 进行删除供应商数据,即可清空LFA1 LFB1供应商数据
业务场景2:重复供应商主数据不仅存在基础数据信息、公司层面信息,也已存在采购信息记录以及采购组织层面供应商数据信息;
解决方案2:先删除采购信息记录-》再删除供应商采购组织层面-》最后删除供应商公司层面和基础数据层面
解决方案2详细步骤:
步骤一:删除采购信息记录
采购信息记录打上删除标识
事务代码: MASS,对象类型:BUS3003
选中EINA以及EINE两张表,选择修改字段:EINA-LOEKZ删除标识,EINE-LOEKZ删除标识。
输入需要删除的采购信息记录编号,将上述两个删除标识都打上X;-
将删除标识采购信息记录做归档处理
事务代码: SARA ,对象类型:MM_EINA
a. 点击“写入”,创建变式,将需要删除的采购信息记录写入到固定变式中;
写入对应的程序为:RM06IW70,创建变式后,SA38进入该程序进行变式测试运行,检查数据是否正常执行;确认无误后,将变式设置成允许正式执行,例如下所示;
b. 设置 “执行变式”,按照如下所示设定 “测试运行变式”以及“正式运行变式”;
c. 上述变式设置完毕后,依次进行“写入”执行以及"删除"执行;
步骤二:删除供应商采购层面信息
- 供应商采购层面打上删除标识
事务代码:XK06 - 将删除标识的供应商采购层面做归档处理
事务代码: SARA ,对象类型:FI_ACCPAYB
a. 点击“写入”,创建变式,选择“MM数据”,输入采购组织和供应商,具体设置如下;
写入对应的程序为:FI_ACCPAYB_WRI,创建变式后,SA38进入该程序进行变式测试运行,检查数据是否正常执行;确认无误后,将变式设置成允许正式执行,例如下所示;
b. 设置 “执行变式”,按照上述“采购信息记录归档”一样的操作,设定 “测试运行变式”以及“正式运行变式”;
c. 上述变式设置完毕后,依次进行“写入”执行以及"删除"执行;操作跟“采购信息记录归档”一致;操作后检查LFM1数据清空即可;
步骤三:删除供应商基础数据和公司层面数据,使用OBR2即可删除;
知识储备:
- OBR2删除客户/供应商 要求无任何前端业务数据,并且只能删除基础数据以及公司层面数据;若客户/供应商存在销售层面或者采购层面数据,则基础数据也无法删除;
- OBR2 系统删除采购层面数据时提示BL001 "提示如果需要,请重新设定号码范围"。该报错实际只是提醒,真实原因可能是底层业务数据还存在导致无法有效删除。
- FI_ACCPAYB_DEL属于归档程序,FI_ACCPAYB_WRI属于写入供应商待删除清单;
- 相关NOTE:
2195255 - Unable to delete Purchasing Organization Data for Vendor Master
2200649 - Message BL001 occur when delete master data in T-code: OBR2
13583 - General G/L account master data cannot be deleted