Текущее время: Пт, июн 07 2024, 01:47

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Пн, янв 24 2011, 18:39 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 09 2010, 14:02
Сообщения: 14
К абапу в рамках проекта был привлечен абсолютно неожиданно.
По сути разгребаю с нуля.
Задача: реализовать ракурс ведения с помощью ALV.
Во внутреннюю таблицу помимо целевой таблицы БД подтягиваются тексты из справочников, так что найденные вариации "универсальных" редакторов не спасли.
Большая просьба - придайте правильное направление мысли, желательно в виде примеров кода, как перенести изменение на экране (во внутренней таблице) в таблицу БД.
Спасибо.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Вт, янв 25 2011, 07:03 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
1. Всем известная книжка Кремчера(глава 13).
2. f1 по операторам insert, delete, modify, update.
3. тр abapdocu
4. se38 -> BCALV_edit_*
5. поиск по форуму
Везде есть примеры кода.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Вт, янв 25 2011, 09:10 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Orlangur написал(а):
Задача: реализовать ракурс ведения с помощью ALV.

События в ALV Grid


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Вт, янв 25 2011, 17:40 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 09 2010, 14:02
Сообщения: 14
Спасибо.
Предложенные источники пересмотрел.
В принципе, уже заглядывал.
Попробую сформулировать вопрос конкретнее.
По изменению внутренней таблицы более-менее понятно.
Но нигде не смог найти вариантов переноса изменений в таблицу БД.
Полная перезапись таблицы или поячеечное сравнение - вариант, но не рациональный.
Есть мысль добавить поле внутренней таблицы, в котором пометить измененные и добавленные строки.
Правда не осознал еще как поймать ROW_ID измененных строк красивее.
А вот что делать с удаленными - не ясно.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Ср, янв 26 2011, 07:14 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Orlangur написал(а):
Есть мысль добавить поле внутренней таблицы, в котором пометить измененные и добавленные строки.

Хорошая мысль. либо так, либо хранить отдельно хранить ключи добавленных/измененных позиций
Orlangur написал(а):
Правда не осознал еще как поймать ROW_ID измененных строк красивее.

Отловив событие data_changed, либо data_changed_finish
Orlangur написал(а):
А вот что делать с удаленными - не ясно.

Отлавливать событие data_changed, там есть информация об удаленных позициях
Orlangur написал(а):
Предложенные источники пересмотрел.

Посмотрите еще программку BCALV_EDIT_04, в ней как раз подготавливаются для сохранения в бд данные, измененные в гриде.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Ср, янв 26 2011, 07:32 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Плюс ко всему, если хотите, можете посмотреть как устроена тр se16n с опцией редактирования. (ФМ SE16N_INTERFACE).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Пт, янв 28 2011, 12:28 
Специалист
Специалист

Зарегистрирован:
Чт, дек 16 2010, 15:23
Сообщения: 131
Откуда: Набережные Челны
Пол: Мужской
Я делаю 2 таблицы. Одна для вывода на ALV и для синхронизации. Вторая для сравнения.

При сохранении синхронизирую первую, и через сравнение со второй нахожу удаленные, вставленные и измененные строки


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Вт, фев 08 2011, 17:45 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 09 2010, 14:02
Сообщения: 14
Спасибо отозвавшимся. Сохранение записей удалось

В процессе косметического доведения возник следующий вопрос:
Ключевое поле не доступно для редактирования. Собственно на его значениях я все и построил.
Но нужно открыть для редактирования поле в новых записях.
Открыть редактирование на уровне ячейки Easy Reference for ALV GRID CONTROL, да и из того, что нашел на форуме предлагают с помощью внутренней таблицы. Т.е. на событие data_changed таким образом не привязаться(новая запись во внутренней таблице еще не отображена).
Возможны альтернативные пути?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Ср, фев 09 2011, 05:26 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Решал такое через событие data_changed_finished.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Ср, фев 09 2011, 10:19 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, июн 25 2007, 17:37
Сообщения: 350
Пол: Мужской
Orlangur написал(а):
К абапу в рамках проекта был привлечен абсолютно неожиданно.
По сути разгребаю с нуля.
Задача: реализовать ракурс ведения с помощью ALV.
Во внутреннюю таблицу помимо целевой таблицы БД подтягиваются тексты из справочников, так что найденные вариации "универсальных" редакторов не спасли.
Большая просьба - придайте правильное направление мысли, желательно в виде примеров кода, как перенести изменение на экране (во внутренней таблице) в таблицу БД.
Спасибо.


Посмотрите тут: http://sapboard.ru/forum/viewtopic.php?t=43422


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Ср, фев 16 2011, 19:07 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 09 2010, 14:02
Сообщения: 14
Besa написал:
Решал такое через событие data_changed_finished.


Спасибо. В итоге так и поступил.
Изменение стиля позволяет вводить значения через справку F4.
Для ручного ввода надо обновить грид.
Пробовал метод refresh_table_display с последующей фокусировкой на ячейку. Но сбивает фильтры и сортировки.
Какие альтернативы еще есть?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД  Тема решена
СообщениеДобавлено: Сб, фев 19 2011, 15:22 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Пробовали параметр i_soft_refresh = 'X'. у refresh_table_display?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Вт, фев 22 2011, 18:21 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 09 2010, 14:02
Сообщения: 14
Не был знаком с таким. Спасибо. Вопрос решен.
(Хотя кое-где весьма индусскими методами)


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Ср, фев 23 2011, 05:42 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Orlangur написал(а):
(Хотя кое-где весьма индусскими методами)

На что Вы намекаете? :lol:


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Сохранение изменений в ALV в таблицу БД
СообщениеДобавлено: Ср, фев 23 2011, 11:45 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 09 2010, 14:02
Сообщения: 14
На то, что половина кода ввиду отсутствия опыта и знаний была порождена мозгом в процессе созерцания.
И его работоспособность объясняется лишь тайнами астрала.


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

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


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

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


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

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