04-02-2008 1:41 PM
Dear All,
I need to retrieve the values stored in the ALV layout list variant. Please help me if you have functionmodule or table to retrieve values.
Thanks and Regards
Jaiganesh
04-02-2008 1:51 PM
Hi,
Variants are used to save the data and retrieve the same when required. This is an option used in ALV.
SAP provides standard interfaces for initializing and retrieving the display variant information. This includes three function modules and four subroutines.
1. REUSE_ALV_VARIANT_DEFAULT_GET.
This FM is used to get the default variant for the report if it has been set.
EXPORTING
I_SAVE : Controls the storage mode. Allowed values are :
A : Standard and user specific variants
U : User specific variants
X : Standard Variants
CHANGING
CS_VARIANT : Gets the default variant in a structure like DISVARIANT.
2. REUSE_ALV_VARIANT_F4
This FM is used to get the possible values of the variants on the selection screen.
EXPORTING
IS_VARIANT : Structure of this parameter is like DISVARIANT. Pass the program name through this.
I_SAVE : Controls type of variant to be displayed in value help. Allowed values are
A Standard and user specific variants
U User specific variants
X Standard Variants
IMPORTING
E_EXIT : If this parameter is blank then user has selected some variant.
ES_VARIANT :
Selected variant is populated in this work area. Its of structure like DISVARIANT.
3.REUSE_ALV_VARIANT_EXISTENCE
This FM is used to check existence of a
display variant.
EXPORTING
I_SAVE : Type of variant. Allowed values are
A Standard and user specific variants
U User specific variants
X Standard Variants
CHANGING
CS_VARIANT : Pass on variant details. The structure of this field is like DISVARIANT.
 DATA AREAS TO BE DECLARED FOR VARIANTS :
Data, which will be, used by the standard function modules in ALV for variants. A sample data deceleration is as mentioned below.
DATA: WS_X_VARIANT LIKE DISVARIANT,
WS_VARIANT LIKE DISVARIANT,
WS_SAVE TYPE C,
WS_EXIT TYPE C,
WS_REPID LIKE SY-REPID.
REUSE_ALV_VARIANT_DEFAULT_GET
____________________________________________________
Text
Read default layout (description only, w/o field catalog)
Functionality
Provides the default variant for the list specified in the structure
parameter CS_VARIANT of a program.
REUSE_ALV_VARIANT_F4
____________________________________________________
Text
Display variant selection dialog box
Functionality
Possible entries help, if the variant is defined explicitly as an input
field on a screen. The selection must be specified by at least partially
filling the parameter structure IS_VARIANT.
REUSE_ALV_VARIANT_EXISTENCE
____________________________________________________
Text
Checks whether a display variant exists
CS_VARIENTS holds the information about varients like:
ABAP Program Name
Mgt. ID for repeated calls from the same program
Logical group name
User name for user-specific storage
Layout
Description for layout
Dependent variant entry vector
Functionality
This function module checks the existence in the database of a display
variant passed in the interface.
check this example in the below link
http://www.sap-img.com/abap/use-simple-alv-functions-to-make-reporting-easy.htm
Regards,
reward if help ful
04-02-2008 1:56 PM
04-02-2008 1:59 PM
Hi,
Check the following code.
************************************************************************
TABLES
************************************************************************
TABLES:vbak,
vbap,
vbpa.
TYPE-POOLS : slis.
************************************************************************
GLOBAL TYPES
naming convention: "TY_name"
************************************************************************
TYPES : BEGIN OF ty_vbak ,
vbeln TYPE vbak-vbeln ,
vkorg TYPE vbak-vkorg ,
vtweg TYPE vbak-vtweg ,
vkgrp TYPE vbak-vkgrp ,
kunrsl TYPE vbak-kunnr ,
END OF ty_vbak .
TYPES: BEGIN OF ty_vbap ,
vbeln TYPE vbap-vbeln ,
posnr TYPE vbap-posnr ,
matnr TYPE vbap-matnr ,
matkl TYPE vbap-matkl ,
kwmeng TYPE vbap-kwmeng,
vrkme TYPE vbap-vrkme , "order unit
zmeng TYPE vbap-zmeng ,
zieme TYPE vbap-zieme , "order unit
END OF ty_vbap .
TYPES:BEGIN OF ty_vbuk ,
vbeln TYPE vbuk-vbeln,
END OF ty_vbuk .
TYPES:BEGIN OF ty_vbpa ,
vbeln TYPE vbpa-vbeln,
kunrsh TYPE kunnr ,
END OF ty_vbpa .
TYPES:BEGIN OF ty_makt ,
matnr TYPE matnr,
maktx TYPE maktx,
END OF ty_makt.
TYPES:BEGIN OF ty_t023t,
matkl TYPE matkl,
wgbez TYPE wgbez,
END OF ty_t023t.
TYPES:BEGIN OF ty_kna1 ,
kunnr TYPE kunnr ,
name1 TYPE name1_gp,
END OF ty_kna1.
TYPES:BEGIN OF ty_final ,
vbeln TYPE vbak-vbeln ,
vkorg TYPE vbak-vkorg ,
vtweg TYPE vbak-vtweg ,
vkgrp TYPE vbak-vkgrp ,
kunrsl TYPE vbak-kunnr ,
name1 TYPE name1_gp ,
matnr TYPE vbap-matnr ,
maktx TYPE maktx ,
matkl TYPE vbap-matkl ,
wgbez TYPE wgbez ,
kwmeng TYPE vbap-kwmeng ,
vrkme TYPE vbap-vrkme , "order unit
zmenge TYPE vbap-kwmeng ,
zmein TYPE vbap-meins ,
kunrsh TYPE kunnr ,
name2 TYPE name1_gp ,
END OF ty_final .
************************************************************************
GLOBAL CONSTANTS
naming convention: "c_name"
************************************************************************
CONSTANTS: c_sh TYPE vbpa-parvw VALUE 'WE' ,
c_formname_top_of_page TYPE slis_formname VALUE 'F_DISPLAY_TOP_OF_PAGE',
c_en(2) TYPE c VALUE 'EN' ,
c_a TYPE char1 VALUE 'A' .
************************************************************************
GLOBAL ELEMENTARY VARIABLES
naming convention: "w_name"
************************************************************************
DATA :w_list_top_of_page TYPE slis_t_listheader,
w_kwmeng TYPE vbap-kwmeng ,
w_meins TYPE t006-msehi ,
w_zmein TYPE t006-msehi ,
w_repid TYPE sy-repid ,
w_zmenge TYPE vbap-kwmeng ,
w_events TYPE slis_t_event ,
w_datum TYPE sy-datum ,
w_umrez1 TYPE marm-umrez ,
w_umren1 TYPE marm-umren ,
w_umrez2 TYPE marm-umrez ,
w_umren2 TYPE marm-umren ,
w_text(25) TYPE c .
************************************************************************
GLOBAL STRUCTURES
naming convention: "st_name"
************************************************************************
DATA:st_vbak TYPE ty_vbak ,
st_vbap TYPE ty_vbap ,
st_vbpa TYPE ty_vbpa ,
st_makt TYPE ty_makt ,
st_t023t TYPE ty_t023t ,
st_knasl TYPE ty_kna1 ,
st_knash TYPE ty_kna1 ,
st_final TYPE ty_final .
DATA:st_fieldcat TYPE slis_fieldcat_alv ,
st_layout TYPE slis_layout_alv .
************************************************************************
GLOBAL INTERNAL TABLES
naming convention: "i_name"
************************************************************************
DATA:i_vbak TYPE TABLE OF ty_vbak ,
i_vbap TYPE TABLE OF ty_vbap ,
i_vbuk TYPE TABLE OF ty_vbuk ,
i_vbpa TYPE TABLE OF ty_vbpa ,
i_makt TYPE TABLE OF ty_makt ,
i_t023t TYPE TABLE OF ty_t023t ,
i_knasl TYPE TABLE OF ty_kna1 ,
i_knash TYPE TABLE OF ty_kna1 ,
i_final TYPE TABLE OF ty_final .
DATA:i_fieldcat TYPE slis_t_fieldcat_alv ,
i_variant TYPE disvariant .
DEFINE m_fieldcat.
add 1 to st_fieldcat-col_pos.
st_fieldcat-fieldname = &1.
st_fieldcat-ref_tabname = &2.
st_fieldcat-seltext_s = &3.
st_fieldcat-seltext_l = &4.
st_fieldcat-datatype = &5.
append st_fieldcat to i_fieldcat.
END-OF-DEFINITION.
************************************************************************
PARAMETERS & SELECT-OPTIONS
aming convention: "p_name" & "s_name"
************************************************************************
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_vkorg FOR vbak-vkorg OBLIGATORY,
s_vtweg FOR vbak-vtweg OBLIGATORY,
s_kunrsl FOR vbak-kunnr ,
s_kunrsh FOR vbpa-kunnr ,
s_matnr FOR vbap-matnr ,
s_datum FOR sy-datum OBLIGATORY DEFAULT sy-datum.
PARAMETERS: p_meins TYPE vbap-meins.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b5 WITH FRAME TITLE text-002.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) text-006 FOR FIELD p_var.
PARAMETERS: p_var TYPE disvariant-variant.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b5.
----
INITIALIZATION
----
INITIALIZATION.
Report id assigned to Global variable
w_repid = sy-repid.
EVENTS TABLE BUILD
PERFORM f_eventtab_build USING w_events[].
Processing of listheader
PERFORM f_comment_build USING w_list_top_of_page[].
CLEAR i_variant.
i_variant-report = sy-repid.
Read default display variant (description only, w/o field catalog)
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = c_a
CHANGING
cs_variant = i_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc EQ 0.
p_var = i_variant-variant.
ENDIF.
----
AT SELECTION-SCREEN ON VALUE-REQUEST
----
F4 for Layout Variant
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_var.
PERFORM f_get_alv_variant CHANGING p_var.
----
AT SELECTION-SCREEN ON
----
Validate Layout Variant
AT SELECTION-SCREEN ON p_var.
IF NOT p_var IS INITIAL.
PERFORM f_check_alv_variant USING p_var.
ENDIF.
************************************************************************
START-OF-SELECTION
************************************************************************
START-OF-SELECTION.
*perform to fetch the data from vbak.
PERFORM f_fetch_vbak.
*perform to fetch the data from vbuk.
PERFORM f_fetch_vbuk.
*perform to fetch the data from vbpa.
PERFORM f_fetch_vbpa.
*perform to fetch the data from vbap.
PERFORM f_fetch_vbap.
*perform to fetch the material description.
PERFORM f_fetch_makt.
*perform to fetch the material group description.
PERFORM f_fetch_t023t.
*perform to fetch the customer name
PERFORM f_fetch_knasl.
*perform to fetch the customer name
PERFORM f_fetch_knash.
*perofrm to move the data into final table
PERFORM f_move_final.
Finding no of entries in Internal Table
IF LINES( i_final ) EQ 0.
MESSAGE s000 WITH 'No documents found for the selection criteria'(019).
EXIT.
ENDIF.
*perform for fieldcatalog building
PERFORM f_build_fieldcat.
*perform to display the list
PERFORM f_list_dispaly.
&----
*& Form sub_get_alv_variant
&----
To display variant selection dialog box
----
FORM f_get_alv_variant CHANGING p_layvar TYPE disvariant-variant.
CLEAR i_variant.
DATA lw_exit(1) TYPE c.
i_variant-report = sy-repid.
i_variant-username = sy-uname.
Display variant selection dialog box
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = i_variant
i_save = c_a
IMPORTING
e_exit = lw_exit
es_variant = i_variant
EXCEPTIONS
not_found = 1
program_error = 2
OTHERS = 3.
IF sy-subrc EQ 0.
IF lw_exit IS INITIAL.
p_layvar = i_variant-variant.
ENDIF.
ELSE.
MESSAGE i000 WITH 'No display variants found'(007).
ENDIF.
ENDFORM. " sub_get_alv_variant
&----
*& Form sub_check_alv_variant
&----
to check whether a display variant exists
----
FORM f_check_alv_variant USING p_layvar TYPE disvariant-variant.
CLEAR i_variant.
i_variant-report = sy-repid.
i_variant-username = sy-uname.
IF p_layvar NE space.
MOVE p_layvar TO i_variant-variant.
Checks whether a display variant exists
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
i_save = c_a
CHANGING
cs_variant = i_variant.
ENDIF.
ENDFORM. "f_check_alv_variant
" sub_check_alv_variant
&----
*& Form f_fetch_vbak
&----
from to fetch sales org, dis chanel,sales group sold to party from vbak
----
FORM f_fetch_vbak .
SELECT vbeln
vkorg
vtweg
vkgrp
kunnr
FROM vbak
INTO TABLE i_vbak
WHERE vkorg IN s_vkorg
AND vtweg IN s_vtweg
AND kunnr IN s_kunrsl
AND audat IN s_datum.
IF sy-subrc EQ 0.
SORT i_vbak BY vbeln.
ENDIF.
ENDFORM. " f_fetch_vbak
&----
*& Form f_fetch_vbuk
&----
from to fetch open sales doc from vbuk
----
FORM f_fetch_vbuk .
IF i_vbak IS NOT INITIAL.
SELECT vbeln
FROM vbuk
INTO TABLE i_vbuk
FOR ALL ENTRIES IN i_vbak
WHERE vbeln EQ i_vbak-vbeln
AND lfstk NE 'C'
AND fkstk NE 'C'.
ENDIF.
ENDFORM. " f_fetch_vbuk
&----
*& Form f_fetch_vbpa
&----
from to fetch ship to party from vbpa
----
FORM f_fetch_vbpa .
IF i_vbuk IS NOT INITIAL.
SELECT vbeln
kunnr
FROM vbpa
INTO TABLE i_vbpa
FOR ALL ENTRIES IN i_vbuk
WHERE vbeln EQ i_vbuk-vbeln
AND kunnr IN s_kunrsh
AND parvw EQ c_sh.
ENDIF.
ENDFORM. " f_fetch_vbpa
&----
*& Form f_fetch_vbap
&----
from to fetch sales doc, mat no, mat group,order UOM from vbap
----
FORM f_fetch_vbap .
IF i_vbpa IS NOT INITIAL.
SELECT
vbeln
posnr
matnr
matkl
kwmeng
vrkme
zmeng
zieme
FROM vbap
INTO TABLE i_vbap
FOR ALL ENTRIES IN i_vbpa
WHERE vbeln EQ i_vbpa-vbeln
AND matnr IN s_matnr.
ENDIF.
ENDFORM. " f_fetch_vbap
&----
*& Form f_fetch_makt
&----
form to fetch the material description
----
FORM f_fetch_makt .
IF i_vbap IS NOT INITIAL.
SELECT
matnr
maktx
FROM makt
INTO TABLE i_makt
FOR ALL ENTRIES IN i_vbap
WHERE matnr EQ i_vbap-matnr
AND spras EQ c_en.
ENDIF.
ENDFORM. " f_fetch_makt
&----
*& Form f_fetch_t023t
&----
form to fetch the material group description
----
FORM f_fetch_t023t .
IF i_vbap IS NOT INITIAL.
SELECT
matkl
wgbez
FROM t023t
INTO TABLE i_t023t
FOR ALL ENTRIES IN i_vbap
WHERE spras EQ c_en
AND matkl EQ i_vbap-matkl.
ENDIF.
ENDFORM. " f_fetch_t023t
&----
*& Form f_fetch_kna1
&----
form to fetch the sold to customer name
----
FORM f_fetch_knasl .
IF i_vbak IS NOT INITIAL.
SELECT
kunnr
name1
FROM kna1
INTO TABLE i_knasl
FOR ALL ENTRIES IN i_vbak
WHERE kunnr EQ i_vbak-kunrsl.
ENDIF.
ENDFORM. " f_fetch_kna1
&----
*& Form f_fetch_knash
&----
form to fetch the ship to customer name
----
FORM f_fetch_knash .
IF i_vbpa IS NOT INITIAL.
SELECT
kunnr
name1
FROM kna1
INTO TABLE i_knash
FOR ALL ENTRIES IN i_vbpa
WHERE kunnr EQ i_vbpa-kunrsh.
ENDIF.
ENDFORM. " f_fetch_knash
&----
*& Form f_move_final
&----
form for moving all the fields into the final internal table for
*dispalying the final output.
----
FORM f_move_final .
SORT : i_vbak BY vbeln,
i_vbpa BY vbeln,
i_makt BY matnr,
i_t023t BY matkl,
i_knasl BY kunnr,
i_knash BY kunnr.
*looping at i_vbap and moving mat no,mat group,quantity and
*UOM into final table.
LOOP AT i_vbap INTO st_vbap.
IF st_vbap-kwmeng IS INITIAL.
st_vbap-kwmeng = st_vbap-zmeng.
st_vbap-vrkme = st_vbap-zieme.
ENDIF.
MOVE: st_vbap-matnr TO st_final-matnr,
st_vbap-matkl TO st_final-matkl,
st_vbap-kwmeng TO st_final-kwmeng,
st_vbap-vrkme TO st_final-vrkme.
IF p_meins IS INITIAL.
MOVE:st_vbap-vrkme TO st_final-zmein ,
st_vbap-kwmeng TO st_final-zmenge.
ELSE.
CLEAR : w_kwmeng,
w_meins,
w_zmein.
*Order Quantity
w_kwmeng = st_vbap-kwmeng.
*Order Unit
w_meins = st_vbap-vrkme.
*Report Unit
w_zmein = p_meins.
CLEAR : w_umrez1,
w_umren1,
w_umrez2,
w_umren2.
SELECT SINGLE umrez
umren
INTO (w_umrez1,
w_umren1)
FROM marm
WHERE matnr EQ st_vbap-matnr
AND meinh EQ w_meins.
SELECT SINGLE umrez
umren
INTO (w_umrez2,
w_umren2)
FROM marm
WHERE matnr EQ st_vbap-matnr
AND meinh EQ w_zmein.
IF w_umrez1 IS NOT INITIAL AND w_umren2 IS NOT INITIAL.
w_zmenge = w_kwmeng * ( w_umren1 / w_umrez1 ) * ( w_umrez2 / w_umren2 ).
update new report unit and quantity
MOVE p_meins TO st_final-zmein.
MOVE w_zmenge TO st_final-zmenge.
ELSE.
if failed to convert update report unit and quantity with order values
MOVE st_vbap-vrkme TO st_final-zmein.
MOVE st_vbap-kwmeng TO st_final-zmenge.
ENDIF.
ENDIF.
*reading i_vbak and moving sales doc,sales org,dist chanel,
*sales group,and sold to party into the final internal table
CLEAR st_vbak.
READ TABLE i_vbak
INTO st_vbak
WITH KEY vbeln = st_vbap-vbeln
BINARY SEARCH.
IF sy-subrc EQ 0.
MOVE: st_vbak-vbeln TO st_final-vbeln ,
st_vbak-vkorg TO st_final-vkorg ,
st_vbak-vtweg TO st_final-vtweg ,
st_vbak-vkgrp TO st_final-vkgrp ,
st_vbak-kunrsl TO st_final-kunrsl.
ENDIF.
*reading i_vbpa and moving ship to party to the final internal table
CLEAR st_vbpa.
READ TABLE i_vbpa
INTO st_vbpa
WITH KEY vbeln = st_vbap-vbeln
BINARY SEARCH.
IF sy-subrc EQ 0.
MOVE st_vbpa-kunrsh TO st_final-kunrsh.
ENDIF.
*reading i_makt and moving material description to the final table
CLEAR st_makt.
READ TABLE i_makt
INTO st_makt
WITH KEY matnr = st_vbap-matnr
BINARY SEARCH.
IF sy-subrc EQ 0.
MOVE st_makt-maktx TO st_final-maktx.
ENDIF.
*reading i_t023t
CLEAR st_t023t.
READ TABLE i_t023t
INTO st_t023t
WITH KEY matkl = st_vbap-matkl
BINARY SEARCH.
IF sy-subrc EQ 0.
MOVE st_t023t-wgbez TO st_final-wgbez.
ENDIF.
*READINGI_KNASL
CLEAR st_knasl.
READ TABLE i_knasl
INTO st_knasl
WITH KEY kunnr = st_final-kunrsl
BINARY SEARCH.
IF sy-subrc EQ 0.
MOVE st_knasl-name1 TO st_final-name1.
ENDIF.
*READINGI_KNASH
CLEAR st_knash.
READ TABLE i_knash
INTO st_knash
WITH KEY kunnr = st_final-kunrsh
BINARY SEARCH.
IF sy-subrc EQ 0.
MOVE st_knash-name1 TO st_final-name2.
ENDIF.
APPEND st_final TO i_final.
CLEAR st_final.
ENDLOOP.
ENDFORM. " f_move_final
&----
*& Form f_build_fieldcat
&----
form for building the field catalog
----
FORM f_build_fieldcat .
m_fieldcat 'VKORG' 'VBAK' 'Sales Organisation'(004) 'Sales Organisation'(004) ' '.
m_fieldcat 'VTWEG' 'VBAK' 'Distribution Channel'(005) 'Distribution Channel'(005) ' '.
m_fieldcat 'VKGRP' 'VBAK' 'Sales Group'(008) 'Sales Group'(008) ' '.
m_fieldcat 'VBELN' 'VBAK' 'Sales Documnet'(009) 'Sales Documnet'(009) ' '.
m_fieldcat 'KUNRSL' 'VBAK' 'Sold to Party'(010) 'Sold to Party'(010) ' '.
m_fieldcat 'NAME1' 'KNA1' 'Name Sold to'(020) 'Name Sold to'(020) ' '.
m_fieldcat 'KUNRSH' 'VBPA' 'Ship to Party'(011) 'Ship to Party'(011) ' '.
m_fieldcat 'NAME2' 'KNA1' 'Name Ship to'(022) 'Name Ship to'(022) ' '.
m_fieldcat 'KWMENG' 'VBAP' 'Order Quantity'(012) 'Order Quantity'(012) 'QUAN '(014).
m_fieldcat 'VRKME' 'VBAP' 'Order UOM'(017) 'Order UOM'(017) ' '.
m_fieldcat 'ZMENGE' 'VBAP' 'Report Quantity'(013) 'Report Quantity'(013) 'QUAN '(014).
m_fieldcat 'ZMEIN' 'VBAP' 'Report UOM'(018) 'Report UOM'(018) ' '.
m_fieldcat 'MATKL' 'VBAP' 'Material Group Description'(023) 'Material Group Description'(023) ' '.
m_fieldcat 'WGBEZ' 'T023T' 'Material Group'(015) 'Material Group'(015) ' '.
m_fieldcat 'MATNR' 'VBAP' 'Material Number'(016) 'Material Number'(016) ' '.
m_fieldcat 'MAKTX' 'MAKT' 'Materia Description'(024) 'Material Description'(025) ' '.
ENDFORM. " f_build_fieldcat
&----
*& Form f_list_dispaly
&----
form for displaying the final output in the Alv grid
----
FORM f_list_dispaly .
st_layout-cell_merge = 'X'.
st_layout-colwidth_optimize = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_buffer_active = 'X'
i_callback_program = w_repid
is_layout = st_layout
it_fieldcat = i_fieldcat[]
i_save = 'A'
is_variant = i_variant
it_events = w_events[]
TABLES
t_outtab = i_final.
ENDFORM. " f_list_dispaly
" f_EVENTTAB_BUILD
----
FORM F_DISPLAY_TOP_OF_PAGE *
----
*form for providing the report heading *
event TOP_OF_PAGE *
----
FORM f_display_top_of_page. "#EC CALLED
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = w_list_top_of_page.
ENDFORM. "DISPLAY_TOP_OF_PAGE
&----
*& Form f_EVENTTAB_BUILD
&----
Ereignistabelle Bilden
EVENTS TABLE BUILD
----
-->U_ER_EVENTS[] text
----
FORM f_eventtab_build USING p_u_er_events TYPE slis_t_event.
FIELD-SYMBOLS: <fs_event> TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = p_u_er_events.
READ TABLE p_u_er_events WITH KEY name = slis_ev_top_of_page
ASSIGNING <fs_event>.
IF sy-subrc = 0.
<fs_event>-form = c_formname_top_of_page.
ENDIF.
ENDFORM. " f_EVENTTAB_BUILD
&----
*& Form F_COMMENT_BUILD
&----
Bearbeitung des Listenkopfes
Processing of listheader
----
-->U_ER_LIST_TOP_OF_PAGE[] text
----
FORM f_comment_build USING u_er_list_top_of_page TYPE slis_t_listheader.
DATA: lw_line TYPE slis_listheader.
Type H
CLEAR lw_line.
lw_line-typ = 'H'.
Daily Historical Volume
lw_line-info = text-003.
APPEND lw_line TO u_er_list_top_of_page.
Type S
CLEAR lw_line.
lw_line-typ = 'S'.
Run Date - Sy-datum
WRITE sy-datum TO w_datum MM/DD/YY .
CONCATENATE text-021 w_datum INTO w_text.
lw_line-info = w_text.
APPEND lw_line TO u_er_list_top_of_page.
ENDFORM. " COMMENT_BUILD.
Reward if useful.