0

我有一份报告正在从 bsis、bsas、bsid、bsad、vbrk、bkpf 和 bset 获取信息。问题是当有两张相同编号的发票时,报告会将信息从第一行复制到第二行。因此,如果第 4100111596 号发票在第一行中的总税额为 2.140,20,则相同的发票号在第二行中具有相同的税额,但值为 40.140,64。我能做些什么?我必须在哪里使用buzei字段吗?继承人代码:

SELECT SINGLE kbetr fwste hwste
        FROM bset
        INTO (<fs_main>-kbetr, <fs_main>-fwste, <fs_main>-hwste)
        WHERE belnr = <fs_main>-belnr
        AND bukrs IN bukrs
        AND gjahr IN gjahr.

我试着得到 buzei ,它仍然给了我两次相同的线路。这是我在上面的代码之前所做的代码:

SELECT c~kunnr a~belnr d~spart c~bldat c~waers c~wrbtr a~hwaer c~dmbtr c~buzei
      INTO CORRESPONDING FIELDS OF TABLE lt_data
        FROM ( ( ( bsis AS f
      INNER JOIN bkpf AS a ON f~belnr = a~belnr )
      INNER JOIN bsid AS c ON c~belnr = a~belnr )
      INNER JOIN vbrk AS d ON d~vbeln = c~belnr )
      WHERE a~gjahr IN gjahr
        AND a~bukrs IN bukrs
        AND a~blart = 'R1'
        AND f~hkont = '0034930020'
        AND ( c~mwskz = 'L0' OR c~mwskz = 'L1' OR c~mwskz = 'L2' ).
4

2 回答 2

1

- 您必须在“SELECT”的条件部分使用所有关键字段才能获得“SINGLE”行。否则 table 可能不会返回一行,但你会得到第一行。

- 所以你必须在你选择的条件下使用 BUZEI 字段。

希望对您有所帮助

塔尔哈

于 2012-07-02T14:26:48.693 回答
0

发现了问题。我在错误的表中选择错误的字段。BKPF 只给了我一行,而 BSET 给了我两行。所以,我更改了从中获取字段的表,它工作得很好。谢谢你。

于 2012-07-02T16:35:54.220 回答