&--------------------------------------------------------------------- *& Report Z_YY_PRG_002 &--------------------------------------------------------------------- *& &--------------------------------------------------------------------- REPORT Z_YY_PRG_002.
*MESSAGE ‘xxxx1’ type ‘W’. *MESSAGE ‘xxxx2’ type ‘I’. *MESSAGE ‘xxxx3’ type ‘W’.
*MESSAGE I001(ZTEST01).
include .
------------------------------------------------------------------------- class lcl_handle_events DEFINITION. PUBLIC SECTION. METHODS: on_double_click for EVENT double_click of cl_salv_events_table IMPORTING row column ,
methods on_link_click for event link_click of cl_salv_events_table importing row column. METHODS : on_user_command for event added_function of cl_salv_events_table IMPORTING e_salv_function.ENDCLASS.
class lcl_handle_events IMPLEMENTATION. method on_double_click.
PERFORM show_cell_info using row column ‘is selected’.PERFORM show_PoList .
ENDMETHOD.
method on_link_click. PERFORM show_cell_info using row column ‘is selected with hotspot’. ENDMETHOD.
METHOD on_user_command. PERFORM handle_user_command using e_salv_function. ENDMETHOD.
ENDCLASS.
form show_cell_info using p_row type i p_column type lvc_fname p_text type string.
data: l_row type char10. write p_row to l_row LEFT-JUSTIFIED.
CONCATENATE l_row ‘Line’ p_column ‘Column’ p_text into p_text SEPARATED BY space.
MESSAGE i000(0k) WITH p_text.
ENDFORM.
form handle_user_command using p_function type salv_de_function. case p_function. when ‘REFRESH’. perform fresh. when ‘DOWNLOAD’. perform fresh. when OTHERS.
ENDCASE. ENDFORM.
form show_PoList . data polist type STANDARD TABLE OF ekko.
select * into TABLE polist from ekko UP TO 10 rows.
data gr_table2 type REF TO cl_salv_table.
cl_salv_table=>factory( importing r_salv_table = gr_table2 changing t_table = polist ) .gr_table2->set_screen_popup( start_column = 20 end_column = 100 start_line = 10 end_line = 20 ).
gr_table2->display( ).
ENDFORM.
SELECTION-SCREEN : begin of line, COMMENT 1(8) txt01 FOR FIELD pBUKRS. PARAMETERS pBUKRS like ekko-BUKRS.
SELECTION-SCREEN end of line.
SELECTION-SCREEN : begin of line, COMMENT 1(8) txt02 for FIELD pEKORG. PARAMETERS pEKORG like ekko-EKORG. SELECTION-SCREEN end of line.
types: begin of ty_VendorList, LIFNR type LIFNR, NAME1 type NAME1_GP, REGIO type REGIO, BUKRS type BUKRS, EKORG type EKORG, exception type char1, icon type icon_d, END OF ty_VendorList.
data gt_VendorList type STANDARD TABLE OF ty_VendorList.
data gs_vendorList type ty_VendorList.
DATA: gr_table TYPE REF TO cl_salv_table.
DATA: gr_functions type REF TO cl_salv_functions_list.
DATA: gr_display type REF TO cl_salv_display_settings.
data: gr_layout type REF TO cl_salv_layout. data g_program type salv_s_layout_key.
data gr_columns type REF TO cl_salv_columns_table. data gr_column TYPE REF TO cl_salv_column_table.
data gr_sorts type REF TO cl_salv_sorts.
DATA g_color type lvc_s_colo.
DATA gr_event type REF TO lcl_handle_events.
INITIALIZATION. txt01 = ‘公司代号’. txt02 = ‘采购组织’.
START-OF-SELECTION.
select a~LIFNR a~Name1 a~Regio b~BUKRS c~EKORG into CORRESPONDING FIELDS OF TABLE gt_VendorList from LFA1 as a INNER JOIN LFB1 as b on a~LIFNR = b~LIFNR "and a~MANDT = b~MANDT INNER JOIN LFM1 as c on a~LIFNR = c~LIFNR "and a~MANDT = c~MANDT where b~BUKRS = pBUKRS and c~EKORG = pEKORG UP TO 25 rows.data icount type i. move 0 to icount.
loop at gt_vendorlist into gs_vendorList. if icount >= 10. gs_vendorList-exception = ‘1’. gs_vendorList-icon = ICON_UNLOCKED. ELSEIF icount >= 5. gs_vendorList-exception = ‘2’. gs_vendorList-icon = icon_message_warning. else. gs_vendorList-exception = ‘3’. gs_vendorList-icon = icon_locked. ENDIF.
modify gt_VendorList from gs_vendorList. icount = icount + 1 .ENDLOOP.
cl_salv_table=>factory( EXPORTING list_display = abap_true IMPORTING r_salv_table = gr_table CHANGING t_table = gt_VendorList ).gr_functions = gr_table->GET_FUNCTIONS( ). gr_functions->set_default( ).
gr_functions->set_all( abap_true ).gr_functions->add_function(
EXPORTING name = 'XXXX'** icon = ‘@M9@’ ** text = ‘下载文档’
tooltip = '下载文档' position = if_salv_c_function_position=>right_of_salv_functions ).gr_functions->set_all( abap_true ).
compile error
gr_display->se_striped_pattern(cl_salv_display_settings=>true).
gr_display = gr_table->get_display_settings( ). gr_display->set_list_header('Header test').*CALL METHOD gr_display->SET_HORIZONTAL_LINES
EXPORTING
VALUE = abap_true
.
gr_display->SET_HORIZONTAL_LINES(‘X’).
gr_display->SET_vertical_LINES(‘X’).
gr_layout = gr_table->get_layout( ).
g_program = sy-repid.
gr_layout->set_key(g_program).
error
gr_layout->set_save_estriction(cl_salv_layout=>restrict_none).
gr_columns = gr_table->get_Columns( ).
gr_column ?= gr_columns->get_column(‘NAME1’).
gr_column->set_visible( cl_salv_column_table=>false ).
gr_column->set_cell_type( if_salv_c_cell_type=>hotspot ).
gr_columns = gr_table->get_Columns( ).
gr_column ?= gr_columns->get_column(‘LIFNR’). ** gr_column->set_visible(’ ').
gr_column->set_long_text(‘Long Text’).
gr_column->set_medium_text(‘medium Text’).
gr_column->set_short_text(‘short Text’).
g_color-col = ‘6’.
g_color-int = ‘1’.
g_color-inv = ‘0’.
gr_column->set_color(g_color).
gr_column->set_color( g_color ).
gr_column->set_visible( cl_salv_column_table=>false ).
gr_sorts = gr_table->get_sorts( ).
gr_sorts->add_sort(‘LIFNR’).
gr_table->set_screen_popup(
start_column = 20
end_column = 100
start_line = 10
end_line = 20 ).
data lr_event type REF TO cl_salv_events_table. lr_event = gr_table->get_event( ).
CREATE OBJECT gr_event. set HANDLER gr_event->on_double_click for lr_event. set HANDLER gr_event->on_link_click for lr_event.
gr_table->set_screen_status(pfstatus = ‘Z_YY_SALV_STANDARD’report = sy-repidset_functions = gr_table->c_functions_all ).gr_columns = gr_table->get_Columns( ). gr_column ?= gr_columns->get_column(‘EXCEPTION’).
gr_columns->set_exception_column(‘EXCEPTION’). gr_column->set_short_text(‘MY EXCEPT’).
data gr_functional_settings TYPE REF TO cl_salv_functional_settings. gr_functional_settings = gr_table->get_functional_settings( ).
data gr_tooltips type REF TO cl_salv_tooltips.
gr_tooltips = gr_functional_settings->get_tooltips( ). gr_tooltips->add_tooltip( type = cl_salv_tooltip=>c_type_exception value = ‘1’ tooltip = ‘11111’).
gr_tooltips->add_tooltip( type = cl_salv_tooltip=>c_type_exception value = '2' tooltip = '2222'). gr_tooltips->add_tooltip( type = cl_salv_tooltip=>c_type_exception value = '3' tooltip = '33333').gr_column ?= gr_columns->get_column(‘ICON’). gr_column->set_icon( if_salv_c_bool_sap=>true ). gr_column->set_long_text(‘ICON’).
gr_table->display( ).FORM fresh.
select a~LIFNR a~Name1 a~Regio b~BUKRS c~EKORG into TABLE gt_VendorList from LFA1 as a INNER JOIN LFB1 as b on a~LIFNR = b~LIFNR "and a~MANDT = b~MANDT INNER JOIN LFM1 as c on a~LIFNR = c~LIFNR "and a~MANDT = c~MANDT where b~BUKRS = pBUKRS and c~EKORG = pEKORG.
gr_table->refresh( ).
ENDFORM.