You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将RSEG/RBKP表关联至BSEG表?MIR7预制凭证关联问题

预制发票(MIR7)关联RBKP/RSEG与BSEG的解决方案

兄弟,我太懂你用MIR7创建预制发票时,想关联发票表和会计行项目表却拿不到记录的憋屈了!给你梳理下核心问题和解决方法:

核心问题:预制发票的特殊性

MIR7创建的是预制状态的发票凭证,这类凭证的关联逻辑和已过账发票有差异:

  • 你之前拼接RBKP-BELNR+RBKP-GJAHR为BKPF-AWKEY时,大概率没处理凭证号的格式:BKPF-AWKEY是固定14位(10位凭证号+4位年度),如果RBKP-BELNR不足10位,必须前面补零才能匹配上。
  • 预制发票在BKPF里的状态是STATU = 'V',如果没加这个条件,也会过滤掉目标记录。

正确关联步骤

1. 从RBKP定位预制发票记录

先筛选出MIR7创建的预制发票:

SELECT * FROM RBKP
WHERE RBKP~STATU = '2'  -- 2表示预制状态
  AND RBKP~BELNR = '你的预制发票号'
  AND RBKP~GJAHR = '年度';

2. 关联BKPF(预制会计凭证)

用格式化后的凭证号拼接AWKEY,加上预制状态条件:

SELECT BKPF~BUKRS, BKPF~BELNR, BKPF~GJAHR
FROM BKPF
INNER JOIN RBKP ON BKPF~AWKEY = CONCAT(LPAD(RBKP~BELNR, 10, '0'), RBKP~GJAHR)
WHERE RBKP~STATU = '2'
  AND BKPF~BLART = 'RE'  -- 发票凭证类型
  AND BKPF~STATU = 'V';  -- V表示预制状态

重点:LPAD(RBKP~BELNR, 10, '0')是把凭证号补成10位,这是匹配AWKEY的关键!

3. 关联BSEG获取会计行项目

用上面拿到的BKPF字段关联BSEG:

SELECT BSEG~*
FROM BSEG
INNER JOIN BKPF ON BSEG~BUKRS = BKPF~BUKRS
               AND BSEG~BELNR = BKPF~BELNR
               AND BSEG~GJAHR = BKPF~GJAHR
INNER JOIN RBKP ON BKPF~AWKEY = CONCAT(LPAD(RBKP~BELNR, 10, '0'), RBKP~GJAHR)
WHERE RBKP~STATU = '2'
  AND BKPF~STATU = 'V';

4. 从RSEG关联的捷径

如果要从RSEG出发,先关联RBKP(因为RSEG-BELNR=RBKP-BELNR、RSEG-GJAHR=RBKP-GJAHR),再按上面的步骤关联BKPF和BSEG即可。

额外提示

不用纠结VBSEGS视图,用上面的标准表关联完全能拿到你需要的凭证详情。

内容的提问来源于stack exchange,提问作者Dumbest666

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:53:46