Form ALV
Form ALV
*&
Form DISPLAY_RESULT
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM display_result .
DATA : lr_table TYPE REF TO cl_salv_table,
lr_functions TYPE REF TO cl_salv_functions,
lr_dsettings TYPE REF TO cl_salv_display_settings,
lr_columns TYPE REF TO cl_salv_columns,
lr_column TYPE REF TO cl_salv_column.
CALL METHOD cl_salv_table=>factory
IMPORTING
r_salv_table = lr_table
CHANGING
t_table
= gt_final.
lr_functions = lr_table->get_functions( ).
lr_functions->set_all( abap_true ).
lr_dsettings = lr_table->get_display_settings( ).
lr_dsettings->set_striped_pattern( cl_salv_display_settings=>true ).
lr_dsettings->set_list_header( text-005 ).
*--Column 1
lr_columns = lr_table->get_columns( ).
lr_column ?= lr_columns->get_column( 'MEMS_GUID' ).
lr_column->set_long_text( text-007 ).
lr_column->set_medium_text( text-007 ).
lr_column->set_short_text( text-008 ).
*--Column 2
lr_columns = lr_table->get_columns( ).
lr_column ?= lr_columns->get_column( 'MEMB_GUID' ).
lr_column->set_long_text( text-009 ).
lr_column->set_medium_text( text-009 ).
lr_column->set_short_text( text-011 ).
*--Column 3
lr_columns = lr_table->get_columns( ).
lr_column ?= lr_columns->get_column( 'COUNT' ).
lr_column->set_long_text( text-010 ).
lr_column->set_medium_text( text-010 ).
lr_column->set_short_text( text-010 ).
lr_columns->set_optimize( 'X' ).
PERFORM display_header.
* Set the element top_of_list
lr_table->set_top_of_list( lr_grid ).
lr_table->display( ).
ENDFORM.
" DISPLAY_RESULT
*&---------------------------------------------------------------------*
*&
Form RECORD_PROCESS
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM record_process .
gt_mbrshp1[] = gt_membshp[].
DELETE ADJACENT DUPLICATES FROM gt_membshp COMPARING memb_guid .
DELETE ADJACENT DUPLICATES FROM gt_mbrshp1 COMPARING mems_guid .
SORT gt_membshp BY memb_guid ASCENDING.
SORT gt_mbrshp1 BY memb_guid ASCENDING.
LOOP AT gt_membshp INTO wa_membshp .
READ TABLE gt_membshp INTO wa_membshp WITH KEY memb_guid = wa_membshpmemb_guid BINARY SEARCH.
IF sy-subrc EQ 0.
lv_index = sy-tabix.
ENDIF.
LOOP AT gt_mbrshp1 INTO wa_mbrshp1 FROM lv_index.
IF wa_membshp-memb_guid EQ wa_mbrshp1-memb_guid
gv_count = gv_count + 1 .
wa_final-mems_guid = wa_mbrshp1-mems_guid .
wa_final-memb_guid = wa_mbrshp1-memb_guid .
APPEND wa_final TO gt_final.
** To avoid modify For peformance Issues, Parallel curosr menthod is used.
READ TABLE gt_final INTO wa_final WITH KEY memb_guid = wa_membshpmemb_guid.
CLEAR wa_final.
lv_ind = sy-tabix.
*&---------------------------------------------------------------------*
*&
Form DISPLAY_HEADER
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM display_header .
* Set the top of list
DATA:lr_gridx TYPE REF TO cl_salv_form_layout_grid,
lr_flow TYPE REF TO cl_salv_form_layout_flow,
lr_pict TYPE REF TO cl_salv_form_picture,
lr_logo TYPE REF TO cl_salv_form_layout_logo,
lr_label TYPE REF TO cl_salv_form_label,
lr_text TYPE REF TO cl_salv_form_text.
*
lr_text
= lr_gridx->create_text(
row = 2 column = 2
text = gv_tot
tooltip = gv_tot ).
text =
gv_eror
tooltip = gv_eror
ENDFORM.
" DISPLAY_HEADER
).