Pages

Tuesday, August 31, 2010

ALV background display as well as foreground

MODULE alv_display OUTPUT.

IF sy-batch NE c_x.

* First Main Container
CREATE OBJECT obj_container
EXPORTING
container_name = 'CC_CONTAINER'.
* Splitter Container
CREATE OBJECT obj_splitter
EXPORTING
parent = obj_container
rows = 2
columns = 1.

* Set the height of Top of page
CALL METHOD obj_splitter->set_row_height
EXPORTING
id = 1
height = 29.

* Place obj_parent_html in First row First column
* for Top_of_page
CALL METHOD obj_splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = obj_parent_html.

* Place ALV grid display in Second row First column
CALL METHOD obj_splitter->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = obj_parent_grid.

* Create ALV grid Object
CREATE OBJECT obj_grid
EXPORTING
i_parent = obj_parent_grid.

ELSE. "For Background run
* Create ALV grid Object
CREATE OBJECT obj_grid
EXPORTING
i_parent = obj_dock.
ENDIF.

* Create Event handler Object
CREATE OBJECT obj_event.
*
** Set Event Handler for List TOP_OF_PAGE
SET HANDLER obj_event->on_top_of_page FOR obj_grid.
** Set Event Handler for Grid TOP_OF_PAGE
SET HANDLER obj_event->on_grid_top_of_page FOR obj_grid.
** Set Event Handler for Grid END_OF_PAGE
SET HANDLER obj_event->on_END_OF_PAGE FOR obj_grid.
** Set Event Handler for Double Click
SET HANDLER obj_event->handle_double_click FOR obj_grid.

* Call Grid method to display ALV Table
CALL METHOD obj_grid->set_table_for_first_display
EXPORTING
* i_buffer_active =
* i_bypassing_buffer =
* i_consistency_check =
* i_structure_name =
* is_variant =
* i_save =
* i_default = 'X'
is_layout = wa_layo
* is_print =
* it_special_groups =
* it_toolbar_excluding =
* it_hyperlink =
* it_alv_graphics =
* it_except_qinfo =
* ir_salv_adapter =
CHANGING
it_outtab = gt_mat
it_fieldcatalog = gt_fcat
it_sort = gt_sort
* it_filter =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4
.
IF sy-subrc <> 0.
MESSAGE i000 WITH 'Error in Report Display'(003).
ENDIF.

* Create top-document
CREATE OBJECT obj_dyndoc_id
EXPORTING
style = 'ALV_GRID'.

* Initializing document
CALL METHOD obj_dyndoc_id->initialize_document.

* Processing events
CALL METHOD obj_grid->list_processing_events
EXPORTING
i_event_name = 'TOP_OF_PAGE'
i_dyndoc_id = obj_dyndoc_id.

* Refresh ALV object before next display
CALL METHOD obj_grid->refresh_table_display
EXPORTING
is_stable = c_stable.

CALL METHOD cl_gui_control=>set_focus
EXPORTING
control = obj_grid.


ENDMODULE. " ALV_DISPLAY OUTPUT

No comments:

Post a Comment