7 декабря 2010 г.

ABAP: Цвета в ALV GRID


Пример:

REPORT  ZTEST_ALV_COLORS.

TYPES: BEGIN OF my_itab_wa,
  COLOR(4)  TYPE C, " Поле для указания цвета строки
  TEXT(255) TYPE C, " Просто текст
  END OF my_itab_wa,
  my_itab_t TYPE TABLE OF my_itab_wa.

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

3 ноября 2010 г.

ABAP: добавление кнопок (и не только) в TOOLBAR ALV GRID, созданного через REUSE_ALV_GRID_DISPLAY

REUSE_ALV_GRID_DISPLAY позволяет указать PF-STATUS который будет использоваться при выводе грида, и название формы в которой будет происходить обработка юзер-комманд. Этим и стоит воспользоваться.

PF-STATUS лучше делать не с нуля, а в транзакции SE41 скопировать из программы SAPLSLVC_FULLSCREEN статус STANDARD_FULLSCREEN, чтобы иметь на тулбаре все стандартные кнопки грида.

После того как статус создан можно писать код.




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

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. 

22 сентября 2010 г.

ABAP: Поиск текста документа с помощью функционального модуля READ_TEXT

Иногда требуется вытащить текст из документов Сбыта (SAP R/3 SD), этот текст может содержаться в любом документе, но храниться он в системе не в явном виде, поэтому может пригодиться следующий алгоритм...

10 сентября 2010 г.

ABAP: Common SAP R/3 Functions Manual. William Lawlor.

САБЖ, книжка на гугло-книгах, по сути справочник по саповским ФМ-ам. Есть у нас и в твердом варианте, но и в электронном не помешает.

UPD: упс облом, там только 143 страницы

23 августа 2010 г.

.Net Compact Framework: Изменения цвета фона определенных строк DataGrid'а

// Для подсветки необходимых строк в датагриде создал класс,
// по примеру показанному здесь

class DataGridCustomColumnRowColor : DataGridTextBoxColumn
{
    #region Privates
    private DataGrid _owner = null;
    private StringFormat _stringFormat = null;
    private Color _customRowBackColor = SystemColors.Window; // Back color for odd numbered rows
    private SolidBrush _customBrush = null;
    #endregion
Подробнее...

20 августа 2010 г.

ABAP: Узнать какие строки выделены (selected rows) в ALV GRID.


  DATA: gi_index_rows TYPE lvc_t_row,
        g_selected_row LIKE lvc_s_row.
 

  CALL METHOD %ALV_GRID%->GET_SELECTED_ROWS
    IMPORTING
      ET_INDEX_ROWS = gi_index_rows.

ABAP: Шаблоны для BDC CALL TRANSACTION

* tables
  DATA: bdc_tab TYPE TABLE OF bdcdata. 

* structures
  DATA: bdc_line TYPE bdcdata.

  DEFINE bdc_dynpro.
    CLEAR bdc_line.
    bdc_line-PROGRAM = &1.
    bdc_line-DYNPRO  = &2.
    bdc_line-DYNBEGIN = 'X'.
    APPEND bdc_line TO bdc_tab.
  END-OF-DEFINITION.
Подробнее...