cancel
Showing results for 
Search instead for 
Did you mean: 

Dynamic ALV

Former Member
0 Kudos

Can anybody help me in making a simple dynamic alv, with code?

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

Find th sample code below should help you sove your problem.

type-pools: slis.

field-symbols: <dyn_table> type standard table,
<dyn_wa>.

data: alv_fldcat type slis_t_fieldcat_alv,
it_fldcat type lvc_t_fcat.

selection-screen begin of block b1 with frame title text-001.
parameters: p_flds(5) type c.
selection-screen end of block b1.

start-of-selection.


*build the dynamic internal table
perform build_dyn_itab.


*write 5 records to the alv grid
do 5 times.
perform build_report.
enddo.


*call the alv grid.
perform call_alv.

************************************************************************


*Build_dyn_itab
************************************************************************
form build_dyn_itab.

data: new_table type ref to data,
new_line type ref to data,
wa_it_fldcat type lvc_s_fcat.


*Create fields .
clear wa_it_fldcat.
wa_it_fldcat-fieldname = 'name1'.
wa_it_fldcat-datatype = 'mara-matnr'.
wa_it_fldcat-intlen = 5.
append wa_it_fldcat to it_fldcat .
*
*clear wa_it_fldcat.

wa_it_fldcat-fieldname = sy-index.
wa_it_fldcat-datatype = 'CHAR'.
wa_it_fldcat-intlen = 5.
append wa_it_fldcat to it_fldcat .
*

do p_flds times.
clear wa_it_fldcat.
wa_it_fldcat-fieldname = sy-index.
wa_it_fldcat-datatype = 'CHAR'.
wa_it_fldcat-intlen = 6.
append wa_it_fldcat to it_fldcat .
enddo.


*Create dynamic internal table and assign to FS
call method cl_alv_table_create=>create_dynamic_table
exporting
it_fieldcatalog = it_fldcat
importing
ep_table = new_table.

assign new_table->* to <dyn_table>.


*Create dynamic work area and assign to FS
create data new_line like line of <dyn_table>.
assign new_line->* to <dyn_wa>.

endform.

*********************************************************************
*Form build_report
*********************************************************************

form build_report.

data: fieldname(20) type c.
data: fieldvalue(5) type c.
data: index(3) type c.
field-symbols: <fs1>.

do p_flds times.

index = sy-index.


*Set up fieldvalue
concatenate 'FLD' index into
fieldvalue.
condense fieldvalue no-gaps.

assign component index of structure <dyn_wa> to <fs1>.
<fs1> = fieldvalue.

enddo.


*Append to the dynamic internal table
append <dyn_wa> to <dyn_table>.

endform.

************************************************************************
*CALL_ALV
************************************************************************
form call_alv.

data: wa_cat like line of alv_fldcat.


do p_flds times.
clear wa_cat.
wa_cat-fieldname = sy-index.
wa_cat-seltext_s = sy-index.
wa_cat-outputlen = '6'.
append wa_cat to alv_fldcat.
enddo.


*Call ABAP List Viewer (ALV)
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
it_fieldcat = alv_fldcat
tables
t_outtab = <dyn_table>.

endform.

Also check the link below.

Cheers,

Murthy.

Former Member
0 Kudos

Hi Gorika,

please check this link

Regards,

Anirban