‎2007 Sep 21 8:01 AM
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 *********
‎2007 Sep 21 8:09 AM
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
‎2007 Sep 21 8:03 AM
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
‎2007 Sep 21 8:09 AM
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
‎2007 Sep 21 8:11 AM
Check this blog on internal table
/people/rich.heilman2/blog/2005/07/27/dynamic-internal-tables-and-structures--abap
Regards
Gopi