SAP-ABAP:SAP采购业务核心表关联关系详解
SAP采购业务核心表关联关系详解
一、采购业务流程与模块关联
涉及模块:MM(核心)、FI(财务)、SD(计划协议)
数据流向:PR → PO → GR → MIRO → FI过账
二、核心业务表结构说明
1. 采购申请(PR)
| 表名 | 描述 | 关键字段 | 关联关系 |
|---|---|---|---|
| EBAN | 申请行项目 | BANFN(申请号), BNFPO(行号), MATNR, MENGE, BADAT | ←→ EBKN |
| EBKN | 账户分配 | KOSTL, AUFNR, PS_PSP_PNR | 通过BANFN+BNFPO关联EBAN |
特殊逻辑:
- PR转PO时,EBAN会记录
EBELN(PO号)和EBELP(行号) - EBKN存储成本对象(成本中心/项目/WBS等)
2. 采购订单(PO)
| 表名 | 描述 | 关键字段 | 关联关系 |
|---|---|---|---|
| EKKO | 订单抬头 | EBELN, BSART, LIFNR, BEDAT | ←→ EKPO |
| EKPO | 订单行项 | EBELN, EBELP, MATNR, MENGE, NETPR | ←→ EKET |
| EKET | 计划行 | EINDT, MENGE | 通过EBELN+EBELP关联EKPO |
关键关联:
EKKO-EBELN → EKPO-EBELN (1:N)
EKPO-EBELN+EBELP → EBAN-EBELN+EBELP (PR转PO场景)
3. 收货(GR)
| 表名 | 描述 | 关键字段 | 关联关系 |
|---|---|---|---|
| MKPF | 凭证抬头 | MBLNR, MJAHR, BLART | ←→ MSEG |
| MSEG | 凭证行项 | MBLNR+MJAHR+ZEILE, EBELN, SHKZG | ←→ MARD |
| MARD | 库存数据 | MATNR, WERKS, LGORT, LABST | 通过物料+工厂+库存地点关联 |
库存更新:
MSEG中的BWART字段控制库存变动类型(如101-标准收货)
4. 发票校验(MIRO)
| 表名 | 描述 | 关键字段 | 关联关系 |
|---|---|---|---|
| RBKP | 发票抬头 | BELNR, GJAHR, LIFNR | ←→ RSEG |
| RSEG | 发票行项 | BELNR+GJAHR+BUZEI, EBELN, WRBTR | ←→ BSEG |
| BSEG | 会计凭证 | BELNR, BUZEI, KOART, AWKEY | 通过AWKEY关联RBKP |
财务集成:
BSEG中的HKONT字段对应总账科目,ZUONR存储PO号用于三单匹配
三、主数据表结构
供应商主数据
LFA1 (通用数据)
│
└── LFB1 (公司代码视图)
├── EKKO.LIFNR (采购订单)
└── RBKP.LIFNR (发票)
物料主数据
MARA (通用数据)
│
└── MARC (工厂视图)
├── EKPO.MATNR (PO物料)
└── MSEG.MATNR (收货物料)
四、ER图核心关系
EBAN ←(BANFN,BNFPO)→ EKPO
EKKO ←(EBELN)→ EKPO ←(EBELN,EBELP)→ MSEG
MKPF ←(MBLNR,MJAHR)→ MSEG ←(MATNR,WERKS)→ MARC
RBKP ←(BELNR,GJAHR)→ RSEG ←(EBELN)→ EKPO
BSEG ←(AWKEY)→ RBKP
五、关键注意点
-
时间相关性
- MARD表按
LFGJA(年度)分区 - 历史数据需结合
MANDT(客户端)查询
- MARD表按
-
增强字段处理
SELECT * FROM EKPO LEFT JOIN ZMM_PO_ENH ON EKPO.EBELN = ZMM_PO_ENH.EBELN -
跨模块追溯
- 通过
AWKEY字段可追溯会计凭证与业务单据关系 - 使用事务码
ME23N(PO查询)/MIR4(发票查询)快速跳转
- 通过
六、典型业务场景表关联
三单匹配流程:
采购订单 EKPO.EBELN
│
├── 收货凭证 MSEG.EBELN
│
└── 发票凭证 RSEG.EBELN
│
└── 会计凭证 BSEG.AWKEY
│
└── 供应商余额 LFB1.LIFNR
