| 
							
					| Начинающий |  
					|  |  Зарегистрирован:
 Вт, фев 20 2007, 09:41
 Сообщения: 10
 | 
				
					| METHODS:
on_after_refresh FOR EVENT AFTER_REFRESH OF cl_gui_alv_grid,
 calculate_prices CHANGING total TYPE t_tt_vbrp.
 
 METHOD on_after_refresh.
 DATA:
 total TYPE REF TO DATA,
 subtotal1 TYPE REF TO DATA,
 subtotal2 TYPE REF TO DATA.
 
 FIELD-SYMBOLS:
 <total> TYPE t_tt_vbrp.
 
 IF rf <> SPACE.
 rf = SPACE.
 RETURN.
 ENDIF.
 
 CALL METHOD grid->get_subtotals
 IMPORTING
 ep_collect00 = total
 ep_collect01 = subtotal1
 ep_collect02 = subtotal2.
 
 ASSIGN total->* TO <total>.
 CALL METHOD calculate_prices CHANGING total = <total>.
 ASSIGN subtotal1->* TO <total>.
 CALL METHOD calculate_prices CHANGING total = <total>.
 ASSIGN subtotal2->* TO <total>.
 CALL METHOD calculate_prices CHANGING total = <total>.
 
 rf = 'X'.
 CALL METHOD grid->refresh_table_display
 EXPORTING I_SOFT_REFRESH = 'X'.
 ENDMETHOD.
 
 METHOD calculate_prices.
 DATA:
 wa_vbrp TYPE t_vbrp.
 
 LOOP AT total INTO wa_vbrp.
 IF wa_vbrp-fkimg = 0.
 wa_vbrp-price = 0.
 wa_vbrp-price_nds = 0.
 ELSE.
 wa_vbrp-price = wa_vbrp-kzwi3 / wa_vbrp-fkimg.
 wa_vbrp-price_nds = wa_vbrp-kzwi4 / wa_vbrp-fkimg.
 ENDIF.
 
 MODIFY total INDEX sy-tabix FROM wa_vbrp.
 ENDLOOP.
 ENDMETHOD.
 
 
 
						
							|   |  |  |