Application Development 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: 

Add a Column in Internal Table

Former Member
0 Kudos

Hi,

An Internal table having values      Man   A2     45

                                                       Man   A2     23

                                                       Man   A2     10

I want to display           Man  A2      78

Can anybody help me ?

Thanks,

Bikash.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

hi Bikash,

You can use collect statement.

for more information on collect please refer below link.

8 REPLIES 8

Former Member
0 Kudos

hi Bikash,

You can use collect statement.

for more information on collect please refer below link.

0 Kudos

Hi Abdul,

Its ok. But where to write WRITE statement to display values.

Thanks,

Bikash.

0 Kudos

you can collect into another internal table and display it.

0 Kudos

Would you please give short sample code ?

I am not getting it.

Thanks,

Bikash.

0 Kudos

please check this example

TYPES: begin of ty,

        a(10) type C,

        b(10) type c,

        c type i,

       end of ty.

DATA: WA type ty,

      itab type STANDARD TABLE OF ty,

      itab1 type STANDARD TABLE OF ty.

wa-a = 'Man'.

wa-b = 'A2'.

wa-c = 45.

APPEND wa to itab.

wa-a = 'Man'.

wa-b = 'A2'.

wa-c = 23.

APPEND wa to itab.

wa-a = 'Man'.

wa-b = 'A2'.

wa-c = 10.

APPEND wa to itab.

LOOP AT itab into wa.

collect wa into itab1.

ENDLOOP.

LOOP AT itab1 into wa.

WRITE: wa-a, wa-b, wa-c.

ENDLOOP.

0 Kudos

Hi Bikas,

Just try this:

TYPES: BEGIN OF ty_itab,

         text1 TYPE char3,

         text2 TYPE char2,

         value1 TYPE i,

       END OF ty_itab.

DATA: lt_itab1 TYPE STANDARD TABLE OF ty_itab,

      lt_itab2 TYPE STANDARD TABLE OF ty_itab,

      ls_itab1 TYPE ty_itab.

FIELD-SYMBOLS: <ls_itab1> TYPE ty_itab,

               <ls_itab2> TYPE ty_itab.

ls_itab1-text1 = 'MAN'.

ls_itab1-text2 = 'A2'.

ls_itab1-value1 = 45.

APPEND ls_itab1 TO lt_itab1.

ls_itab1-text1 = 'MAN'.

ls_itab1-text2 = 'A2'.

ls_itab1-value1 = 23.

APPEND ls_itab1 TO lt_itab1.

ls_itab1-text1 = 'MAN'.

ls_itab1-text2 = 'A2'.

ls_itab1-value1 = 10.

APPEND ls_itab1 TO lt_itab1.

LOOP AT lt_itab1 ASSIGNING <ls_itab1>.

  COLLECT <ls_itab1> INTO lt_itab2.

ENDLOOP.

LOOP AT lt_itab2 ASSIGNING <ls_itab2>.

  WRITE: 1 <ls_itab2>-text1,

               7 <ls_itab2>-text2,

              10 <ls_itab2>-value1.

ENDLOOP.

Output will be:

Regards,

Sonal Garg

former_member184158
Active Contributor
0 Kudos

you can use collect Statement

TYPES: BEGIN OF array_ty,

          a1 TYPE c LENGTH 3,

          a2 TYPE c LENGTH 2,

          a3 TYPE i,

       END OF array_ty.

DATA ls_arr TYPE array_ty.

DATA lt_arr TYPE TABLE OF array_ty.

DATA itab        TYPE HASHED TABLE OF array_ty

                                 WITH UNIQUE KEY a1 a2.

 

ls_arr-a1 = 'Man'.

ls_arr-a2 = 'A2'.

ls_arr-a3 = 45.

APPEND ls_arr TO lt_arr.

ls_arr-a1 = 'Man'.

ls_arr-a2 = 'A2'.

ls_arr-a3 = 23.

APPEND ls_arr  TO lt_arr.

ls_arr-a1 = 'Man'.

ls_arr-a2 = 'A2'.

ls_arr-a3 = 10.

APPEND ls_arr TO lt_arr.

LOOP AT lt_arr INTO ls_arr.

COLLECT ls_arr into itab.

ENDLOOP.

BREAK-POINT.

former_member184158
Active Contributor
0 Kudos

Another Example