Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV List

manubhutani
Active Contributor
0 Likes
639

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
614

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

5 REPLIES 5
Read only

Former Member
0 Likes
615

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.

Read only

p291102
Active Contributor
0 Likes
614

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_page

Thanks,

Sankar M

Read only

Former Member
0 Likes
614

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.

Read only

Former Member
0 Likes
614

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

Read only

Former Member
0 Likes
613

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