
AG800 消息号的触发场景:
· 当销售订单保存时,系统检查物料主数据(Material Master)的 ATPMATX 表配置。
· 若该表中定义的字段检查规则(如必填项、格式限制、依赖条件)与当前业务需求不匹配,系统将抛出此错误。
常见原因:
· 必填字段未设置:ATPMATX中定义了某些必填字段,但销售订单未填写。
· 字段格式冲突:例如日期格式、数值范围不符合要求。
· 依赖条件缺失:如根据销售组织/分销渠道的配置未正确关联到ATPMATX条目。
1. 在销售订单(VA01)中查看错误提示的具体行(如物料编号、行项目)。
2. 使用事务代码 MM03 查看相关物料的主数据。
3. 转到 “控制” 选项卡 → “销售” 子标签页 → 下拉展开 ATPMATX 表格。
- 字段 `MANDT`(必填):确保已填写客户端。- 字段 `MATNR`(必填):关联正确的物料编号。
- 字段 `SPART`(可选):指定销售部分(如标准/特殊)。
- 字段 `CHECKFIELD`:定义需要检查的字段(如 `BSEG` 行项目字段)。
- 字段 `CHECKTABLE`:定义检查的表(如 `VBAP` 销售订单行项目表)。
· 示例错误场景:
o 若ATPMATX中强制要求填写 Z自定义字段,但销售订单未维护该字段,则会触发AG800。
· 方法1:修改现有条目
1. 使用事务代码 MM03 进入物料主数据 → “控制” → “销售” → ATPMATX。
2. 选择需要修改的条目,删除或修正错误的 CHECKFIELD/CHECKTABLE 配置。
3. 保存并激活配置。
·
方法2:新增补偿条目
如果错误是因缺少必要配置导致,可新增一条允许条件:
事务代码:MM03 → ATPMATX → 新增条目- 设置 `CHECKFIELD` 为 `空值`(允许跳过检查)或指定非必填字段。
- 设置 `SPART` 为特定销售部分(如仅针对特殊订单类型)。
1. 创建新的测试销售订单(VA01),尝试保存包含问题物料的行项目。
2. 验证是否仍触发AG800消息号。
3. 若问题解决,检查其他相关配置(如合作伙伴功能、定价条件)是否存在冲突。
· 问题:ATPMATX表中配置了全局检查规则,但某些销售组织需要例外。
· 解决方案:
1. 使用事务代码 OY18 扩展销售组织级别的配置。
2. 在 “合作伙伴功能” 或 “定价” 层级覆盖默认的ATPMATX检查规则。
· 问题:通过客户出口(如 USEREXIT_*)或BADIs修改了字段检查逻辑。
· 解决方案:
1. 使用事务代码 SE24 检查是否存在自定义增强点。
2. 暂时禁用可疑的增强程序进行测试。
3. 联系开发团队修复冲突逻辑。