SAP 采购订单行项目表 EKPO 的「每一个」常用字段按业务含义逐条拆解,并给出它在实际业务链条中的作用与注意点。为便于阅读,先按主题分组,再按字母序给出字段明细。
(若只想快速查字段,可直接跳到最后「字段速查表」)
一、核心键值——“订单+行号”
EBELN 采购订单号(10 位)
‑ 全局唯一,抬头表 EKKO 的主键;所有下游凭证(收货、发票)都靠它关联。EBELP 行项目号(5 位,00010/00020…)
‑ 同一订单内连续 10 递增;删除行后编号不再复用,保证审计线索。
二、物料/服务本身 3. MATNR 物料主数据编码
‑ 若行类型为“物料”,则必填;服务类采购可空。
4. TXZ01 短文本(物料描述)
‑ 当无物料主数据(费用类、服务类)或想覆盖主数据描述时手工录入;ME23N 里看到的“名称”就是它。
5. KTMAT 客户方物料号(客户料号)
‑ 仅在“客户寄售”或“第三方”业务场景使用,用于把客户料号带打印到 PO 表单。
6. PSTYP 行项目类别(Standard/Consignment/Subcontracting…)
‑ 决定后续库存移动类型(如 101/543)、MRP 逻辑、科目分配方式;是 MM 顾问必调字段。
三、数量与单位 7. MENGE 订购数量(按 PO 单位)
8. MEINS PO 单位(可与主数据基本单位不同)
9. BPRME 订单价格单位(每 100 EA、每 1 KG 等)
10. UMZ1 / UMZ2 分子/分母——用于“PO 单位↔价格单位”换算。
11. RETPO 退货标识(X=退货行)
‑ 与正常行一起打印,但收货时用 161 而不是 101。
四、价格与价值 12. NETPR 单价(以价格单位计,已考虑价格条件)
13. PEINH 价格单位(1、100、1000…)
14. NETWR 行净值(MENGE × NETPR / PEINH,系统自动算)
15. BRTWR 行毛值(含现金折扣前)
16. WAERS 货币码
17. WKURS 头货币→本币汇率(仅当外币 PO)
18. ZWERT 本币净值(NETWR × WKURS)
五、交货与库存 19. WERKS 收货工厂
‑ 决定可用库存地点、MRP 范围、评估类。
20. LGORT 目标库存地点(可空,待收货时再填)
21. EINDT 统计交货日期(Header 级)
22. SLFDT 计划交货日期(行级,MRP/MD04 看到的就是它)
23. LFIMG 已交货数量(实时累加 101/105)
24. WEBAZ 收货处理天数(用于倒推供应商应发货日期)
25. ELIKZ 交货已完成标识(X=自动或手工关闭)
26. LSMNG 剩余可交货量 = MENGE – LFIMG;MRP 用此数算需求。
六、发票与付款 27. REPOS 发票收据标识(X=必须做发票校验)
28. EREKZ 最终发票标识(MIRO 勾选“最终发票”后回写)
29. DABMG 已开票数量(累加发票校验数量)
30. DRPS1 发票冻结原因(价格差异、数量差异等)
31. SKTOF 现金折扣标识(从付款条件带出来)
七、账户分配与成本 32. KNTTP 账户分配类别(K=成本中心,A=资产,P=项目,F=生产订单…)
33. SAKTO 总账科目(仅当 KNTTP=N 空科目时手工维护)
34. PS_PSP_PNR WBS 元素(项目系统)
35. AUFNR 生产订单号(P 类型)
36. KOSTL 成本中心(K 类型)
37. ANLN1 / ANLN2 主资产号/子编号(A 类型)
八、状态与生命周期 38. LOEKZ 删除标识(X=已逻辑删除;仍占编号,可审计)
39. STATU 行项目状态(N=未清,B=部分交货,C=已完成,L=最后发票)
40. FRGKZ 批准状态(Release indicator)
41. FRGDT 批准日期
42. AEDAT 行创建日期
43. ERNAM 创建人
44. AENAM / LAEDA 最后修改人/日期
九、辅助与打印 45. INFNR 信息记录号(系统自动找价后回写)
46. IDNLF 供应商料号(打印在 PO 表单,便于供应商识别)
47. ZWERT 本币金额(已述)
48. BSTMG 批次拆分数量(批次管理物料)
49. BSTZD 批次说明
50. WEORA 收货过量容差(百分数或绝对值)
51. WEUNB 收货不足容差
52. ABSKZ 后续结算标识(Consignment 结算用)
十、字段速查表(按字母序)
| 字段名 | 主键/外键 | 典型长度 | 业务含义一句话 |
|---|---|---|---|
| ABSKZ | 1 | 后续结算标识(寄售) | |
| AEDAT | 8 | 行创建日期 | |
| AENAM | 12 | 最后修改人 | |
| ANLN1 | 12 | 主资产号 | |
| ANLN2 | 4 | 子资产号 | |
| AUFNR | 12 | 生产订单号 | |
| BPRME | 3 | 价格单位 | |
| BRTWR | 13,2 | 行毛值 | |
| BSTZD | 10 | 批次说明 | |
| BSTMG | 13,3 | 批次数量 | |
| BUKRS | FK | 4 | 公司代码(来自 EKKO) |
| DABMG | 13,3 | 已开票数量 | |
| DRPS1 | 2 | 发票冻结原因 | |
| EBELN | PK | 10 | 采购订单号 |
| EBELP | PK | 5 | 行项目号 |
| EINDT | 8 | 抬头交货日期 | |
| ELIKZ | 1 | 交货完成标识 | |
| EREKZ | 1 | 最终发票标识 | |
| ERNAM | 12 | 创建人 | |
| FRGKZ | 1 | 批准标识 | |
| FRGDT | 8 | 批准日期 | |
| IDNLF | 35 | 供应商料号 | |
| INFNR | 10 | 采购信息记录号 | |
| KNTTP | 1 | 账户分配类别 | |
| KOSTL | 10 | 成本中心 | |
| KTMAT | 35 | 客户物料号 | |
| LAEDA | 8 | 最后修改日期 | |
| LFIMG | 13,3 | 已交货数量 | |
| LGORT | 4 | 库存地点 | |
| LOEKZ | 1 | 删除标识 | |
| LSMNG | 13,3 | 剩余交货量 | |
| MATNR | FK | 18 | 物料号 |
| MEINS | 3 | 订单单位 | |
| MENGE | 13,3 | 订单数量 | |
| NETPR | 11,2 | 净价 | |
| NETWR | 13,2 | 行净值 | |
| PEINH | 5 | 价格单位 | |
| PSTYP | 1 | 行项目类别 | |
| PS_PSP_PNR | 24 | WBS 元素 | |
| REPOS | 1 | 需发票校验标识 | |
| RETPO | 1 | 退货行标识 | |
| SAKTO | 10 | 总账科目 | |
| SKTOF | 1 | 现金折扣标识 | |
| SLFDT | 8 | 行级计划交货日期 | |
| STATU | 1 | 行状态 | |
| TXZ01 | 40 | 短文本描述 | |
| UMZ1 | 5 | 单位转换分子 | |
| UMZ2 | 5 | 单位转换分母 | |
| WAERS | 5 | 货币码 | |
| WEBAZ | 3 | 收货处理天数 | |
| WEORA | 13,3 | 过量容差 | |
| WEUNB | 13,3 | 不足容差 | |
| WERKS | FK | 4 | 工厂 |
| WKURS | 9,5 | 汇率 | |
| ZWERT | 13,2 | 本币金额 |
使用小贴士
任何报表都建议先以 EBELN+EBELP 做为主键,再 LEFT JOIN EKKO、MARA、MAKT、LFA1 等主数据表,可一次性拿到采购组、供应商名称、物料描述等常用维度。
判断“是否做完收货”用 ELIKZ='X' 或 LSMNG=0;判断“是否做完发票”用 EREKZ='X'。
做批次拆分或寄售结算时,关注 PSTYP、ABSZU、ABSKZ 三个字段即可快速过滤出行项目。
以上即为 EKPO 表全部常用字段的业务级拆解,可直接当作开发或功能说明书使用。