0

私はいくつかの値を合計しようとしていますが、それは私に奇妙な値を与え続けます。役立つコードと、何が起こっているのかについての画像も投稿しています。

at end of kunnr.    

 soma-waers = <fs_main-waers.
 soma-wrbtr = <fs_main-wrbtr.
 soma-fwste = <fs_main-fwste.
 soma-hwaer = <fs_main-hwaer.
 soma-dmbtr = <fs_main-dmbtr.
 soma-hwste = <fs_main-hwste.
 APPEND soma TO it_soma.  



LOOP AT it_soma INTO soma.
   IF sy-tabix = 1.


     FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
     SUM.
     WRITE: "/ sy-uline(137),
           / sy-vline NO-GAP,
             'Subtotal' NO-GAP,
            '-' NO-GAP,
            soma-waers,
            63 sy-vline NO-GAP,
            64 soma-wrbtr NO-GAP,
            sy-vline NO-GAP,
            soma-fwste NO-GAP,
            sy-vline NO-GAP,
            soma-hwaer NO-GAP,
            sy-vline NO-GAP,
            soma-dmbtr NO-GAP,
            sy-vline NO-GAP,
            soma-hwste NO-GAP,
            sy-vline NO-GAP,
           / sy-uline(137).


   ELSE.
   ENDIF.

 ENDLOOP.

 ENDAT.

ここに画像の説明を入力してください

4

2 に答える 2

3

間違ったコードシーケンスを作成したと思います。

内部でLOOP使用できますAT-ENDAT。コード内で同類のLOOP内部を使用しないでください。AT-ENDAT

コードは次のようになります。

LOOP AT it_soma INTO soma.
  AT END OF kunnr.    
     FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
     SUM.
     WRITE: "/ sy-uline(137),
           / sy-vline NO-GAP,
             'Subtotal' NO-GAP,
            '-' NO-GAP,
            soma-waers,
            63 sy-vline NO-GAP,
            64 soma-wrbtr NO-GAP,
            sy-vline NO-GAP,
            soma-fwste NO-GAP,
            sy-vline NO-GAP,
            soma-hwaer NO-GAP,
            sy-vline NO-GAP,
            soma-dmbtr NO-GAP,
            sy-vline NO-GAP,
            soma-hwste NO-GAP,
            sy-vline NO-GAP,
           / sy-uline(137).
  ENDAT.
ENDLOOP.

その他の問題の原因:

  • テーブルを並べ替える必要があります
于 2012-06-18T21:14:14.493 に答える
-1

最後に内部テーブルをクリアする必要がありました。現在、正常に動作しています。ありがとうございました。

于 2012-06-19T10:03:53.680 に答える