Текущее время: Ср, авг 06 2025, 22:26

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


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

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


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

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