Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ZCL_ITCCC_DISPLAY_ALV definition
- public
- final
- create public .
- public section.
- methods CONSTRUCTOR
- importing
- !IM_LOG type ZIT_CONTROL_LOG_T .
- methods SHOW
- importing
- !IM_RUN_ID type ZITCCC_CHECK_ID optional .
- methods SET_ALV_DISPLAY_SETTINGS .
- protected section.
- private section.
- data LOG type ZIT_CONTROL_LOG_T .
- data LOG_DISPLAY type ZIT_CONTROL_LOG_DISPLAY_T .
- data ALV type ref to CL_SALV_TABLE .
- constants C_OK type C value 'S' ##NO_TEXT.
- constants C_ABORT type C value 'A' ##NO_TEXT.
- constants C_WARNING type C value 'W' ##NO_TEXT.
- constants C_INFO type C value 'I' ##NO_TEXT.
- constants C_ERROR type C value 'E' ##NO_TEXT.
- constants C_COLOR_ONE type I value 1 ##NO_TEXT.
- constants C_COLOR_TWO type I value 8 ##NO_TEXT.
- methods MAP_ID_TO_COLOR
- importing
- !IM_INPUT type ZIT_CONTROL_LOG_DISPLAY_T
- returning
- value(EX_RESULT) type ZIT_CONTROL_LOG_DISPLAY_T .
- methods MAP_STATUS_TO_ICON
- importing
- !IM_CHECK_STATUS type ZITCCC_CRESULT
- returning
- value(RE_CHECK_STATUS_I) type ICON_D .
- methods CONVERT_LOG_FOR_DISPLAY
- importing
- !IM_LOG type ZIT_CONTROL_LOG_T
- returning
- value(RE_LOG_DISPLAY) type ZIT_CONTROL_LOG_DISPLAY_T .
- ENDCLASS.
- CLASS ZCL_ITCCC_DISPLAY_ALV IMPLEMENTATION.
- METHOD constructor.
- *xxx
- log = im_log.
- TRY.
- *xxx
- log_display = me->convert_log_for_display( log ).
- *xxx
- cl_salv_table=>factory(
- IMPORTING
- r_salv_table = alv
- CHANGING
- t_table = log_display ).
- CATCH cx_root into DATA(cx_root).
- *xxx
- MESSAGE s398(00) WITH `Error in ALV: ` && cx_root->get_text( ).
- ENDTRY.
- ENDMETHOD.
- METHOD convert_log_for_display.
- DATA lw_log_display TYPE zit_control_log_display.
- LOOP AT im_log INTO DATA(lw_log). "#EC CI_LOOP_INTO_WA
- MOVE-CORRESPONDING lw_log TO lw_log_display.
- lw_log_display-check_status_i = me->map_status_to_icon( lw_log-check_status ).
- APPEND lw_log_display TO re_log_display.
- ENDLOOP.
- *xxx
- re_log_display = me->map_id_to_color( re_log_display ).
- ENDMETHOD.
- method MAP_ID_TO_COLOR.
- DATA lt_input_table TYPE zit_control_log_display_t.
- DATA lv_current_color TYPE i.
- DATA ls_color TYPE lvc_s_scol.
- DATA lv_previous_id TYPE zit_control_log-run_id.
- FIELD-SYMBOLS <lw_input> TYPE zit_control_log_display.
- *xxx
- lt_input_table = im_input.
- *xxx
- LOOP AT lt_input_table ASSIGNING <lw_input>.
- *xxx
- IF lv_previous_id <> <lw_input>-run_id.
- IF lv_current_color = c_color_one.
- lv_current_color = c_color_two.
- ELSE.
- lv_current_color = c_color_one.
- ENDIF.
- ENDIF.
- ls_color-color-col = lv_current_color.
- ls_color-color-int = 0.
- ls_color-color-inv = 0.
- lv_previous_id = <lw_input>-run_id.
- APPEND ls_color TO <lw_input>-color.
- ENDLOOP.
- *xxx
- ex_result = lt_input_table.
- endmethod.
- method MAP_STATUS_TO_ICON.
- INCLUDE <icons>.
- CASE im_check_status.
- WHEN c_info.
- re_check_status_i = icon_message_type.
- WHEN c_ok.
- re_check_status_i = icon_message_uptodate.
- WHEN c_warning.
- re_check_status_i = icon_message_outofdate.
- WHEN c_error.
- re_check_status_i = icon_message_orphaned.
- WHEN c_abort.
- re_check_status_i = icon_message_faulty.
- WHEN OTHERS.
- re_check_status_i = icon_message_faulty.
- ENDCASE.
- endmethod.
- METHOD set_alv_display_settings.
- DATA: lcl_display TYPE REF TO cl_salv_display_settings,
- lcl_filters TYPE REF TO cl_salv_filters,
- lv_header TYPE lvc_title.
- *xxx
- lcl_filters = alv->get_filters( ).
- lcl_filters->add_filter(
- columnname = 'CHECK_TYPE'
- sign = 'E'
- option = 'EQ'
- low = 'SYSTEM' ).
- *xxx
- lcl_display = alv->get_display_settings( ).
- lv_header = text-001.
- lcl_display->set_list_header( lv_header ).
- alv->get_functions( )->set_all( abap_true ).
- * alv->get_columns( )->set_optimize( abap_true ).
- * alv->get_columns( )->get_column( 'CHECK_LOG')->set_output_length( 100 ).
- alv->get_columns( )->get_column( 'CHECK_STATUS_I' )->set_alignment( if_salv_c_alignment=>centered ).
- *xxx
- alv->get_columns( )->get_column( 'RUN_ID')->set_visible( if_salv_c_bool_sap=>false ).
- alv->get_columns( )->get_column( 'TIMESSTAMP')->set_visible( if_salv_c_bool_sap=>false ).
- alv->get_columns( )->set_color_column( 'COLOR' ).
- alv->get_columns( )->get_column( 'RUN_CLIENT' )->set_leading_zero( ).
- ENDMETHOD.
- METHOD show.
- *xxx
- alv->display( ).
- ENDMETHOD.
- ENDCLASS.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement