SAP实现物料分类与订单类型匹配检查

业务需求背景:

某集团性制造企业,拥有超过20个生产基地,物料种类繁多。该集团在SAP系统(ECC版本)创建了180万+物料,物料组7400+个,物料类型25个。参考物料的物料类型分类,采购申请凭证类型定义了18种,采购订单凭证类型定义了25种。现在,客户希望实现在创建采购凭证时,实现物料分类与凭证类型的匹配,方便采购凭证的细化管理。

例1:物料类型

XZ1 行政用品-存货

XZ2 行政用品-费用

SH 服务-售后

SK 售后-客供料

BF 报废物料

CJ 筹建物料

EI 工程-费用

EQ 资产设备

FL 辅料

MC 客供料

MD 原材料

MG 成品

MPN 制造商零件

MS 半成品

........

例2:采购申请凭证类型

XZ 行政

SH 售后

CJ 筹建

EI 工程

EQ 设备

FL 辅料

MC 客供料

MD 原材料

MG 成品

MS 半成品

........

功能需求分析:

在SAP标准功能中,在物料类型层级,没有直接可以实现与凭证类型关联的配置。如果要实现该需求,需要进行功能定制。实现路径梳理如下:

功能实现方案:

1、限制范围确认

集团性企业,可以按照公司代码维度进行自主配置;

2、物料与凭证类型关系建立

通过物料类型与凭证类型建立关系;

3、校验节点确认

PR凭证创建时,系统进行物料分类与订单类型匹配校验;

4、输出结果

如果校验到行项目输入的物料对应的物料类型与关系表匹配的订单类型不一致,则输出报错消息; 如果校验到行项目输入的物料对应的物料类型与关系表匹配的订单类型一致,则正常创建PR;

5、实现方案
1)创建物料类型与订单类型配置表(例如:ZTMM001)

基础表字段:公司代码、采购凭证类型、物料类型

|------------|-------|--------|-------|
| 字段名称 | 公司代码 | 采购凭证类型 | 物料类型 |
| 技术字段名称 | BUKRS | BSART | MTART |

2)创建消息号(例如:ZPR001)

|---------|----------|---------------------------------|
| 消息类 | 消息编号 | 消息短文本 |
| ZPR | 001 | 项目00* 输入物料对应的物料类型与订单类型不匹配,请检查! |

3)程序逻辑

* 从物料主表MARA中找到该物料的物料类型MTART

CLEAR lv_i_mtart.

SELECT SINGLE matart

INTO lv_i_mtart

FROM mara

WHERE matnr = lw_item-matnr.

*从行项目的工厂代码获取公司代码

CLEAR l_bwkey.

SELECT SINGLE bwkey

INTO l_bwkey

FROM t001m

WHERE werks = lw_item-werks.

IF sy_subrc = 0.

CLEAR l_bukrs.

SELECT SINGLE bukrs

INTO l_bukrs

FROM t001k

WHERE bwkey = l_bwkey.

ENDIF.

* 以公司代码+该物料的物料类型+该订单的订单类型,到ZTMM001中检索是否存在记录

* 存在则说明匹配;不存在,则要报错:项目00* 输入物料对应的物料类型与订单类型不匹配,请检查!

CLEAR ls_ztmm.

SELECT SINGLE mtart

INTO ls_ztmm

FROM ztmm001

WHERE bukrs = l_bukrs.

AND bsart = ls_hearder-bsart

AND mtart = lv_i_mtart.

* 如果不存在记录,则报错

IF NOT sy-subrc EQ 0.

MESSAGE e001(zpr).

ENDIF.

相关推荐
Yyyy4823 小时前
Ubuntu安装Jenkis
linux·运维·ubuntu
克莱斯勒ya3 小时前
服务器硬件配置
运维·服务器
GTgiantech3 小时前
精准成本控制与单向通信优化:1X9、SFP单收/单发光模块专业解析
运维·网络
tzhou644523 小时前
Docker容器技术指南
运维·docker·容器
zhuzewennamoamtf3 小时前
Linux SPI设备驱动
android·linux·运维
春日见3 小时前
在虚拟机上面无法正启动机械臂的控制launch文件
linux·运维·服务器·人工智能·驱动开发·ubuntu
松涛和鸣4 小时前
Linux Makefile : From Basic Syntax to Multi-File Project Compilation
linux·运维·服务器·前端·windows·哈希算法
LF3_5 小时前
配置ssh免密登录
运维·ssh
科士威传动5 小时前
方形滚珠导轨如何保障高速定位精度?
人工智能·科技·机器人·自动化·制造
再睡一夏就好5 小时前
深入Linux线程:从轻量级进程到双TCB架构
linux·运维·服务器·c++·学习·架构·线程