‎2007 Sep 08 12:59 PM
hi all
I am stuck with a problem here my data is in one internal table where records will be in this form for example
Name month year days
emp001 january 2007 21
emp001 february 2007 16
emp001 march 20007 22
and i have to display in the below form
Name year january february march
emp001 2007 21 16 22
while passing to the output internal table i am not getting how to keep <b>index static</b> for same user so that all month data will come in one line .
presently it's appending in new line in the internal table so i am not able to display it at one index all month data .
can anyone suggest me any way to solve this issue
Regards
Sunanda
‎2007 Sep 08 1:32 PM
Hi,
Please cut and paste this code in new report program and take help form the same for your requirement :
TYPES : BEGIN OF ty_itab,
name(20),
month(20),
year(4),
days(2),
END OF ty_itab.
TYPES : BEGIN OF ty_itab1,
name(20),
year(4),
days1(2),
days2(2),
days3(2),
days4(2),
days5(2),
days6(2),
days7(2),
days8(2),
days9(2),
days10(2),
days11(2),
days12(2),
END OF ty_itab1.
DATA : it_itab TYPE TABLE OF ty_itab.
DATA : is_itab TYPE ty_itab.
DATA : it_itab1 TYPE TABLE OF ty_itab1.
DATA : is_itab1 TYPE ty_itab1.
is_itab-name = 'emp001'.
is_itab-month = 'january'.
is_itab-year = '2007'.
is_itab-days = '21'.
append is_itab to it_itab.
is_itab-name = 'emp001'.
is_itab-month = 'february'.
is_itab-year = '2007'.
is_itab-days = '16'.
append is_itab to it_itab.
is_itab-name = 'emp001'.
is_itab-month = 'march'.
is_itab-year = '2007'.
is_itab-days = '22'.
append is_itab to it_itab.
is_itab-name = 'emp002'.
is_itab-month = 'january'.
is_itab-year = '2007'.
is_itab-days = '21'.
append is_itab to it_itab.
is_itab-name = 'emp002'.
is_itab-month = 'february'.
is_itab-year = '2007'.
is_itab-days = '16'.
append is_itab to it_itab.
is_itab-name = 'emp002'.
is_itab-month = 'march'.
is_itab-year = '2007'.
is_itab-days = '22'.
append is_itab to it_itab.
loop at it_itab into is_itab.
is_itab1-name = is_itab-name.
is_itab1-year = is_itab-year.
if sy-tabix = 1.
is_itab1-days1 = is_itab-days.
endif.
if sy-tabix = 1.
is_itab1-days1 = is_itab-days.
endif.
if sy-tabix = 2.
is_itab1-days2 = is_itab-days.
endif.
if sy-tabix = 3.
is_itab1-days3 = is_itab-days.
endif.
if sy-tabix = 4.
is_itab1-days4 = is_itab-days.
endif.
if sy-tabix = 5.
is_itab1-days5 = is_itab-days.
endif.
if sy-tabix = 6.
is_itab1-days6 = is_itab-days.
endif.
if sy-tabix = 7.
is_itab1-days7 = is_itab-days.
endif.
if sy-tabix = 8.
is_itab1-days8 = is_itab-days.
endif.
if sy-tabix = 9.
is_itab1-days9 = is_itab-days.
endif.
if sy-tabix = 10.
is_itab1-days10 = is_itab-days.
endif.
if sy-tabix = 11.
is_itab1-days11 = is_itab-days.
endif.
if sy-tabix = 12.
is_itab1-days12 = is_itab-days.
endif.
at end of name.
append is_itab1 to it_itab1.
clear is_itab1.
endat.
endloop.
loop at it_itab1 into is_itab1.
write : is_itab1-name.
write : is_itab1-year.
write : is_itab1-days1.
write : is_itab1-days2.
write : is_itab1-days3.
write : is_itab1-days4.
write : is_itab1-days5.
write : is_itab1-days6.
write : is_itab1-days7.
write : is_itab1-days8.
write : is_itab1-days9.
write : is_itab1-days10.
write : is_itab1-days11.
write : is_itab1-days12.
write : / .
endloop.
I hope, it can help you,
Reward points, if helpful,
Sandeep Kaushik
‎2007 Sep 08 1:32 PM
Hi,
Please cut and paste this code in new report program and take help form the same for your requirement :
TYPES : BEGIN OF ty_itab,
name(20),
month(20),
year(4),
days(2),
END OF ty_itab.
TYPES : BEGIN OF ty_itab1,
name(20),
year(4),
days1(2),
days2(2),
days3(2),
days4(2),
days5(2),
days6(2),
days7(2),
days8(2),
days9(2),
days10(2),
days11(2),
days12(2),
END OF ty_itab1.
DATA : it_itab TYPE TABLE OF ty_itab.
DATA : is_itab TYPE ty_itab.
DATA : it_itab1 TYPE TABLE OF ty_itab1.
DATA : is_itab1 TYPE ty_itab1.
is_itab-name = 'emp001'.
is_itab-month = 'january'.
is_itab-year = '2007'.
is_itab-days = '21'.
append is_itab to it_itab.
is_itab-name = 'emp001'.
is_itab-month = 'february'.
is_itab-year = '2007'.
is_itab-days = '16'.
append is_itab to it_itab.
is_itab-name = 'emp001'.
is_itab-month = 'march'.
is_itab-year = '2007'.
is_itab-days = '22'.
append is_itab to it_itab.
is_itab-name = 'emp002'.
is_itab-month = 'january'.
is_itab-year = '2007'.
is_itab-days = '21'.
append is_itab to it_itab.
is_itab-name = 'emp002'.
is_itab-month = 'february'.
is_itab-year = '2007'.
is_itab-days = '16'.
append is_itab to it_itab.
is_itab-name = 'emp002'.
is_itab-month = 'march'.
is_itab-year = '2007'.
is_itab-days = '22'.
append is_itab to it_itab.
loop at it_itab into is_itab.
is_itab1-name = is_itab-name.
is_itab1-year = is_itab-year.
if sy-tabix = 1.
is_itab1-days1 = is_itab-days.
endif.
if sy-tabix = 1.
is_itab1-days1 = is_itab-days.
endif.
if sy-tabix = 2.
is_itab1-days2 = is_itab-days.
endif.
if sy-tabix = 3.
is_itab1-days3 = is_itab-days.
endif.
if sy-tabix = 4.
is_itab1-days4 = is_itab-days.
endif.
if sy-tabix = 5.
is_itab1-days5 = is_itab-days.
endif.
if sy-tabix = 6.
is_itab1-days6 = is_itab-days.
endif.
if sy-tabix = 7.
is_itab1-days7 = is_itab-days.
endif.
if sy-tabix = 8.
is_itab1-days8 = is_itab-days.
endif.
if sy-tabix = 9.
is_itab1-days9 = is_itab-days.
endif.
if sy-tabix = 10.
is_itab1-days10 = is_itab-days.
endif.
if sy-tabix = 11.
is_itab1-days11 = is_itab-days.
endif.
if sy-tabix = 12.
is_itab1-days12 = is_itab-days.
endif.
at end of name.
append is_itab1 to it_itab1.
clear is_itab1.
endat.
endloop.
loop at it_itab1 into is_itab1.
write : is_itab1-name.
write : is_itab1-year.
write : is_itab1-days1.
write : is_itab1-days2.
write : is_itab1-days3.
write : is_itab1-days4.
write : is_itab1-days5.
write : is_itab1-days6.
write : is_itab1-days7.
write : is_itab1-days8.
write : is_itab1-days9.
write : is_itab1-days10.
write : is_itab1-days11.
write : is_itab1-days12.
write : / .
endloop.
I hope, it can help you,
Reward points, if helpful,
Sandeep Kaushik
‎2007 Sep 10 10:35 AM
thanks sandeep , i had applied your logic according to y requirement and my problem got solved .
thanks alot .
Regards
Sunanda