Показаны сообщения с ярлыком alv grid. Показать все сообщения
Показаны сообщения с ярлыком alv grid. Показать все сообщения

20 августа 2021

Проблема вывода ALV Grid после вызова ФМ TEXT_CONVERT_CSV_TO_SAP

Было замечено, что после загрузки CSV-файла ФМом TEXT_CONVERT_CSV_TO_SAP вывод ALV Grid (как через класс cl_gui_alv_grid, так и cl_salv_table) происходит медленно.

21 декабря 2020

Цвет столбца ALV Grid

Чтобы задать цвет всему столбцу, указать в каталоге полей для столбца:

ls_fcat-emphasize = 'C600'. " C600 - код цвета

16 декабря 2020

Открыть ячейку ALV Grid на редактирование

В структуру таблицы, которая используется для вывода в ALV Grid, добавить поле с типом LVC_T_STYL. Назовем его, например, CELLTAB.

26 сентября 2018

Popup окно с выбором значения в виде таблицы ALV

Есть два (а может и больше) ФМа SRM_SELECTION_POPUP_WITH_ALV и REUSE_ALV_POPUP_TO_SELECT.

  DATA:
    lt_tab           TYPE TABLE OF rbkp_key,

    lv_selected_line TYPE i,
    lv_canceled      TYPE srmboolean,

    ls_selfield      TYPE slis_selfield,
    lv_exit.

  SELECT *
    FROM rbkp
    INTO CORRESPONDING FIELDS OF TABLE lt_tab
    WHERE bldat BETWEEN '20180901' AND '20181231'.

  CALL FUNCTION 'SRM_SELECTION_POPUP_WITH_ALV'
    EXPORTING
      im_title            = 'Title'
      im_tabname          = 'RBKP_KEY'
      im_startx           = 5
      im_stopx            = 100
      im_starty           = 1
      im_stopy            = 10
    IMPORTING
      ex_selected_line    = lv_selected_line
      ex_canceled_by_user = lv_canceled
    CHANGING
      lt_outtab           = lt_tab.

  " Or

  CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
    EXPORTING
      i_title                       = 'Это заголовок'
*     i_selection                   = 'X'
*     i_allow_no_selection          =
      i_zebra                       = 'X'
*     i_screen_start_column         = 0
*     i_screen_start_line           = 0
*     i_screen_end_column           = 0
*     i_screen_end_line             = 0
*     i_checkbox_fieldname          =
*     i_linemark_fieldname          =
*     i_scroll_to_sel_line          = 'X'
      i_tabname                     = '1'
      i_structure_name              = 'RBKP_KEY'
*     it_fieldcat                   =
*     it_excluding                  =
*     i_callback_program            =
*     i_callback_user_command       =
*     is_private                    =
    IMPORTING
      es_selfield                   = ls_selfield
      e_exit                        = lv_exit
    TABLES
      t_outtab                      = lt_tab
    EXCEPTIONS
      program_error                 = 1
      OTHERS                        = 2.

11 июня 2016

Цвета ALV Grid


Программа для демонстрации цветов:
  TYPES: BEGIN OF ty_s_data,
           text TYPE text10,
           linecolor TYPE lvc_t_scol,
         END OF ty_s_data.

  DATA: lv_index      TYPE i,
        ls_color      TYPE lvc_s_scol,
        lt_color      TYPE lvc_t_scol,
        lt_data       TYPE TABLE OF ty_s_data,
        ls_data       LIKE LINE OF lt_data,
        lr_alv        TYPE REF TO cl_salv_table,
        lr_layout     TYPE REF TO cl_salv_layout,
        ls_key        TYPE salv_s_layout_key,
        lr_functions  TYPE REF TO cl_salv_functions_list,
        lr_columns    TYPE REF TO cl_salv_columns_table.


* empty row with default color

  APPEND ls_data TO lt_data.

* rows with possible colors

  DO 7 TIMES.

    ls_color-color-col = sy-index.                          " 1-7

    DO 2 TIMES.

      lv_index = sy-index - 1.
      ls_color-color-int = lv_index.                        " 0-1

      DO 2 TIMES.

        lv_index = sy-index - 1.
        ls_color-color-inv = lv_index.                      " 0-1

        APPEND ls_color TO lt_color.

*        ls_data-col   = ls_color-color-col.
*        ls_data-int   = ls_color-color-int.
*        ls_data-inv   = ls_color-color-inv.

        ls_data-text = 'C' && ls_color-color-col && ls_color-color-int && ls_color-color-inv.

        ls_data-linecolor = lt_color.
        APPEND ls_data TO lt_data.
        CLEAR lt_color.

      ENDDO.

    ENDDO.

  ENDDO.

  CLEAR ls_data.
  APPEND ls_data TO lt_data.

  cl_salv_table=>factory(
    IMPORTING
      r_salv_table = lr_alv
    CHANGING
      t_table      = lt_data ).

  lr_layout = lr_alv->get_layout( ).

  ls_key-report = sy-repid.
  ls_key-handle = 'ALV1'.

  lr_layout->set_key( ls_key ).

  lr_layout->set_default( abap_true ).
  lr_layout->set_save_restriction( ).

  lr_functions = lr_alv->get_functions( ).
  lr_functions->set_all( abap_true ).

  lr_columns = lr_alv->get_columns( ).
  lr_columns->set_optimize( abap_true ).
  lr_columns->set_color_column( 'LINECOLOR' ).

  lr_alv->display( ).

10 июня 2016

Средство поиска вариантов для ALV Grid

  DATA: gs_vari  TYPE disvariant.
  
  gs_vari-report = sy-repid.
  gs_vari-handle = 'ALV1'.

  CALL FUNCTION 'LVC_VARIANT_DEFAULT_GET'
    EXPORTING
      i_save        = 'A'
    CHANGING
      cs_variant    = gs_vari
    EXCEPTIONS
      wrong_input   = 1
      not_found     = 2
      program_error = 3
      OTHERS        = 4.
  
  CALL FUNCTION 'LVC_VARIANT_F4'
    EXPORTING
      is_variant          = gs_vari
*     it_default_fieldcat =
      i_save              = 'A'
    IMPORTING
*     e_exit              =
      es_variant          = gs_vari
    EXCEPTIONS
      not_found           = 1
      program_error       = 2
      OTHERS              = 3.