跳转至

type: adr module: TPM-MM status: accepted date: 2026-06-19 author: Kabin tags: [#s4, #adr, #tpm, #mm, #interface, #uom]


ADR-002:TPM → S4 基本单位规则

状态

draft — 待会议确认后改为 accepted

背景

TPM(纷享销客)促销活动中的物料采购需求通过采购接口(入站)推送到 S/4HANA 创建 PR/PO 时,TPM 侧使用的业务单位(箱/个/包/套/吨)与 SAP 物料主数据的基本单位(Base UOM,如 EA/CT/KG/TO)不一致,导致:

  • PR 数量写错,收货数量对不上账
  • 单位换算无标准,各环节理解不一致
  • 跨系统传递无校验,错误静默传递

约束

  • A2 金额单位 RMB'000 是该文件本身的定义规则,与物料单位无关,PR 金额仍以 CNY 为准
  • 物料单位归属 MM/SD 主数据范畴,由 SAP 物料主数据统一管控
  • TPM 侧业务人员必须能看懂单位(如"箱"),不接受纯 SAP 系统代码(如"EA")

场景分析

场景 A:费用类(非物料)

促销活动费用本身(TPCP 费用/Accrual/结算)→ 走 FI 接口,不涉及 MM,不存在单位问题

场景 B:库存类采购(促销赠品 / POSM / 买赠物料) 🔴

TPM 传入物料代码 + 数量 + 单位 → SAP 创建 PR。

问题链:

# 问题 影响
TPM 选的单位,SAP 物料主数据里有没有? PR 数量概念不一致
有单位但换算系数对不对? 系数错了库存乱套
TPM 物料选择范围是否受限? TPM 选了 SAP 不存在的 UOM → 静默失败

场景 C:跨系统传递治理

TPM(业务语言)         PI 中间件           S/4HANA(系统语言)
  箱 / 个 / 套 ──────→     透传     ──────→ EA / CT / KG

决策

选择:方案 A — SAP 侧单位硬转

TPM 传入的单位在 SAP BAPI 增强中做校验和转换,以物料主数据为权威。

详细规则

规则 描述
① UOM 校验 TPM 传入的 UOM 必须在 SAP 物料主数据的 UOM 组内,不在则拒绝并回传错误码
② 转换权威 换算系数以 SAP 物料主数据(Base UOM → Alternative UOM 转换系数)为准,PI 和 TPM 不做二次换算
③ 显示 vs 存储 SAP 按 Base UOM 存数量;TPM 可显示业务单位(箱/个),但推接口时 SAP 校验后再转
④ 错误处理 UOM 不匹配 → 接口拒绝 → 回传错误 → TPM 侧业务员修改活动后重新推送
⑤ 主数据同步 预先检查 DMS 物料同步接口(接口2),确保 TPM 侧有单位信息,不全的补全

方案对比

方案 换算放哪 优点 缺点
A:SAP 侧硬转 ✅ BAPI 增强 数据源头一致,不依赖中间件 SAP 增强点增加
B:PI 中间件映射 PI 维护转换表 解耦 需单独维护,易不同步
C:TPM 侧限制 TPM 只准选 Base UOM 最干净 业务看不懂

关键设计点

  • TPM 入站字段需增加 unit_of_measure + base_uom_flag
  • BAPI_PR_CREATE 调用前加增强:unit_of_measure ≠ material base uom → 查转换系数 → 换算数量 → 按 Base UOM 写 PR
  • 出站回传时需携带 original_unit + original_qty 供 TPM 侧显示

影响范围

模块 影响
MM 主数据 物料 UOM 组必须完整,已有物料需核查
PI 中间件 接口字段增加 UOM 透传
TPM 活动创建时可选单位受物料主数据约束
FI 无影响(费用不走 MM)

待确认项(会议中)

  • TPM 侧物料选择时,单位下拉范围是全部 UOM 组,还是只显示业务常用单位?
  • 不匹配时拒绝 → 回传错误 → TPM 侧自动提示修正,还是需人工通知?
  • 现有存量物料的主数据 UOM 转换系数是否完整?

相关

  • TPM PR 接口决策 — 采购申请接口整体方案
  • TPM 概念页
  • 接口映射: 系统集成字段映射参考0612.xlsx
  • 蓝图: 金光食品TPM项目To-Be蓝图文档_V1.05.docx