в АЛВ гриде есть колонка с чекбоксом, поставил я галочку (checkbox = true) как теперь программно узнать какая (какие) записи отмечены, что бы даль с ними работать?
Age: 47 Joined: 14 Nov 2008 Posts: 300 Location: Russia
Posted: Mon Jun 21, 2010 5:13 pm Post subject:
Сурово...
Зачем вообще этот индикатор выставляется? Чтобы потом обработать помеченные данные. Одна из типичных задач: пометили строку, в тулбаре нажали кнопку "Удалить из списка" (например), зашли в обработчик, удалили помеченное, выставили *selfield-refresh = 'X' для обновления таблицы в ALV GRID. Двойной и одинарный клик по строке/полю - это лишь некоторые из возможных обрабатываемых событий в процедуре USER_COMMAND. _________________ ABAP/4 You
Sed0Y, посмотрите для примера программу BCALV_TEST_LIST_EVENTS.
И вообще поглядите программы пакета SLIS - они там специально для демонстрации технологии работы с ALV
Age: 47 Joined: 14 Nov 2008 Posts: 300 Location: Russia
Posted: Mon Jun 21, 2010 5:28 pm Post subject:
Пожалуй, присоединюсь к предыдущему автору. Оно вы, конечно, вопросы задавайте, поскольку не пИшете "send me code, pls!!!". Просто чувствуется, что вам нужно выбрать время и просмотреть тестовые примеры стандарта, ничего сложно там нет. _________________ ABAP/4 You
Пожалуй, присоединюсь к предыдущему автору. Оно вы, конечно, вопросы задавайте, поскольку не пИшете "send me code, pls!!!". Просто чувствуется, что вам нужно выбрать время и просмотреть тестовые примеры стандарта, ничего сложно там нет.
Спасибо.
Просто я сделал все так как вы и писали, но ничего не получилось, вот сижу и думаю где же я сделал ошибку... (
Age: 47 Joined: 14 Nov 2008 Posts: 300 Location: Russia
Posted: Mon Jun 21, 2010 5:54 pm Post subject:
Sed0Y wrote:
Просто я сделал все так как вы и писали, но ничего не получилось, вот сижу и думаю где же я сделал ошибку... (
Отлаживать надо. Что хотите с этими строками делать, зачем их выделяете? Если память мне не изменяет, вы как-то еще спрашивали, как PF-статус свой выставить для REUSE_ALV_GRID_DISPLAY, похоже это всё одна задача, да не важно. Ставьте точку останова на цикле по внутренней таблице в USER_COMMAND. Или в отладку тоже не заходит? _________________ ABAP/4 You
Просто я сделал все так как вы и писали, но ничего не получилось, вот сижу и думаю где же я сделал ошибку... (
Отлаживать надо. Что хотите с этими строками делать, зачем их выделяете? Если память мне не изменяет, вы как-то еще спрашивали, как PF-статус свой выставить для REUSE_ALV_GRID_DISPLAY, похоже это всё одна задача, да не важно. Ставьте точку останова на цикле по внутренней таблице в USER_COMMAND. Или в отладку тоже не заходит?
У меня есть собственная таблица для хранения настроек - условий для работы одной Z* программы....
И я решил сделать ректор этой таблицы, что бы не заполнять ее через код (select, insert, update...)
Вот у меня и работает все (Инсерт, Эдит) а Делит не работает для чего собственно и нужны мне эти чек боксы, выделил строку(ки) нажал удалить...
Отладчик работает, только там ничего нет интересного, у меня в таблицу не попадает статус выделения ЧЕКбокса, то есть чекбоксы ставлю в ТРУ, а во внутреней таблице ничего нет, не могу понять почему не попадает...
По поводу ПФ статуса может быть то был и я, тогда это было давно...
П.С. Не судите строго, я программирую всего лишь 3 месяца, спросить больше не у кого, потому и получается что иногда дурацкие вопросы
Age: 47 Joined: 14 Nov 2008 Posts: 300 Location: Russia
Posted: Mon Jun 21, 2010 6:19 pm Post subject:
Для ведения настроечной таблицы в подавляющем большинстве случаев обходятся генерацией диалога ведения к таблице, редактирование записей - транзакция SM30. А причин того, что "делит не работает" может быть много - код нужно смотреть.
P.S. Да вас вроде никто и не судит, просто качество ответа напрямую зависит от качества (информативности) вопроса, как и везде. _________________ ABAP/4 You
Для ведения настроечной таблицы в подавляющем большинстве случаев обходятся генерацией диалога ведения к таблице, редактирование записей - транзакция SM30. А причин того, что "делит не работает" может быть много - код нужно смотреть.
P.S. Да вас вроде никто и не судит, просто качество ответа напрямую зависит от качества (информативности) вопроса, как и везде.
А Вы можете просмотреть мой код? Может вы своим эксперт-глазом уведите в чем у меня проблема, и может дадите какой-то совет?
Потому что я в тупике и не знаю как решить задачу, разве что могу все переделать по другому, что не есть выход..
Age: 47 Joined: 14 Nov 2008 Posts: 300 Location: Russia
Posted: Mon Jun 21, 2010 6:59 pm Post subject:
В п/п DELLDATA отсутствует код для удаления записи из таблицы БД ZDURATION, синтаксис оператора DELETE см. в хелпе.
Еще из п/п user_command нужно убрать вот этот ацкий код:
Code:
SELECT * FROM ZDURATION INTO CORRESPONDING FIELDS OF TABLE gt_dat.
IF alv_grid IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = alv_grid.
ENDIF.
В п/п DELLDATA отсутствует код для удаления записи из таблицы БД ZDURATION, синтаксис оператора DELETE см. в хелпе.
Спасибо, но проблема не в этом, слава Богу я знаю как удалять, это в этом цикле я пытаюсь (проверяю) занеслось ли в таблицу ЧЕКЕР = 'X' как только будет заноситься то переделаю на DELETE FROM... WHERE...
Dmitriy wrote:
Еще из п/п user_command нужно убрать вот этот ацкий код
Для обновления ALV_GRID выставляйте просто rs_selfield-refresh = 'X', если изменения были.
Супер, большое спасибо за "rs_selfield-refresh = 'X',"
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum
All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG. SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG. Every effort is made to ensure content integrity. Use information on this site at your own risk.