Текущее время: Вс, апр 28 2024, 12:28

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


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

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


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

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