Текущее время: Сб, авг 02 2025, 19:35

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: НЕ РАБОТАЕТ GET_SELECTED_ROWS
СообщениеДобавлено: Вт, апр 24 2007, 08:55 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Объявляю :D :
Code:
CLASS lcl_event_receiver DEFINITION.
 
PUBLIC SECTION.
    METHODS:
         handle_data_changed
         FOR EVENT data_changed OF cl_gui_alv_grid
         IMPORTING er_data_changed
                           e_ucomm,
         check_delete_cond FOR EVENT data_changed OF cl_gui_alv_grid
         IMPORTING er_data_changed
                           e_ucomm.

ENDCLASS.                    "lcl_event_receiver DEFINITION

Вызываю :D
Code:

CLASS lcl_event_receiver IMPLEMENTATION.
  METHOD handle_data_changed.
   CALL METHOD check_delete_cond( er_data_changed ). 
ENDMETHOD.                    "handle_data_changed

METHOD check_delete_cond.
    DATA: dl_del_row    TYPE lvc_s_moce,
          ls_outtab     LIKE LINE OF gt_outtab,
          dl_tabix      TYPE sy-tabix.

    DATA: ls_selected_row    TYPE lvc_s_roid ,
          lt_selected_rows   TYPE lvc_t_roid .

    FIELD-SYMBOLS: <fs_outtab> TYPE table.

    ASSIGN er_data_changed->mp_mod_rows->* TO <fs_outtab>.

   CALL METHOD alv_grid->get_selected_rows
      IMPORTING
        et_row_no = lt_selected_rows.

      ENDMETHOD.                    "check_delete_cond
ENDCLASS.                    "lcl_event_receiver IMPLEMENTATION

При удалении какой-нибудь строки вызывается get_selected_rows, но почему-то lt_selected_rows пуста :?:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 24 2007, 10:41 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
Это потому, что события "удаление" нет. Если break point поставить, то видно, что сначала позиции удаляются, а потом срабатывает изменение, а вроде как и выделять уже не чего.

Нарисуйте свои кнопки. Гораздо меньше проблем и удивлений. Меня, в свое время, поразила работа копирования строки - копировалось только то, что на экране, скрытые поля и поля доступные при прокрутке не копировались.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 24 2007, 11:13 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Lars написал:
Это потому, что события "удаление" нет. Если break point поставить, то видно, что сначала позиции удаляются, а потом срабатывает изменение, а вроде как и выделять уже не чего.

C этим согласен, сделал так...........и........заработало
Code:
LOOP AT er_data_changed->mt_deleted_rows INTO dl_ins_row.
      READ TABLE gt_outtab INTO ls_outtab INDEX dl_ins_row-row_id.
      IF sy-subrc = 0.
       IF NOT ls_outtab-matnr  IS INITIAL.
          MESSAGE i000(0k) WITH 'Record cannot be deleted'(043).
          EXIT.
        ENDIF.
      ENDIF.
    ENDLOOP.


Lars написал:
Нарисуйте свои кнопки. Гораздо меньше проблем и удивлений. Меня, в свое время, поразила работа копирования строки - копировалось только то, что на экране, скрытые поля и поля доступные при прокрутке не копировались.

Свои кнопки накладно по времени, потому как обработка идет на сервере приложений, а стандарт на локальной машине пашет...... :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 24 2007, 11:31 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
ROKO написал:
Lars написал:
Это потому, что события "удаление" нет. Если break point поставить, то видно, что сначала позиции удаляются, а потом срабатывает изменение, а вроде как и выделять уже не чего.

C этим согласен, сделал так...........и........заработало
Code:
LOOP AT er_data_changed->mt_deleted_rows INTO dl_ins_row.
      READ TABLE gt_outtab INTO ls_outtab INDEX dl_ins_row-row_id.
      IF sy-subrc = 0.
       IF NOT ls_outtab-matnr  IS INITIAL.
          MESSAGE i000(0k) WITH 'Record cannot be deleted'(043).
          EXIT.
        ENDIF.
      ENDIF.
    ENDLOOP.


Lars написал:
Нарисуйте свои кнопки. Гораздо меньше проблем и удивлений. Меня, в свое время, поразила работа копирования строки - копировалось только то, что на экране, скрытые поля и поля доступные при прокрутке не копировались.

Свои кнопки накладно по времени, потому как обработка идет на сервере приложений, а стандарт на локальной машине пашет...... :D


А какой смысл то в этом ? Просто проверить ? Запись то все равно удалена из гуя ...

Ну как гритца - каждому своё.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB