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

dynamic intrnal table

Former Member
0 Likes
443

hi all,

in my internal table data is like below

100------- A

B

C

D

200------- A

B

D

But i want to display like below

100---- A B C D

200---- A B D.

the value against 100 my be up to 4 or 10.

i.e ( A B C D) =4

( A B C D E F G H I J K) =10.

WHO TO DO IT ?

                      • Point is assured *********

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
423

Hi,

Try with this:

DATA OFF TYPE I.

DATA: BEGIN OF LINE,

COL1 TYPE I,

COL2 TYPE C,

END OF LINE.

DATA ITAB LIKE STANDARD TABLE OF LINE

WITH NON-UNIQUE KEY COL2.

LINE-COL1 = 1. LINE-COL2 = 'A'. APPEND LINE TO ITAB.

LINE-COL1 = 1. LINE-COL2 = 'A'. APPEND LINE TO ITAB.

LINE-COL1 = 1. LINE-COL2 = 'B'. APPEND LINE TO ITAB.

LINE-COL1 = 2. LINE-COL2 = 'A'. APPEND LINE TO ITAB.

LINE-COL1 = 2. LINE-COL2 = 'B'. APPEND LINE TO ITAB.

LINE-COL1 = 4. LINE-COL2 = 'B'. APPEND LINE TO ITAB.

LINE-COL1 = 5. LINE-COL2 = 'A'. APPEND LINE TO ITAB.

PERFORM LIST.

FORM LIST.

data: cl like line-col1.

SKIP TO LINE 3.

LOOP AT ITAB INTO LINE.

if cl <> line-col1.

write : / line-col1.

else.

write : ''.

endif.

write : line-col2.

cl = line-col1.

ENDLOOP.

ENDFORM.

Regards,

Bhaskar

3 REPLIES 3
Read only

hymavathi_oruganti
Active Contributor
0 Likes
423

iam sending u exmaple,

first while building fieldcat, u give the name of the field (column ) as the value of the internal table.

example:

loop at it_models.

LS_LVCFIELDCAT-FIELDNAME = IT_models-MODELS.

LS_LVCFIELDCAT-SELTEXT = IT_models-MODELS.

LS_LVCFIELDCAT-COLTEXT = IT_models-MODELS.

LS_LVCFIELDCAT-outputlen = 8.

LS_LVCFIELDCAT-SP_GROUP = 'A'.

APPEND LS_LVCFIELDCAT TO LT_LVCFIELDCAT.

CLEAR:LS_LVCFIELDCAT.

ENDLOOP.

declare variables

DATA: DREF TYPE REF TO DATA,WA_REF TYPE REF TO DATA.

FIELD-SYMBOLS: <TEMP_TAB> TYPE TABLE, <TEMP_WA> TYPE ANY.

use the following method.

CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE

EXPORTING

IT_FIELDCATALOG = LT_LVCFIELDCAT

IMPORTING

EP_TABLE = DREF.

ASSIGN dref->* TO <TEMP_TAB>.

now u need to fill the <temp_tab>

example:

FORM FILL_DYN_TAB .

CREATE DATA WA_REF LIKE LINE OF <TEMP_TAB>.

ASSIGN WA_REF->* TO <TEMP_WA>.

LOOP AT IT_ITAB.

MOVE-CORRESPONDING IT_ITAB TO <TEMP_WA>.

APPEND <TEMP_WA> TO <TEMP_TAB>.

CLEAR IT_ITAB.

ENDLOOP.

ENDFORM. " FILL_DYN_TAB

Read only

Former Member
0 Likes
424

Hi,

Try with this:

DATA OFF TYPE I.

DATA: BEGIN OF LINE,

COL1 TYPE I,

COL2 TYPE C,

END OF LINE.

DATA ITAB LIKE STANDARD TABLE OF LINE

WITH NON-UNIQUE KEY COL2.

LINE-COL1 = 1. LINE-COL2 = 'A'. APPEND LINE TO ITAB.

LINE-COL1 = 1. LINE-COL2 = 'A'. APPEND LINE TO ITAB.

LINE-COL1 = 1. LINE-COL2 = 'B'. APPEND LINE TO ITAB.

LINE-COL1 = 2. LINE-COL2 = 'A'. APPEND LINE TO ITAB.

LINE-COL1 = 2. LINE-COL2 = 'B'. APPEND LINE TO ITAB.

LINE-COL1 = 4. LINE-COL2 = 'B'. APPEND LINE TO ITAB.

LINE-COL1 = 5. LINE-COL2 = 'A'. APPEND LINE TO ITAB.

PERFORM LIST.

FORM LIST.

data: cl like line-col1.

SKIP TO LINE 3.

LOOP AT ITAB INTO LINE.

if cl <> line-col1.

write : / line-col1.

else.

write : ''.

endif.

write : line-col2.

cl = line-col1.

ENDLOOP.

ENDFORM.

Regards,

Bhaskar

Read only

gopi_narendra
Active Contributor
0 Likes
423

Check this blog on internal table

/people/rich.heilman2/blog/2005/07/27/dynamic-internal-tables-and-structures--abap

Regards

Gopi