TPM ↔ MM 集成接口规范 V3
决策内容
确认 TPM 与 SAP MM 之间的 4 个接口的字段规范、频率和业务规则。
接口总览
| # |
接口 |
方向 |
频率 |
关键动作 |
| 1 |
计划案→PR |
TPM → SAP |
实时 |
TPM 发起创建/删除采购申请 |
| 2 |
PR状态检查 |
TPM → SAP |
实时 |
查询 PR 对应 PO 状态 |
| 3 |
PO返回 |
SAP → TPM |
每5分钟 |
审批通过的 PO 数据回传 |
| 4 |
物料凭证返回 |
SAP → TPM |
每天2次(12:00/23:00) |
收货/取消的物料凭证回传 |
接口 1:计划案→PR(TPM → SAP,实时)
入参(20个字段)
| # |
字段 |
类型/长度 |
必填 |
规则 |
| 1 |
创建/删除标识 ZFLAG |
Char(1) |
✅ |
C=创建, D=删除 |
| 2 |
TPM计划案编号 ZTPMOR |
Char(10) |
✅ |
|
| 3 |
TPM计划案行项 ZTPMORI |
Char(10) |
✅ |
|
| 4-5 |
创建日期/时间 |
Date/Time |
✅ |
|
| 6 |
物料描述 TXZ01 |
Char(40) |
条件 |
物料编码为空时必填 |
| 7 |
物料编号 MATNR |
Char(18) |
条件 |
科目分配类别不为空时必须为空;否则必填 |
| 8 |
数量 MENGE |
QUAN(13,3) |
✅ |
小数位3位 |
| 9 |
计量单位 MEINS |
UNIT(3) |
✅ |
TPM 需做 SAP ISO 编码映射 |
| 10 |
工厂 WERKS |
Char(4) |
✅ |
|
| 11 |
库存地点 LGORT |
Char(4) |
|
|
| 12 |
单价 PREIS |
CURR(11,2) |
✅ |
小数位2位 |
| 13 |
价格单位 PEINH |
DEC(5) |
✅ |
默认1 |
| 14 |
科目分配类别 KNTTP |
Char(1) |
条件 |
物料编码为空时必填,默认X |
| 15 |
交货日期 LFDAT |
Date |
|
|
| 16 |
物料组 MATKL |
Char(9) |
条件 |
物料编码为空时必填 |
| 17 |
总账科目 SAKTO |
Char(10) |
条件 |
物料编码为空时必填 |
| 18 |
利润中心 PRCTR |
Char(10) |
条件 |
物料编码为空时必填 |
| 19-20 |
接口传输日期/时间 |
Date/Time |
✅ |
|
出参(9个字段)
| # |
字段 |
说明 |
| 1-3 |
创建/删除标识、TPM计划案编号、行项 |
回传确认 |
| 4-5 |
采购申请号 BANFN、采购申请行 BNFPO |
SAP 生成 |
| 6 |
消息类型 TYPE |
S=成功, E=失败 |
| 7-9 |
消息类/编号/文本 |
错误详情 |
规则:SAP 中增加接口 Log 表记录全部传输
接口 2:PR状态检查(TPM → SAP,实时)
| 方向 |
入参 |
出参关键字段 |
| TPM→SAP |
ZTPMOR(计划案编号)+ BANFN(PR号) |
PO号 EBELN + PO行 EBELP |
重要业务规则
- 计划案整单取消 — 一次取消整个 TPM 预算计划案
- 一对多关系 — 一个 TPM 计划案行项目对应多个 PO 行
- 删除保护 — 如果 SAP 返回的接口表中至少有一行 PO 不为空,则该计划案不允许删除
接口 3:PO返回(SAP → TPM,每5分钟)
| # |
字段 |
说明 |
| 1-2 |
PO号 EBELN + PO行 EBELP |
|
| 3-4 |
创建日期/修改日期 |
修改日期为行项的增删/交货完成变更日 |
| 5 |
删除标识 LOEKZ |
L=删除, S=冻结(审批完成后推送) |
| 6 |
交货已完成标识 ELIKZ |
审批完成后推送 |
| 7-10 |
TPM计划案编号/行项 + PR号/行 |
关联追溯 |
| 11-12 |
接口传输日期/时间 |
|
业务规则
- 一个 TPM 计划案编号+行会对应多个 PO 行项目(一对多)
- PO 创建时不可修改 PR 带来的信息(物料+描述)— SAP 侧约束
- 费用类 PO:收货后 TPM 才会生成会计凭证,因此只传输 PO 审批通过后的数据到 TPM
接口 4:物料凭证返回(SAP → TPM,每天2次)
27 个字段涵盖:
| 类别 |
关键字段 |
| 凭证标识 |
物料凭证号 MBLNR + 行 ZEILE + 年度 MJAHR |
| 日期 |
过账日期 BUDAT |
| PO 关联 |
PO号 EBELN + 行 EBELP(费用类) |
| 物料信息 |
工厂 WERKS、库存地点 LGORT、物料 MATNR、文本 TXZ01 |
| 批次 |
CHARG — 促销品(有物料)填入 TPM 计划案编号 |
| 数量金额 |
数量 MENGE、单位 MEINS、金额 DMBTR(含正负号) |
| 移动类型 |
BWART |
| 取消标识 |
ZCANC — X=反向取消凭证 |
| 会计 |
总账科目 SAKTO、利润中心 PRCTR(费用类/促销品) |
| 原凭证追溯 |
原物料凭证号 SMBLN + 行 SMBLP + 年度 |
| TPM 关联 |
ZTPMOR + ZTPMORI(费用类) + BANFN + BNFPO(费用类) |
费用类 vs 促销品
| 场景 |
批次逻辑 |
金额/G/L/利润中心 |
| 费用类 |
不适用 |
全部必填 |
| 促销品(有物料) |
批次=TPM计划案编号 |
必填 |
相关约束
- 数量小数位:3位
- 金额小数位:2位
- SAP Log 表:接口 1 和 4 要求在 SAP 中增加接口日志表
- 计量单位映射:TPM 需要从 ECC 拉取已使用的计量单位对应 ISO 编码做映射
关联文档