Текущее время: Ср, апр 24 2024, 23:24

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


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

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


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

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