Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

linear internal table from a two - D internal table

Former Member
0 Likes
442

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
421

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

2 REPLIES 2
Read only

Former Member
0 Likes
422

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

Read only

0 Likes
421

thanks sandeep , i had applied your logic according to y requirement and my problem got solved .

thanks alot .

Regards

Sunanda