Текущее время: Чт, авг 07 2025, 16:16

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Странные проблемы с обновлением
СообщениеДобавлено: Вт, авг 09 2016, 17:24 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Но экране грид с таблицей, выбираем строку, нажимаем кнопку, появляется модальное окно с другим АЛВ гридом(содержимое привязано к выбранной строке по bukrs belnr gjahr)
возможны два варианта:
1) посмотрели, вышли. всё нормально, можем спокойно выбирать другую строку и вызывать модальное окно, данные тянуться корректно

2) мы поменяли данные нажали кнопку Сохранить в модальном окне(замодифаили БД), вышли
и предположим выбрали другую строку и вызвали модальное окно... и тут в модальном окне отображаются данные для предидущей обработанной строки, где мы жали "Сохранить"

при выходе с модального окна я объект грида чищу
Code:
IF lo_viewer->mo_perspective IS BOUND.
          lo_viewer->mo_perspective->free( ).
        ENDIF.

        IF lo_viewer->mo_container IS BOUND.

          lo_viewer->mo_container->free( ).

        ENDIF.

        FREE: lo_viewer->mo_perspective
            , lo_viewer->mo_container
            .

        cl_gui_cfw=>flush( ).


подскажите, отчего может возникать эта беда?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Вт, авг 09 2016, 19:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пн, мар 28 2005, 15:38
Сообщения: 1257
Наверное, стоит проверить, что у вас передается в модальный грид. Т.е. как вы читаете данные из первого грида, и как эти данные передаются во второй грид. Похоже где-то не чистите данные\ссылку на них

_________________
Там, где я рос, единственным развлечением было запоминать число «π».(С) Н. Стивенсон


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Вт, авг 09 2016, 22:34 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Не надо чистить ни грид ни контейнер, они должны создаваться один раз в PBO экрана и умереть один раз вместе с ним же.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 09:58 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Кодер написал(а):
Наверное, стоит проверить, что у вас передается в модальный грид. Т.е. как вы читаете данные из первого грида, и как эти данные передаются во второй грид. Похоже где-то не чистите данные\ссылку на них

данные передаются корректно т.е. считывается индекс выбранной строки
более того в set_table_for_a_first_display передаются корректные данные, но почему то на экране отображаются данные последней сохранённой строки


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 10:00 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Parazit написал:
Не надо чистить ни грид ни контейнер, они должны создаваться один раз в PBO экрана и умереть один раз вместе с ним же.


вроде так и есть

в пбо экрана вызывается статический метод одного из классов в котором создаётся объект контейнера и грида, а при ексите они умирают


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 10:19 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
AL13SH написал(а):
Parazit написал:
Не надо чистить ни грид ни контейнер, они должны создаваться один раз в PBO экрана и умереть один раз вместе с ним же.


вроде так и есть

в пбо экрана вызывается статический метод одного из классов в котором создаётся объект контейнера и грида, а при ексите они умирают

Экран не умирает при выходе из него, он умрёт при выходе из программы вообще!

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 10:46 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Parazit написал:
Экран не умирает при выходе из него, он умрёт при выходе из программы вообще!


как мне его отрефрешить в этом случае? или как убить?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 10:58 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
а что, стандартный метод не помогает?

Code:
CALL METHOD alv->refresh_table_display.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 11:10 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
AL13SH написал(а):
Parazit написал:
Экран не умирает при выходе из него, он умрёт при выходе из программы вообще!


как мне его отрефрешить в этом случае? или как убить?

А это и не нужно, просто выводите новую таблицу через set_table_for_first_display

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 14:36 
Специалист
Специалист

Зарегистрирован:
Пт, янв 22 2016, 10:20
Сообщения: 170
Parazit написал:
А это и не нужно, просто выводите новую таблицу через set_table_for_first_display




так в том то и беда, что так и делаю
и в передающейся таблице корректные данные, но отображаются те что сохранял

сегодня перепроверил, все методы, что вы, уважаемые коллеги, мне предлагали, но эффект тот же

т.е. поясню ещё раз, set_table_for_first_display срабатывает каждый раз когда мы открываем этот раккурс в модальном окне, при закрыти мы вызываем FREE для объекта грида и контейнера...
где я ошибся?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 14:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
AL13SH написал(а):
Parazit написал:
А это и не нужно, просто выводите новую таблицу через set_table_for_first_display




так в том то и беда, что так и делаю
и в передающейся таблице корректные данные, но отображаются те что сохранял

сегодня перепроверил, все методы, что вы, уважаемые коллеги, мне предлагали, но эффект тот же

т.е. поясню ещё раз, set_table_for_first_display срабатывает каждый раз когда мы открываем этот раккурс в модальном окне, при закрыти мы вызываем FREE для объекта грида и контейнера...
где я ошибся?

Беда в том, что Вы так не делаете, иначе бы всё работало. Ещё раз - при закрытии никаких "FREE для объекта грида и контейнера" делать не надо. Соответственно, перед созданием грида и контейнера необходимо проверять их переменные на INITIAL (они должны быть глобальными), если пусто, только тогда создавать.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 16:08 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Если исключить банальную ошибку, связанную с повторной передачей в грид той же таблицы, скорее всего, ссылка на контейнер не освобождается. В отладчике проверили, что Вы делаете free той же ссылке на контейнер, которую получили при создании? И еще: с этим контейнером связана 1 ссылка?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 16:50 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
LAT написал(а):
Если исключить банальную ошибку, связанную с повторной передачей в грид той же таблицы, скорее всего, ссылка на контейнер не освобождается. В отладчике проверили, что Вы делаете free той же ссылке на контейнер, которую получили при создании? И еще: с этим контейнером связана 1 ссылка?

Ссылка на контейнер есть у экрана, она не освобождается, освободится она только со смертью экрана, т.е. по завершению программы (транзакции) - в этом вся загвоздка.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 16:54 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, май 12 2011, 16:06
Сообщения: 351
Топикстартер же делает free.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странные проблемы с обновлением
СообщениеДобавлено: Ср, авг 10 2016, 16:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
LAT написал(а):
Топикстартер же делает free.

Это не имеет никакого значения. Объект живёт до тех пор, пока не освободится последняя ссылка на него.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу 1, 2  След.

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


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

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


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

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