Текущее время: Вс, июл 27 2025, 21:05

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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