Skip to Content
0
Former Member
May 29, 2008 at 02:48 AM

Data is not inserting in internal table display report

97 Views

Hi Friends

In this program I am getting strange thing

Where there is max_km and max date the value is comming as

0.00 and where the min_hr and max_date the value is comming correctly

max_km max_date_km min_hr max_date_hr

543245.00 02.02.2008 0.00 0.00

320034.00 02.02.2008 0.00 0.00

0.00 0.00 4083 3936.00

what is this error why the data is not inserting correctly in max

and min value please comment

regards

Piroz

REPORT Z_ESLP_FUEL3 LINE-SIZE 300 LINE-COUNT 75

NO STANDARD PAGE HEADING.

TABLES : equi,

equz,

imptt,

imrg,

eqkt,

iloa.

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

cancl type imrg-cancl,

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

idate type imrg-idate, " Measuring Date

min_date_km type imrg-idate, " Min Date

min_km type imrg-recdv, " Max Km

max_date_km type imrg-idate,

max_km type imrg-recdv, " Min km

t_max_min_km type i, " Total min_km-max_km

min_date_hr type imrg-idate, " Max Date

min_hr type imrg-recdv, " Max hr

max_date_hr type imrg-idate,

max_hr type imrg-recdv, " Min hr

t_max_min_hr type i, " Total min_hr-max_hr

min_date_lit type imrg-idate,

min_lit type imrg-recdv, " Min lit

max_date_lit type imrg-idate,

max_lit type imrg-recdv, " Max lit

fuel_con type p decimals 2, " Total_hrs / t_max_min_hr

km_l type p decimals 2, " t max_min_km / t_max_min_lit

lit_per_hr type p decimals 2 , " t_max_min_lit / 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 : max_date type date ,

min_date type date,

max_km TYPE p DECIMALS 2,

min_km TYPE p DECIMALS 2,

max_hr TYPE p DECIMALS 2,

min_hr TYPE p DECIMALS 2,

max_lit TYPE p DECIMALS 2,

min_lit TYPE p DECIMALS 2,

total TYPE p DECIMALS 2,

t_max_min_hr TYPE p DECIMALS 2,

t_max_min_lit TYPE p DECIMALS 2.

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 'Equipment No :'left-justified,p_equnr-low color 2 , ' to ' , p_equnr-high color 2.

write: /2 'Date From :', p_idate-low color 2 , ' to ' , p_idate-high color 2.

"write: /2 'Sort Field:'left-justified,p_eqfnr-low color 2 , ' to ' , p_eqfnr-high color 2.

"write: /2 'Unit :' left-justified ,p_recdu-low.

SKIP.

SKIP.

ULINE.

WRITE:/1 sy-vline,

2 'EQUIP NO', 10 sy-vline,

11 'NAME', 40 sy-vline,

41 'SORT', 60 sy-vline,

61 'MAX DATE KM', 74 sy-vline,

75 'MAX KM', 87 sy-vline,

88 'MIN DATE KM', 100 sy-vline,

101 'MIN KM' , 113 sy-vline,

114 'TOTAL KM', 126 sy-vline,

127 'MIN DATE HR', 139 sy-vline,

140 'MIN HR', 152 sy-vline,

153 'MAX DATE HR', 167 sy-vline,

168 'MAX HR', 180 sy-vline,

181 'TOTAL HR' , 193 sy-vline,

194 'MIN DATE LIT', 206 sy-vline,

207 'MIN LIT', 219 sy-vline,

220 'MAX DATE LIT', 232 sy-vline,

233 'MAX LIT', 245 sy-vline,

246 'FUEL CON', 258 sy-vline,

259 'KM L', 271 sy-vline,

272 'LIT PER KM', 286 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~cancl ne 'X'.

loop at i_data into wa_data.

CLEAR: wa_final.

READ TABLE i_final into wa_final

with key equnr = wa_data-equnr.

if sy-subrc EQ 0.

PERFORM prepare_final_rec USING'M'. " Modify Existing Record

ElSE.

PERFORM prepare_final_rec USING'A'. " Append New Record.

ENDIF.

ENDLOOP.

LOOP AT i_final into wa_final.

at new equnr.

sort i_final by equnr min_hr ascending.

read table i_final into wa_final index 1.

at end of equnr.

sort i_final by equnr max_km descending.

read table i_final into wa_final index 1.

endat.

at end of equnr.

sort i_final by equnr max_hr descending.

read table i_final into wa_final index 1.

endat.

on change of wa_final-equnr.

sort i_final by equnr .

WRITE:/1 sy-vline,

2 wa_final-equnr , 10 sy-vline,

11 wa_final-eqktx , 40 sy-vline,

41 wa_final-eqfnr , 60 sy-vline,

61 wa_final-min_date_km color 3 , 74 sy-vline,

75 wa_final-min_km EXPONENT 0 DECIMALS 2 LEFT-JUSTIFIED color 3 , 87 sy-vline,

88 wa_final-max_date_km color 2 LEFT-JUSTIFIED , 100 sy-vline,

101 wa_final-max_km EXPONENT 0 DECIMALS 2 LEFT-JUSTIFIED color 2 , 113 sy-vline,

114 wa_final-t_max_min_km EXPONENT 0 DECIMALS 2 LEFT-JUSTIFIED , 126 sy-vline COLOR 2,

127 wa_final-min_date_hr color 3 , 139 sy-vline color 2,

140 wa_final-min_hr EXPONENT 0 DECIMALS 2 LEFT-JUSTIFIED color 3 , 152 sy-vline,

153 wa_final-max_date_hr color 2 , 167 sy-vline,

168 wa_final-max_hr EXPONENT 0 DECIMALS 2 LEFT-JUSTIFIED color 2 , 180 sy-vline,

181 wa_final-t_max_min_hr EXPONENT 0 DECIMALS 2 LEFT-JUSTIFIED , 193 sy-vline COLOR 2,

194 wa_final-min_date_lit color 3 , 206 sy-vline,

207 wa_final-min_lit EXPONENT 0 DECIMALS 2 LEFT-JUSTIFIED color 3 , 219 sy-vline,

220 wa_final-max_date_lit color 2 , 232 sy-vline,

233 wa_final-max_lit EXPONENT 0 DECIMALS 2 LEFT-JUSTIFIED color 2 , 245 sy-vline,

246 wa_final-fuel_con EXPONENT 0 DECIMALS 2 LEFT-JUSTIFIED , 258 sy-vline COLOR 2,

259 wa_final-km_l EXPONENT 0 DECIMALS 2 LEFT-JUSTIFIED , 271 sy-vline,

272 wa_final-lit_per_hr EXPONENT 0 DECIMALS 2 LEFT-JUSTIFIED , 286 sy-vline.

endon.

endloop.

refresh i_final.

clear i_final.

FORM prepare_final_rec USING p_mode TYPE char1.

  • ascending ***************************

if wa_data-recdu ='KM' ." and wa_data-cancl ne 'X'.

move wa_data-idate to wa_final-min_date_km .

move wa_data-recdv to wa_final-min_km.

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.

append wa_final to i_final.

endif.

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

if wa_data-recdu ='H' .

move wa_data-equnr to wa_final-equnr.

move wa_data-eqktx to wa_final-eqktx.

move wa_data-eqfnr to wa_final-eqfnr.

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_km 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.

append wa_final to i_final.

"append wa_final to i_final.

endif.

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

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-min_km - wa_final-max_km .

wa_final-t_max_min_hr = wa_final-min_hr - wa_final-max_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