29 октября 2010 г.

ABAP: добавление своей кнопки в TOOLBAR SELECTION-SCREEN

Один из способов добавить свою кнопку в toolbar на SELECTION-SCREEN. 

*--------------------------------------------------------------*
* Объявляем специальную системную 
* структуру для работы с экраном
  TABLES: sscrfields.
* Объявляем структуру которую будем 
* использовать для формирования текстов для кнопок
  DATA: functxt TYPE smp_dyntxt.


  SELECT-OPTIONS...
  PARAMETERS...
* Активируем кнопку номер 1
  SELECTION-SCREEN FUNCTION KEY 1.

Подробнее...

25 октября 2010 г.

ABAP: Всплывающие подсказки к значениям в ALV GRID

Для этого надо заполнить таблицу типа ALV_T_QINF. В ней для каждого значения которому необходима подсказка заполнить поля:
  TYPE   - тип,
  VALUE  - значение,
  TEXT   - текст подсказки.
 

Тип берется из констант класса cl_salv_tooltip:
- C_TYPE_ICON,
- C_TYPE_SYMBOL,
- C_TYPE_COLOR,
- C_TYPE_EXCEPTION,
- C_TYPE_TREE_STYLE.

Потом необходимо передать эту таблицу в методе SET_TABLE_FOR_FIRST_DISPLAY во входном параметре IT_EXCEPT_QINFO.
Подробнее...

14 октября 2010 г.

ABAP: Установка позиции вертикального скролла в ALV GRID

  DATA: LS_COL_INFO TYPE LVC_S_COL,
        LS_ROW_INFO TYPE LVC_S_ROW.
 
* Получаем информацию о текущей позиции скролла
  CALL METHOD req_grid->GET_SCROLL_INFO_VIA_ID
    IMPORTING
      ES_ROW_INFO = LS_ROW_INFO
      ES_COL_INFO = LS_COL_INFO.

* нужно для того чтобы не вываливалось в дамп 
* после вызова предыдущего метода
  CALL METHOD CL_GUI_CFW=>FLUSH
  EXCEPTIONS
    CNTL_SYSTEM_ERROR = 1
    CNTL_ERROR        = 2.
 
* Указываем индекс нужной нам строки
  LS_ROW_INFO-INDEX = lv_index.
 
* Устанавливаем скролл в нужную позицию
  CALL METHOD req_grid->SET_SCROLL_INFO_VIA_ID
    EXPORTING
      IS_ROW_INFO = LS_ROW_INFO
      IS_COL_INFO = LS_COL_INFO.
 
* нужно для того чтобы не вываливалось в дамп 
* после вызова предыдущего метода
  CALL METHOD CL_GUI_CFW=>FLUSH
  EXCEPTIONS
    CNTL_SYSTEM_ERROR = 1
    CNTL_ERROR        = 2.