21 июня 2016

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.

08 июня 2016

Средство поиска для ввода даты

Для вызова средства поиска для ввода даты можно использовать функциональный модуль "F4_DATE".

  CALL FUNCTION 'F4_DATE'
    EXPORTING
      date_for_first_month         = lv_date_start
*     display                      = ' '
*     factory_calendar_id          = ' '
*     gregorian_calendar_flag      = ' '
*     holiday_calendar_id          = ' '
*     progname_for_first_month     = ' '
    IMPORTING
      select_date                  = lv_date_select
*     select_week                  =
*     select_week_begin            =
*     select_week_end              =
    EXCEPTIONS
      calendar_buffer_not_loadable = 1
      date_after_range             = 2
      date_before_range            = 3
      date_invalid                 = 4
      factory_calendar_not_found   = 5
      holiday_calendar_not_found   = 6
      parameter_conflict           = 7
      OTHERS                       = 8.

Приветствие!

Привет всем!

Здесь будем писать обо всём, что связано с ABAP. Примеры кода, полезные транзакции и ФМы.