‎2008 May 22 5:54 AM
In ALV output screen, i want to display the selections made by the user along with the output data. How to do so? Also give sample code.
‎2008 May 22 5:59 AM
Hi,
Have a look at the program . I used Selection parameters and Select-options.
REPORT zvenkat_alv_grid.
DATA: BEGIN OF i_mard OCCURS 0,
werks TYPE mard-werks,
lgort TYPE mard-lgort,
matnr TYPE mard-matnr,
insme TYPE mard-insme,
einme TYPE mard-einme,
speme TYPE mard-speme,
venkat(255) TYPE c,
venkat1(255) TYPE c,
END OF i_mard.
&----
*& ALV Variables
&----
TYPE-POOLS :slis.
DATA :i_field TYPE slis_t_fieldcat_alv,
w_field LIKE LINE OF i_field,
i_events TYPE slis_t_event,
w_events LIKE LINE OF i_events.
PARAMETERS:p_werks TYPE mard-werks.
SELECT-OPTIONS:s_date FOR sy-datum.
&----
*& START-OF-SELECTION
&----
START-OF-SELECTION.
PERFORM get_data_from_database .
&----
*& END-OF-SELECTION
&----
END-OF-SELECTION.
PERFORM build_fieldcatalog.
PERFORM display_data.
&----
*& Form build_fieldcatalog
&----
FORM build_fieldcatalog .
CLEAR :
w_field,
i_field[].
w_field-fieldname = 'WERKS' .
w_field-tabname = 'I_MARD'.
w_field-seltext_m = 'Plant'.
APPEND w_field TO i_field.
CLEAR w_field.
w_field-fieldname = 'LGORT' .
w_field-tabname = 'I_MARD'.
w_field-seltext_m = 'S.Location'.
APPEND w_field TO i_field.
CLEAR w_field.
w_field-fieldname = 'MATNR'.
w_field-tabname = 'I_MARD'.
w_field-seltext_m = 'Mat No'.
APPEND w_field TO i_field.
CLEAR w_field.
w_field-fieldname = 'INSME' .
w_field-do_sum = 'X'.
w_field-tabname = 'I_MARD'.
w_field-seltext_m = 'quality Stock'.
APPEND w_field TO i_field.
CLEAR w_field.
w_field-fieldname = 'EINME'.
w_field-do_sum = 'X'.
w_field-tabname = 'I_MARD'.
w_field-seltext_m = 'Total Stock'.
APPEND w_field TO i_field.
CLEAR w_field.
w_field-fieldname = 'SPEME'.
w_field-do_sum = 'X'.
w_field-tabname = 'I_MARD'.
w_field-seltext_m = 'Blocked stock'.
APPEND w_field TO i_field.
CLEAR w_field.
w_field-fieldname = 'VENKAT'.
w_field-tabname = 'I_MARD'.
w_field-seltext_m = 'Venkatatttttttttttttttdsflkgjdflgkdfk'.
w_field-outputlen = '254'.
APPEND w_field TO i_field.
CLEAR w_field.
w_field-fieldname = 'VENKAT1'.
w_field-tabname = 'I_MARD'.
w_field-seltext_m = 'DDDDDdddttttttttttttttdsflkgjdflgkdfk'.
w_field-outputlen = '254'.
APPEND w_field TO i_field.
CLEAR w_field.
ENDFORM. " build_fieldcatalog
&----
*& Form display_data
&----
FORM display_data .
DATA :program LIKE sy-repid VALUE sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = program
i_callback_top_of_page = 'TOP_OF_PAGE'
i_background_id = 'L&H'
it_fieldcat = i_field
TABLES
t_outtab = i_mard.
IF sy-subrc 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " display_data
&----
*& Form get_data_from_database
&----
text
----
FORM get_data_from_database .
CLEAR :i_mard,
i_mard[].
SELECT werks lgort matnr insme einme speme
FROM mard
INTO CORRESPONDING FIELDS OF TABLE i_mard
WHERE werks = p_werks.
ENDFORM. " get_data_from_database
&----
*& Form top_of_page
&----
text
----
FORM top_of_page.
DATA :
i_header TYPE slis_t_listheader,
w_header LIKE LINE OF i_header.
DATA:l_date1 TYPE datum,
l_date2 TYPE datum.
w_header-typ = 'S'.
w_header-info = p_werks.
APPEND w_header TO i_header.
CLEAR w_header.
w_header-typ = 'H'.
WRITE s_date-low TO l_date1.
WRITE s_date-high TO l_date2.
CONCATENATE l_date1 'to' l_date2 INTO w_header-info SEPARATED BY space.
APPEND w_header TO i_header.
CLEAR w_header.
w_header-typ = 'A'.
w_header-info = 'GRID Display TOP OF PAGE'.
APPEND w_header TO i_header.
CLEAR w_header.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_header
i_logo = 'ENJOYSAP_LOGO'.
ENDFORM. "top_of_page
Regards,
Shiva Kumar