Skip to Content
0
Former Member
Sep 20, 2005 at 01:35 PM

Dynamic Internal Table in ALV Grid???

1301 Views

My code is below. But I cann't display this dynamic internal table in ALV Grid. How can I do? Can anybody give me a code.

REPORT  ZDYNAMIC_INTERNAL             .
 
*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.