‎2007 Jul 05 8:25 AM
Hi Guys/Gals,
There is an urgent need to create dynamic table control...
Can anyone help me out???
Regards
Jiku
‎2007 Jul 05 8:30 AM
Hi,
go through the following example--
*Data definitions
Tables
DATA: LT_DATA type ref to DATA.
DATA: LT_FIELDCATALOG type LVC_T_FCAT.
Structure
DATA: LS_FIELDCATALOG type LVC_S_FCAT.
Data References
DATA: NEW_LINE type ref to data,
FS_DATA type ref to data.
Field Symbols
FIELD-SYMBOLS: <FS_DATA> type ref to DATA,
<FS_1> type any table,
<FS_2>,
<FS_3>.
*Populating the internal table with fieldnames required for our dynamic
*internal table
LS_FIELDCATALOG-FIELDNAME = 'MANDT'.
append LS_FIELDCATALOG to LT_FIELDCATALOG.
LS_FIELDCATALOG-FIELDNAME = 'CARRID'. "Fieldname
LS_FIELDCATALOG-INTTYPE = 'C'. "Internal Type C-> Character
append LS_FIELDCATALOG to LT_FIELDCATALOG.
LS_FIELDCATALOG-FIELDNAME = 'CONNID'.
LS_FIELDCATALOG-INTTYPE = 'N'.
append LS_FIELDCATALOG to LT_FIELDCATALOG.
LS_FIELDCATALOG-FIELDNAME = 'FLDATE'.
LS_FIELDCATALOG-INTTYPE = 'D'.
append LS_FIELDCATALOG to LT_FIELDCATALOG.
LS_FIELDCATALOG-FIELDNAME = 'PRICE'.
LS_FIELDCATALOG-INTTYPE = 'P'.
append LS_FIELDCATALOG to LT_FIELDCATALOG.
LS_FIELDCATALOG-FIELDNAME = 'CURRENCY'.
LS_FIELDCATALOG-INTTYPE = 'C'.
append LS_FIELDCATALOG to LT_FIELDCATALOG.
*Calling the method CREATE_DYNAMIC_TABLE
call method cl_alv_table_create=>create_dynamic_table
exporting
it_fieldcatalog = LT_FIELDCATALOG
importing
ep_table = FS_DATA
exceptions
generate_subpool_dir_full = 1
others = 2
.
if sy-subrc <> 0.
endif.
*Assigning Field-Symbol to our dynamic internal table
assign LT_DATA to <FS_DATA>.
*Internal Table is ready, now to put data in that table
So <FS_1> now points to our dynamic internal table.
assign FS_DATA->* to <FS_1>.
Next step is to create a work area for our dynamic internal table.
create data NEW_LINE like line of <FS_1>.
A field-symbol to access that work area
assign NEW_LINE->* to <FS_2>.
And to put the data in the internal table
select
MANDT
CARRID
CONNID
FLDATE
PRICE
CURRENCY
from SFLIGHT
into corresponding fields of table <FS_1>.
Access contents of internal table
loop at <FS_1> assigning <FS_2>.
do 5 times.
assign component sy-index of structure <FS_2> to <FS_3>.
write: <FS_3>.
enddo.
skip 1.
endloop.
****do rewards if usefull
vijay
‎2007 Jul 05 8:30 AM
Hi,
go through the following example--
*Data definitions
Tables
DATA: LT_DATA type ref to DATA.
DATA: LT_FIELDCATALOG type LVC_T_FCAT.
Structure
DATA: LS_FIELDCATALOG type LVC_S_FCAT.
Data References
DATA: NEW_LINE type ref to data,
FS_DATA type ref to data.
Field Symbols
FIELD-SYMBOLS: <FS_DATA> type ref to DATA,
<FS_1> type any table,
<FS_2>,
<FS_3>.
*Populating the internal table with fieldnames required for our dynamic
*internal table
LS_FIELDCATALOG-FIELDNAME = 'MANDT'.
append LS_FIELDCATALOG to LT_FIELDCATALOG.
LS_FIELDCATALOG-FIELDNAME = 'CARRID'. "Fieldname
LS_FIELDCATALOG-INTTYPE = 'C'. "Internal Type C-> Character
append LS_FIELDCATALOG to LT_FIELDCATALOG.
LS_FIELDCATALOG-FIELDNAME = 'CONNID'.
LS_FIELDCATALOG-INTTYPE = 'N'.
append LS_FIELDCATALOG to LT_FIELDCATALOG.
LS_FIELDCATALOG-FIELDNAME = 'FLDATE'.
LS_FIELDCATALOG-INTTYPE = 'D'.
append LS_FIELDCATALOG to LT_FIELDCATALOG.
LS_FIELDCATALOG-FIELDNAME = 'PRICE'.
LS_FIELDCATALOG-INTTYPE = 'P'.
append LS_FIELDCATALOG to LT_FIELDCATALOG.
LS_FIELDCATALOG-FIELDNAME = 'CURRENCY'.
LS_FIELDCATALOG-INTTYPE = 'C'.
append LS_FIELDCATALOG to LT_FIELDCATALOG.
*Calling the method CREATE_DYNAMIC_TABLE
call method cl_alv_table_create=>create_dynamic_table
exporting
it_fieldcatalog = LT_FIELDCATALOG
importing
ep_table = FS_DATA
exceptions
generate_subpool_dir_full = 1
others = 2
.
if sy-subrc <> 0.
endif.
*Assigning Field-Symbol to our dynamic internal table
assign LT_DATA to <FS_DATA>.
*Internal Table is ready, now to put data in that table
So <FS_1> now points to our dynamic internal table.
assign FS_DATA->* to <FS_1>.
Next step is to create a work area for our dynamic internal table.
create data NEW_LINE like line of <FS_1>.
A field-symbol to access that work area
assign NEW_LINE->* to <FS_2>.
And to put the data in the internal table
select
MANDT
CARRID
CONNID
FLDATE
PRICE
CURRENCY
from SFLIGHT
into corresponding fields of table <FS_1>.
Access contents of internal table
loop at <FS_1> assigning <FS_2>.
do 5 times.
assign component sy-index of structure <FS_2> to <FS_3>.
write: <FS_3>.
enddo.
skip 1.
endloop.
****do rewards if usefull
vijay
‎2007 Jul 05 8:33 AM
Dear Vijay
Thanks....I want to create DYNAMIC TABLE CONTROL, NOT dynamic Table creation...
Regards
Jiku
‎2007 Jul 05 8:36 AM
Hi,
creating dynamic table control is not possible.so in this case u have to create a table control and make the non required fields invisible(hide),visible,editable and non editable. according to ur requirement.
rgds,
bharat.
‎2007 Jul 05 8:45 AM
Nobody is there to help out...
Immediate points will be offered for answers.........