跳转至

TPM PR 接口决策

金光中国 S4 升级项目中 TPM(纷享销客)与 S4 之间的采购申请接口方案。

背景

全球团队因 Coupa-PR 接口在 ECC 时代存在的两个 Blocker 问题,决定在 S/4 移除 Coupa 接口。但中国未使用 Coupa,且 TPM 场景与 Coupa 场景有本质差异。

决策

维度 集团 (Coupa) 中国 (TPM → S4)
PR 创建方 Coupa 外部创建 SAP 内部创建(BAPI_PR_CREATE)
PR 审批 外部审批 跳过(无 Release Strategy)
预算检查 不可用,需自建 自动触发(SAP 原生)
1PR→多PO 架构冲突 SAP 原生支持
方案结论 ❌ 移除 保留并实现

接口流向

TPM (纷享销客) → PI 中间件 → S4 (新加坡)
 ① 采购需求入站 → BAPI_PR_CREATE → PR 无审批自动释放
                                    → PO 分批创建
 ② PR/PO/GR 状态出站 ← 回传 TPM ←

关键设计点

  • 入站:TPM 促销活动审批通过后推采购需求,S4 创建 PR
  • 出站:需处理 1个PR行→多个PO 的回传(PO 取消/GR 过账时触发)
  • TPM 侧按 tpm_activity_id 聚合多 PO 状态

SAP PR 字段复用规则

TPM 侧审批已在纷享销客内完成,SAP 端 PR 跳过 SAP Release Strategy(无审批)。因此以下字段可复用:

SAP PR 字段 复用为 说明
Batch Number(批次号) TPM 计划案编号 标识该 PR 关联的 TPM 促销活动 ✅ Yoyo 确认促销品非食品物料,S4 无批次管理需求
Tracking Number TPM 计划案编号 辅助字段,与 Batch Number 一致
Requestor TPM 行项目号 标识该 PR 行项对应的 TPM 活动行项

复用前提:SAP 端 PR 不做审批 → 这些字段无冲突。未来如恢复 SAP 审批,需重新评估字段占用。

取消逻辑

促销品申请的任一行取消 → 整单关闭,在 TPM 侧修改后重新推送。不在 SAP 端做行级 MIGO 取消。

原因:TPM 侧按 tpm_activity_id 聚合多 PO 状态,SAP 端行级取消会导致 TPM 侧的聚合状态和实际库存不一致,后续结案对不上账。

PR ↔ PO 对应规则

PR + 行项 = PO + 行项(严格一一对应,不可改)。但 PO + 行项可以分次下单(分批采购场景)。

PR-001/10(促销物料 A,100个)
    ├── PO-100/10(第一批,60个)
    └── PO-101/10(第二批,40个)

规则:PR+item 锁定物料/数量范围;PO+item 继承 PR+item 的分批实例,不得修改 PR+item 的物料或超数量范围。TPM 侧仍按最初推的 PR+item 跟踪聚合状态。

出站回传范围

PO 的审批状态不回传 TPM。只有以下两个事件触发回传:

触发事件 说明
PGR(收货过账) 物料入库确认
PGI(促销品领用发货) 促销品从库存发出

PO 审批状态对 TPM 无意义(审批已在 TPM 侧完成)。TPM 只看"有没有收到货"和"有没有发出去",不看"PO 批了没有"。

数据删除规则

TPM(何锐)要求:SAP 端对 TPM 接口涉及的所有数据只做标记删除(软删),不做物理删除

场景 SAP 行为 原因
物料/价格/客户主数据停用 标记删除标识(deletion_flag = X TPM 侧可能仍有历史活动引用这些数据
PR/PO 取消 设删除标记,保留凭证 财务审计需追溯取消记录
状态回传的数据 不删 TPM 侧按 tpm_activity_id 聚合状态,删除会导致链接断裂

适用所有 TPM↔SAP 接口数据,不限于 MM。如需物理删除数据,须经 TPM+IT 双方确认。

关联

待确认事项

# 事项 找谁 状态
Integration Suite 运维模式 — PI 中间件的 housekeeping(日志清理、队列监控、失败重推)谁负责?SAP 出站失败告警谁接?告警路径是 CN IT 邮箱还是新加坡 PI 团队? Loi Hui Hong 🔴 待对齐
SAP 出站告警 — 方案 C(BAPI 失败→SAP Application Log + 邮件通知 CN IT)是否可行,S4 邮件配置由谁开通 Yoyo / Jackyson + Loi 🔴 等 ① 有结论