2008 Apr 28 10:53 AM
Hi Guru's
Can I make a top of page in alv list display
by filling the event table
as there is no option of top of page in importing parameter
but its there in grid display
Max points will be awarded
2008 Apr 28 10:59 AM
yes you can do it.
in event table use top_of_page event and in routine simply put write statements.
you can use this also
FORM TOP_OF_PAGE.
DATA: ls_line TYPE slis_listheader.
*
CLEAR g_list_top_of_page[].
CLEAR ls_line.
ls_line-typ = 'H'.
ls_line-info = 'Lead Query Report'.
APPEND ls_line TO g_list_top_of_page. "<== Top of Page Header
PERFORM build_sub_headings
USING g_list_top_of_page.
*
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = g_list_top_of_page[].
*
ENDFORM.
reward if useful.
Hi Guru's
Can I make a top of page in alv list display
by filling the event table
as there is no option of top of page in importing parameter
but its there in grid display
Max points will be awarded
2008 Apr 28 10:59 AM
yes you can do it.
in event table use top_of_page event and in routine simply put write statements.
you can use this also
FORM TOP_OF_PAGE.
DATA: ls_line TYPE slis_listheader.
*
CLEAR g_list_top_of_page[].
CLEAR ls_line.
ls_line-typ = 'H'.
ls_line-info = 'Lead Query Report'.
APPEND ls_line TO g_list_top_of_page. "<== Top of Page Header
PERFORM build_sub_headings
USING g_list_top_of_page.
*
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = g_list_top_of_page[].
*
ENDFORM.
reward if useful.
2008 Apr 28 11:01 AM
Hi,
Following report is the sample report.
REPORT YMS_ALVTOPOF.
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,
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,
*&---------------------------------------------------------------------*
*& 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.
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 EQ 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 = 'WF01'.
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.
W_HEADER-TYP = 'S'.
W_HEADER-INFO = SY-REPID.
APPEND W_HEADER TO I_HEADER.
CLEAR W_HEADER.
W_HEADER-TYP = 'H'.
WRITE SY-DATUM TO W_HEADER-INFO.
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_pageThanks,
Sankar M
2008 Apr 28 11:02 AM
Hi Manu,
http://www.sap-img.com/abap/what-are-the-events-in-alv.htm
Need to use the event parameter of the FM REUSE_ALV_GRID_DISPLAY
just execute this program !!
REPORT ZBHALV_LIST.
TABLES:MARA.
SELECT-OPTIONS: MATNR FOR MARA-MATNR.
DATA:BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARA-MATNR,
ERSDA LIKE MARA-ERSDA,
MTART LIKE MARA-MTART,
MBRSH LIKE MARA-MBRSH,
END OF ITAB.
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE ITAB WHERE MATNR
IN MATNR.
TYPE-POOLS SLIS.
DATA:FCAT TYPE slis_t_fieldcat_alv.
DATA:LAYOUT TYPE slis_layout_alv.
DATA:EVE TYPE slis_t_event WITH HEADER LINE.
DATA:HEAD TYPE slis_t_listheader WITH HEADER LINE.
DATA:SORT TYPE slis_t_sortinfo_alv WITH HEADER LINE.
SORT-UP = 'X'.
SORT-SPOS = 1.
SORT-FIELDNAME = 'ERSDA'.
SORT-tabname = 'MARA'.
APPEND SORT.
SORT-SPOS = 2.
SORT-FIELDNAME = 'MTART'.
SORT-tabname = 'MARA'.
APPEND SORT.
EVE-NAME = 'TOP_OF_PAGE'.
EVE-FORM = 'TOPOFPAGE'.
APPEND EVE.
EVE-NAME = 'TOP_OF_LIST'.
EVE-FORM = 'TOPOFLIST'.
APPEND EVE.
EVE-NAME = 'END_OF_LIST'.
EVE-FORM = 'ENDOFLIST'.
APPEND EVE.
LAYOUT-ZEBRA = 'X'.
LAYOUT-no_hline = 'X'.
LAYOUT-NO_VLINE = 'X'.
LAYOUT-window_titlebar = 'MATERIAL DETAILS'.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = SY-REPID
I_INTERNAL_TABNAME = 'ITAB'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = SY-REPID
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = FCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FCAT
IT_SORT = SORT[]
IT_EVENTS = EVE[]
TABLES
T_OUTTAB = ITAB .
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
FORM TOPOFPAGE.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
.
ENDFORM.
FORM TOPOFLIST.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS-LISTTOP'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
.
ENDFORM.
FORM ENDOFLIST.
REFRESH HEAD.
HEAD-TYP = 'H'.
HEAD-INFO = 'MATERIALS-LISTEND'.
APPEND HEAD.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEAD[]
I_LOGO =
I_END_OF_LIST_GRID =
.
ENDFORM.
Regards,
Ramesh.
2008 Apr 28 11:05 AM
Hi manu,
There is no option in REUSE_ALV_LIST_DISPLAY for
top-of-page.
this is only for displaying in list format.we can't five top-of page.
regards,
narasimha
2008 Apr 28 11:23 AM
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_interface_check = ' '
i_buffer_active = ' '
i_callback_program = i_repname
i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE'
i_callback_html_end_of_list = 'END_OF_LIST_HTML'
i_callback_pf_status_set = ' '
i_callback_user_command = 'FRM_ALV_USER_COMMAND'
i_structure_name = 'IT_REPORT'
i_background_id = ' '
is_layout = i_layout
it_fieldcat = i_fieldtab[]
it_sort = i_sort[]
i_default = 'X'
i_save = 'A'
is_variant = i_variant
it_events = i_events[]
is_print = i_print
tables
t_outtab = it_report.
for above top command
form html_top_of_page using document type ref to cl_dd_document.
data: text type sdydo_text_element,
l_grid type ref to cl_gui_alv_grid,
f(14) type c value 'SET_ROW_HEIGHT'..
text = 'Daily dispatch from Godown :'.
call method document->add_text
exporting
text = text
sap_style = 'HEADING'.
concatenate sy-datum6(2) '.' sy-datum4(2) '.' sy-datum+0(4)
into v_date.
text = 'Date : '.
call method document->add_text
exporting
text = text
sap_emphasis = 'Strong'.
call method document->add_gap
exporting
width = 6.
text = v_date.
call method document->add_text
exporting
text = text
sap_style = 'Key'.
endform. "HTML_TOP_OF_PAGE
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |