Skip to Content
0
Former Member
May 27, 2008 at 07:42 AM

max and min value with condition correction

49 Views

Hi Guru

I am not getting the correct maximum and minimum value for this report, can anyone correct this program

Thanks in advanced

if wa_data-recdu ='KM'.

sort i_final by equnr min_km ascending.

"read table i_final into wa_final index sy-tabix.

move wa_data-idate to wa_final-min_date_km .

move wa_data-recdv to wa_final-min_km.

"append wa_final to i_final.

sort i_final by equnr max_km descending.

read table i_final into wa_final index sy-tabix.

move wa_data-idate to wa_final-max_date_km .

move wa_data-recdv to wa_final-max_km.

wa_final-t_max_min_km = wa_final-max_km - wa_final-min_km .

"append wa_final to i_final.

endif.

if wa_data-recdu ='H'.

sort i_final by equnr min_hr ascending.

"read table i_final into wa_final index sy-tabix.

move wa_data-idate to wa_final-min_date_hr .

move wa_data-recdv to wa_final-min_hr.

"append wa_final to i_final.

sort i_final by equnr max_hr descending.

read table i_final into wa_final index sy-tabix.

move wa_data-idate to wa_final-max_date_hr .

move wa_data-recdv to wa_final-max_hr.

wa_final-t_max_min_hr = wa_final-max_hr - wa_final-min_hr.

"append wa_final to i_final.

endif.

if wa_data-recdu ='L'.

sort i_final by equnr min_lit ascending.

read table i_final into wa_final index sy-tabix.

move wa_data-idate to wa_final-min_date_lit .

move wa_data-recdv to wa_final-min_lit.

"append wa_final to i_final.

sort i_final by equnr max_lit descending.

read table i_final into wa_final index sy-tabix.

move wa_data-idate to wa_final-max_date_lit .

move wa_data-recdv to wa_final-max_lit.

wa_final-fuel_con = wa_final-max_lit + min_lit.

"append wa_final to i_final.

endif.

IF p_mode = 'A'.

wa_final-equnr = wa_data-equnr.

wa_final-eqktx = wa_data-eqktx.

wa_final-eqfnr = wa_data-eqfnr.

wa_final-t_max_min_km = wa_final-max_km - wa_final-min_km .

wa_final-t_max_min_hr = wa_final-max_hr - wa_final-min_hr.

wa_final-fuel_con = wa_final-max_lit + min_lit.

wa_final-km_l = ( wa_final-t_max_min_km / wa_final-fuel_con ) .

"wa_final-lit_per_hr = ( wa_final-fuel_con / t_max_min_hr ).

APPEND wa_final TO i_final.

ELSE.

MODIFY i_final FROM wa_final

TRANSPORTING

max_date_km

min_date_km

max_date_lit

min_date_lit

max_date_hr

min_date_hr

fuel_con

max_km

min_km

max_hr

min_hr

max_lit

min_lit

t_max_min_km

t_max_min_hr

where equnr = wa_data-equnr.

ENDIF.

ENDFORM. " PREPARE_FINAL_REC