Текущее время: Вс, июл 20 2025, 16:08

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Как насильно обновить таблицу из ALV грида ??
СообщениеДобавлено: Пт, июл 27 2007, 07:18 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 06:40
Сообщения: 60
Откуда: Белебей !
Пол: Мужской
Здравствуйте народ !
Ситуация такая:

обновляю вн. таблицу CALL METHOD alvg_2->check_changed_data
Все работает если пользаватель внес какиенибуль изменения в ГРИД. А если ничего не менял тогда этот метод не работает.

Напишите пожалста, как же сделать чтобы обновлять вн.таблицу из грида, даже если пользак ничего не менял ???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как насильно обновить таблицу из ALV грида ??
СообщениеДобавлено: Пт, июл 27 2007, 07:42 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
belzan написал:
Здравствуйте народ !

Напишите пожалста, как же сделать чтобы обновлять вн.таблицу из грида, даже если пользак ничего не менял ???

Читать документацию, использовать поиск или хотя-бы посмотреть имеющиеся методы класса теперь не модно?

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 27 2007, 07:56 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 06:40
Сообщения: 60
Откуда: Белебей !
Пол: Мужской
В методах смотрел, ничего того чтобы помогло не заметил.

А в поизге встречал что использую REFRESH который есть в самом гриде. Будит ли он работать если пользак ничего не изменит в ГРИДе?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 27 2007, 08:27 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
belzan написал:
В методах смотрел, ничего того чтобы помогло не заметил.
А документация?
Цитата:
А в поизге встречал что использую REFRESH который есть в самом гриде.

Что используют?
Цитата:
Будит ли он работать если пользак ничего не изменит в ГРИДе?

http://sapboard.ru/forum/viewtopic.php ... ht=refresh

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 27 2007, 08:56 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 06:40
Сообщения: 60
Откуда: Белебей !
Пол: Мужской
спасибо, но если правильно понять то CALL METHOD alvg_2->refresh_table_display и REFRESH в стандартный кнопках ГРИДа это одно и тоже.

А можно ли с имитировать гриду то, что типа пользователь в нем чтото изменил ?? :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 27 2007, 09:51 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
belzan написал:
...

А можно ли с имитировать гриду то, что типа пользователь в нем чтото изменил ?? :)
Цель-то какая? Что хочется в итоге получить?

_________________
"После" - не значит "вследствие"


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

Зарегистрирован:
Пт, июл 27 2007, 10:03
Сообщения: 3
Откуда: Planet Earth
Пол: Мужской
åñëè â îïðåäåëåííèé ìîìåíò õî÷åòñÿ ÀË îáíîâèòü òî ïîñòàâü åòîò ìåòîä íà êàêîå òî äåéñòâèå óçåðà... ÿ îáû÷íî íà ñâîþ êíîïêó åòî ñòàâëþ.
âñå çàâèñèò îò òîãî êàêîé ðåçóëüòàò íóæåí.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 27 2007, 11:32 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 06:40
Сообщения: 60
Откуда: Белебей !
Пол: Мужской
В общем цель такая:
Надо при нажатии на кнопку проверить правильность ввода в ГРИД.
Если пользователь чтото ввел или исправил, то CALL METHOD alvg_2->check_changed_data нормально срабатывает и происходит проверка и все ОК.
Если в проверке есть ошибка ввода, то надо сделать так чтоб пока пользователь не исправит в ГРИДе - выполнение программы не должно идти дальше.

Вроде понятно расписал. :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 27 2007, 12:02 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
belzan написал:
В общем цель такая:
Надо при нажатии на кнопку проверить правильность ввода в ГРИД.
Если пользователь чтото ввел или исправил, то CALL METHOD alvg_2->check_changed_data нормально срабатывает и происходит проверка и все ОК.
Если в проверке есть ошибка ввода, то надо сделать так чтоб пока пользователь не исправит в ГРИДе - выполнение программы не должно идти дальше.

Вроде понятно расписал. :)

Ну так причём здесь REFRESH и прочие?
регистрируйте и обрабатывайте событие DATA_CHANGED. В обработке проверяйте содержимое таблицы и заносите ошибочные ячейки в протокол - пока есть ошибки не давайте пользователю выполнить критическое операции (сохранение, создание и пр...)

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 27 2007, 12:05 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
Лично я предпочитаю никогда не делать грид редактируемым.

Открыть диалоговое окно. Внести изменения и на ок сохранить и просто отрефрешить грид.

Немного больше писать кода, но и гибкости на мой взгляд больше.
или привычка осталась от delphi/C#...

_________________
Теперь я программлю на ABAP/4... правда пока еще только учусь.
Но я очень скучаю по С#


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 27 2007, 12:17 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 06:40
Сообщения: 60
Откуда: Белебей !
Пол: Мужской
sy-uname, хочу узнать, в какой конкретно момент наступает событие DATA_CHANGED, при щелке мышкой или при нажатии клавиатуры в ячейке грида ?? И что содержат параметры в этом событии ?

Hermitap, да, Делфи это круто ! :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 27 2007, 13:20 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
belzan написал:
sy-uname, хочу узнать, в какой конкретно момент наступает событие DATA_CHANGED, при щелке мышкой или при нажатии клавиатуры в ячейке грида ??
Как минимум любое событие, запускающие обработку PAI (например двойной щелчёк или enter), вызов метода CHECK_CHANGED_DATA.
Цитата:
И что содержат параметры в этом событии ?
Несколько флагов, показывающих что событие вызвано в рамках обработки F4, ok-code и объект с данными, которые надо проверить, и в котором можно регистрировать ошибки (в любых ячейках грида) через метод ADD_PROTOCOL_ENTRY

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июл 27 2007, 13:39 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 06:40
Сообщения: 60
Откуда: Белебей !
Пол: Мужской
всем спасиба !
Попробую сделать в обработке DATA_CHANGED .


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб, июл 28 2007, 21:05 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
Еще посоветую зарегистрировать события

CALL METHOD g_grid_d->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
CALL METHOD g_grid_d->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_modified.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс, июл 29 2007, 00:06 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 10:03
Сообщения: 3
Откуда: Planet Earth
Пол: Мужской
â ñâîå âðåìÿ íàìó÷àëñÿ ñ ïîèìêîé äåéñòâèÿ... ïîòîì íàøåë è ñòàë ïðèìåíÿòü âîò ýòî...
÷òî óãîäíî ìîæåò äåëàòü óçåð, íà ýòî âñåãäà ñðàáàòûâàåò èâåíò DATA_CHANGED

Code:
*&---------------------------------------------------------------------*
*&      Form  Register_Edit_Event
*&---------------------------------------------------------------------*
*       Registering event for ALV grid... Should react on data change
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
form register_edit_event .

     call method go_alv->register_edit_event
          exporting
             i_event_id = cl_gui_alv_grid=>MC_EVT_MODIFIED.

     IF sy-subrc NE 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
     ENDIF.

endform.                    " Register_Edit_Event



ýòó ñàáðóòèíó âûçûâàþ ïîñëå ÀËÂ äèñïëåé

_________________
just be...


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

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


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

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


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

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