Текущее время: Пт, апр 19 2024, 03:57

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: а почему progressbar периодически исчезает с экрана?
СообщениеДобавлено: Вт, сен 14 2004, 06:39 
Гость
вот такой вродебы простенький алгоритм:

data: pr0 pr1 pr2 type i.

select чегото_много
into itab.

* расчет параметров прогрессбара
describe table imara lines n.
prtxt = text-001. "текст сообщения
pr2 = 1 + ( n / 100 ). "шаг прогрессбара (число записей на 1%)
pr1 = pr2. "счетчик записей в одном шаге
pr0 = 0. "индикатор (1-100%)

*обработка данных
loop at itab.
* чегото делаем с каждой записью
perform Progress.
endloop.

form Progress.
* отображает каждый цикл обработки
pr1 = pr1 - 1.
if ( pr1 = 0 ). "следующий шаг - перегружаем счетчик
pr1 = pr2.
pr0 = pr0 + 1.
if pr0 = 100. "оборачивание через 100%
pr0 = 0.
endif.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = pr0
TEXT = prtxt.
endif.
endform.

т.е. ход обработки отображается на экране индикатором 0-100%
только вот странно - в процессе работы индикатор постоянно "мигает" - т.е. появится на несколько секунд, потом опять исчезнет, потом снова появляется .... Такое очучение, что у него есть некий "таймаут" отображения на экране sapgui. И на очень длинном цикле получается, что значительную часть времени индикатор не виден :(

Как-то можно пофиксить, чтобы он совсем не исчезал? ... Или накрайняк какойто иной индикатор того, что цикл идёт а не завис (песочные часики не предлагать - малоинформативно)


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 14 2004, 06:49 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
При частом обновлении "часики" действительно имеют обыкновение помигивать. Попробуйте обновлять их пореже.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: *
СообщениеДобавлено: Вт, сен 14 2004, 08:06 
Гость
дык вот и так уже пореже сделал: у меня веть рассчитывается сначала, сколько записей в цикле надо проскакать, чтобы прогрессбар прирос на 1% (меньше думаю нет смысла, да и накладные расходы на вызов ФМ растут) ... и получается что максимум 100 раз всего он вызывается .. и всеравно, пару секунд и опять пропал :( Причём, чем длиннее цикл, тем на дольшее время исчезает :(

А есть ли альтернативы "часикам" в сапе ?


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 14 2004, 08:29 
Специалист
Специалист

Зарегистрирован:
Вт, авг 24 2004, 16:49
Сообщения: 186
Откуда: SAP ERP60
Пол: Мужской
Намного лучше реагирует на частые обновления, да и быстрее работает вариант вообще без часиков (percent=...), с выводом процентов выполнения в виде текста...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 14 2004, 08:35 
Гость
Ага, нечто в духе "Обработано ххх записей" прекрасно работает". К тому же большие цифры будут иметь на юзеров психологический эффект :D
И постарайся не слишком часто дергать прогресс - обмен данными с фронтэндом будет тормозить работу


Последний раз редактировалось Vadim Вт, сен 14 2004, 08:42, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: а почему progressbar периодически исчезает с экрана?
СообщениеДобавлено: Вт, сен 14 2004, 08:37 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 08:36
Сообщения: 182
Откуда: Russia
Пол: Мужской
Pavel Berezin написал:
вот такой вродебы простенький алгоритм:
исчезнет, потом снова появляется .... Такое очучение, что у него есть некий "таймаут" отображения на экране sapgui. И на очень длинном цикле получается, что значительную часть времени индикатор не виден :(

Вот еще проще алгоритм:
Code:
REPORT xxx.
DO 100 TIMES.
  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
      PERCENTAGE = sy-index
      TEXT       = sy-index.
  DO 1000000 TIMES.
  ENDDO.
ENDDO.

Часики работают стабильно, не проподают вообще, иногда при обновлении мигают.

_________________
С Уважением Серега


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 14 2004, 08:40 
Специалист
Специалист

Зарегистрирован:
Вт, авг 24 2004, 16:49
Сообщения: 186
Откуда: SAP ERP60
Пол: Мужской
Это называется самому себе на хвост наступать :)
Медленно но КРАСИВО!!!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: а почему progressbar периодически исчезает с экрана?
СообщениеДобавлено: Вт, сен 14 2004, 08:40 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 08:36
Сообщения: 182
Откуда: Russia
Пол: Мужской
Цитата:
Часики работают стабильно, не проподают вообще, иногда при обновлении мигают.

Проверил на 4.0 и на 4.6, работает одинаково стабильно

_________________
С Уважением Серега


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 14 2004, 09:00 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
Ага. И одинаково долго.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: *
СообщениеДобавлено: Чт, сен 16 2004, 07:54 
Гость
видимо, всё дело в том, что происходит между вызвзм ФМ и концом цикла ... у меня там пакетный вызов транзакции, возможно он чтото с экраном делает, что часики периодически исчезают .... х.з., но вобщем идея понятна - спасибо всем, тема закрыта


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 16 2004, 08:03 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 31 2004, 14:57
Сообщения: 5257
Откуда: Ростов невеликий
Пол: Мужской
Pavel Berezin написал:
видимо, всё дело в том, что происходит между вызвзм ФМ и концом цикла ... у меня там пакетный вызов транзакции, возможно он чтото с экраном делает, что часики периодически исчезают .... х.з., но вобщем идея понятна - спасибо всем, тема закрыта


Еще заметил:
При вызове через /oтр-я индикации нет, а при прямом - всё ок.

p.s. разбираться влом было - просто заметил фигню такую ))


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

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


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

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


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

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