0

bsis、bsas、bsid、bsad、vbrk、bkpf、bsetから情報を取得しているレポートがあります。問題は、同じ番号の請求書が2つある場合、レポートが最初の行から2番目の行に情報をコピーすることです。したがって、請求書番号4100111596の最初の行の税額の合計が2.140,20である場合、同じ請求書番号の2番目の行の税額は同じですが、値は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.

私はブゼイを手に入れてみましたが、それでも同じ行が2回表示されます。上記のコードの前に行ったコードは次のとおりです。

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

-「SINGLE」行を取得するには、「SELECT」の条件部分ですべてのキーフィールドを使用する必要があります。そうしないと、テーブルが1行を返さない可能性がありますが、最初の行は取得されます。

-したがって、選択した条件でBUZEIフィールドも使用する必要があります。

お役に立てば幸いです

タルハ

于 2012-07-02T14:26:48.693 に答える
0

問題が見つかりました。私は間違ったフィールドまたは間違ったテーブルの選択を行っていました。BKPFは私に1行しか与えず、BSETは私に2行を与えました。だから、私はフィールドを取得していたテーブルを変更し、それはうまく機能します。ありがとうございました。

于 2012-07-02T16:35:54.220 に答える