Skip to Content
0
Former Member
May 09, 2008 at 01:58 AM

Max value is same in report

39 Views

Hi Sap Experts

I am not getting same min value from max can anyone correct my program please

I am getting max value but in place of min I am getting the same value of max.

I am searching with equipment range , monthly date range and unit of measurment (km,L,H)

REPORT Z_ESLP_FUEL LINE-SIZE 200 LINE-COUNT 75

NO STANDARD PAGE HEADING.

TABLES : equi,

equz,

imptt,

imrg,

eqkt,

iloa.

  • Type Declaration

TYPES: BEGIN OF ty_data ,

equnr type equnr, " Euipment no

eqktx type eqkt-eqktx, " Equipment Text

eqfnr type iloa-eqfnr, " Equipment Sort field

idate type imrg-idate, " Measuring Date

recdu type imrg-recdu, " Unit of measuring ='KM','L','H'

recdv type imrg-recdv, " Counter reading data

END OF ty_data.

TYPES: BEGIN OF ty_final,

equnr type equnr, " Equipment no

eqktx type eqkt-eqktx, " Equipment Text

eqfnr type iloa-eqfnr, " Equipment Sort field

min_date type imrg-idate, " Min Date

min_km type p decimals 2, " Max Km

max_km type p decimals 2, " Min km

t_max_min_km type i, " Total min_km-max_km

max_date type imrg-idate, " Max Date

min_hr type imrg-recdv, " Max hr

max_hr type imrg-recdv, " Min hr

t_max_min_hr type i, " Total min_hr-max_hr

min_lit type imrg-recdv, " Max lit

max_lit type imrg-recdv, " Min lit

t_max_min_lit type i, " Total min_lit-max_lit

fuel_con type p decimals 2, " Total_hrs / t_max_min_hr

km_l type p decimals 2, " km / L

lit_per_hr type i , " fuel comsumed / t_max_min_hr

END OF ty_final.

DATA: i_data TYPE TABLE OF ty_data, " internal table

wa_data TYPE ty_data, " work area

i_final TYPE TABLE OF ty_final, " internal table

wa_final TYPE ty_final. " work area

data: begin of itab occurs 0,

num type i,

end of itab.

data: v_min_1 type i,

v_max_1 type i,

min like imrg-recdv,

max like imrg-recdv,

max_dt like imrg-idate,

min_dt like imrg-idate,

t_ma_mi type p decimals 2,

V1 LIKE IMRG-RECDV ,

V2 LIKE IMRG-RECDV .

SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME.

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.

SELECT-OPTIONS: p_equnr FOR equi-equnr ,"no-extension no intervals,

p_idate FOR imrg-idate, "NO-EXTENSION NO INTERVALS OBLIGATORY,

p_recdu FOR imrg-recdu. "NO-EXTENSION NO INTERVALS default 'M3'" OBLIGATORY.

SELECTION-SCREEN END OF BLOCK blk1.

SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.

SELECTION-SCREEN END OF BLOCK blk2.

SELECTION-SCREEN END OF BLOCK blk.

TOP-OF-PAGE.

FORMAT INTENSIFIED ON.

WRITE:/1(40) ' INVESTMENT LIMITED '.

WRITE:/50(40) ' FUEL CONSUMPTION REPORT ' CENTERED ,

2 'Page', sy-pagno.

FORMAT INTENSIFIED OFF.

WRITE:/50(40) '----


' CENTERED .

FORMAT INTENSIFIED ON.

WRITE:/2 sy-datum COLOR 3, sy-uzeit .

"WRITE:/1 S903-SPMON ."p_yearf.

ULINE.

"CENTERED.

write: /2 'Date From :'.

write: /2 'Equipment No :'.

write: /2 'Unit :'.

SKIP.

ULINE.

WRITE:/1 sy-vline,

2 'EQUIP NO', 10 sy-vline,

11 'NAME', 40 sy-vline,

41 'min date', 50 sy-vline,

51 'max date', 60 sy-vline,

61 'min km', 70 sy-vline,

71 'max km' , 80 sy-vline,

81 't_max_min_km', 90 sy-vline,

91 'min hr', 100 sy-vline,

101 'max hr', 110 sy-vline,

111 't_max_min_hr' , 120 sy-vline,

121 'min lit', 130 sy-vline,

131 'max lit', 140 sy-vline,

141 't_max_min_lit', 150 sy-vline,

151 'fuel con', 160 sy-vline,

161 'km_l', 170 sy-vline,

171 'lit_per_hr', 180 sy-vline.

FORMAT COLOR 3 ON.

ULINE.

END-OF-PAGE.

START-OF-SELECTION.

*******************************************************************************

select aequnr deqktx feqfnr eidate erecdu erecdv

into table i_data

from equi AS a

inner join equz as b

on aequnr = bequnr

inner join iloa as f

on biloan = filoan

inner join imptt as c

on aobjnr = cmpobj

inner join eqkt as d

on aequnr = dequnr

inner join imrg as e

on epoint = cpoint

where a~equnr in p_equnr

and

e~idate in p_idate

and

e~recdu in p_recdu.

LOOP at i_data into wa_data.

SORT i_data BY equnr idate descending .

"Read table i_data into wa_data index 1.

move wa_data-recdv to max.

SORT i_data BY equnr idate ASCENDING .

"Read table i_data into wa_data index 1.

move wa_data-recdv to min.

on change of wa_data-equnr.

write:/ wa_data-equnr, wa_data-eqktx ,wa_data-eqfnr ,wa_data-idate ,wa_data-recdu ,

'MIN',max EXPONENT 0 DECIMALS 2,

'MAX',min EXPONENT 0 DECIMALS 2. .

endon.

endloop.

loop at i_data into wa_data.

SORT i_data BY equnr idate descending .

move wa_data-recdv to max.

endloop.

loop at i_data into wa_data.

SORT i_data BY equnr idate ascending .

move wa_data-recdv to min.

endloop.

regards

Piroz