2012-06-18 1 views
0

Я пытаюсь подытожить некоторые значения, но он продолжает давать мне странные значения. Я отправляю код, чтобы помочь, и изображение тоже о том, что происходит.sum не работает должным образом abap

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. 

enter image description here

ответ

-1

Мне нужно, чтобы очистить внутреннюю таблицу в конец. Теперь он работает правильно. Спасибо.

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. 

Другие источники проблем:

  • Ваш стол должен быть отсортирован