SAP MM物料主数据-分类视图的检查增强

SAP MM物料主数据-分类视图的检查增强

问题点:

用户在使用MM01扩建物料主数据工厂层级视图时,会忘记扩建分类视图,或者扩建了分类视图,但是内容没维护或维护错了,

在这里插入图片描述

采购订单入库的时候,批次主数据无法自动创建分类视图数据
在这里插入图片描述

由于缺少批次分类视图里的‘最近收货日期’,最终在创建交货单的时候,无法根据先进先出的批次确定策略,自动确认出批次。
在这里插入图片描述

解决方法

一、 物料主数据加入增强检查

检查逻辑:
1、 判断事物代码是MM01(暂不考虑MM01(BAPI))
2、 判断物料是否已经扩建了分类视图,即MARA-PSTAT 是否包含‘C’,如果不包含,则进一步检查
3、 判断本次扩建的视图里是否包含分类视图,如果不包含分类视图,则报错:
分类视图必须维护!【类别种类填写:022,分配-类别填写:ZC_00】

增强BADI: BADI_MATERIAL_OD

实现效果:
1、MDM管理的已经存在基本视图的物料,使用MM01扩建时,如果没有选择分类视图则报错:
在这里插入图片描述

检查触发点:IF_EX_BADI_MATERIAL_OD~READ_OTHER_MATERIAL_DATA
在这里插入图片描述

2、SAP管理的物料,物料类型Z005,Z006, MM01创建物料主数据时,如果没有选择分类视图,则报错:
在这里插入图片描述

检查触发点:IF_EX_BADI_MATERIAL_OD~GET_OTHER_MATERIAL_DATA_BILD
在这里插入图片描述

不足点:

此增强只能检查用户必须扩建分类视图,但是用户在分类视图里是否维护了批次类别,系统无法判断,
在这里插入图片描述

为了解决此问题,查看了MM01里所有的BADI,都没有找到类别种类和类别这两个字段的入参,无法做增强检查。(如果类别字段输入了值,可以用CACL_CHARACTER_INPUT检查类别字段维护的是否正确)
类别种类:INOB-CUOBJ
类别:KLAH-CLASS (INOB+KSSK+KLAH)

补充检查:

二、MIGO入库的时候,检查物料主数据是否正确的维护了分类视图

1、 检查物料是否创建了分类视图,即维护状态MARA-PSTAT是否包含‘C’,如果不包含‘C’,则报错:
在这里插入图片描述
在这里插入图片描述

2、检查物料的分类视图是否维护了022的批次类别
根据物料号、类别种类INOB-KLART = ‘022’、对于分类的对象的数据库表名称INOB-OBTAB = ‘MARA’,取配置(内部对象号)INOB-CUOBJ,如果INOB-CUOBJ为空,则报错:
在这里插入图片描述
在这里插入图片描述

3.检查类别是否正确的填写为:ZC_00 中茶批次分类
根据
KSSK-OBJEK = INOB-CUOBJ要分类的对象码、
KSSK-MAFID = ‘O’ 标识: 对象/类、
KSSK-KLART = ‘023’ 类别种类,
KSSK-CLINT = KLAH-CLINT内部分类号,
取类别种类KLAH-CLASS, 如果类别种类KLAH-CLASS <> ‘ZC_00’,则报错:
在这里插入图片描述
在这里插入图片描述

增强BADI: MB_CHECK_LINE_BADI

实现代码:

在这里插入图片描述

其他资料:MM01创建物料过程中 涉及的BADI清单
进入事务代码:
BADI_SCREEN_LOGIC_RT
W_RETAILSYSTEM_IDENT
BADI_MATN1
点击选择视图:
BADI_MATERIAL_OD
选择完视图,进入维护界面:
BADI_MATERIAL_OD
BADI_MATERIAL_REF
BADI_LAYER
ECM_EXIT
维护下一视图时:
BADI_GTIN_VARIANT
CACL_CHARACTER_INPUT
/DSCSAG/CLASS
保存数据时:
BADI_MATERIAL_REF
BADI_MATERIAL_CHECK
EHSS_SPEC_CHECKS
BADI_SCREEN_LOGIC_RT
W_RETAILSYSTEM_IDENT
BADI_MATN1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值