cancel
Showing results for 
Search instead for 
Did you mean: 

F110的替代问题

former_member403242
Participant
0 Kudos

我现在准备用替代的方式,替换F110的Payment 的会计凭证的BKPF-XBLNR和BSEG-SGTXT。

但是却遇到一些问题:

1. BKPF-XBLNR我准备取原始凭证的编号。比如付款的是供应商的发票,那么就取发票的凭证号。

我的替代的程序如下:

data: e_belnr like bseg-belnr,

i_laufi like regup-laufi,

i_bktxt like bkpf-bktxt.

clear: i_laufi, i_bktxt.

split bkpf-bktxt at '-' into i_bktxt i_laufi.

select single belnr into e_xblnr

from regup

where laufi = i_laufi

and vblnr = bkpf-belnr

and blart = 'RE'

and koart = 'K'.

执行后,没有任何结果。我怀疑执行替代的时候BKPF-BELNR没有记录。有什么办法可以解决这个问题呢?

2. BSEG-SGTXT的问题和BKPF-XBLNR类似。

多谢各位!

View Entire Topic
Former Member
0 Kudos

1、确定你要替代的字段在系统中是否允许替代。(新建步骤的时候可以看出时候这些字段能被选择)

2、确定你的select语句的sy-subrc = 0 。(debug一下)

3、确定你在语句中替换了bseg结构中的数据。(把你查询的结果直接更改到bseg的相关字段。)

gladys_xing
Active Contributor
0 Kudos

我认为你选择的条件不是唯一的(from regup

where laufi = i_laufi

and vblnr = bkpf-belnr

and blart = 'RE'

and koart = 'K'.),所以系统不能选出你要的BELNR.也就导致执行后没有结果

请参看REGUP里的primary key from SE11.

former_member403242
Participant
0 Kudos

谢谢你的回复。

但是我认为这个是唯一的选择。因为我设置了individual payment,所以payment 和发票之间是1对1的关系。

我猜想sap在替代运行的时候还没有更新相关凭证的clearing document number。所以我后来改用其他条件来选择,已经解决这个问题了。