Текущее время: Пт, июл 18 2025, 10:08

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Как в цикле повесеть определенное время?
СообщениеДобавлено: Пн, мар 03 2008, 11:14 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, авг 02 2007, 14:26
Сообщения: 443
Откуда: S/4 HANA
Пол: Мужской
Добрый день, есть ли в абапе стандартная задержка времени? Мне нужно чтобы программа к примеру повесела 1 мин в цикле, а потом перешла к др. операции.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 03 2008, 11:23 
Начинающий
Начинающий

Зарегистрирован:
Пн, янв 14 2008, 08:14
Сообщения: 12
CALL FUNCTION 'RFC_PING_AND_WAIT'
EXPORTING
seconds = 60.

или

CALL FUNCTION 'ENQUE_SLEEP'
EXPORTING seconds = 60
EXCEPTIONS OTHERS = 2.

или

WAIT UP TO 60 SECONDS.


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Или модный CL_GUI_TIMER, который, например, можно использовать совместно с объектным ALV.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, мар 03 2008, 12:11 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
Если Вы хотите прервать обработку цикла через определенное время, то просто зафиксируйте начало выполнения в переменной, напишите в цикле проверку по условию и высчитывайте каждым проходом искомую величину относительно начального времени. Как дойдете до требуемой величины - сделайте EXIT.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, мар 06 2008, 11:29 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
John Doe написал:
Если Вы хотите прервать обработку цикла через определенное время, то просто зафиксируйте начало выполнения в переменной, напишите в цикле проверку по условию и высчитывайте каждым проходом искомую величину относительно начального времени. Как дойдете до требуемой величины - сделайте EXIT.


Плохой метод.
1. Пока будет выполняться цикл, диалоговый процесс будет занят - это плохо
2. Система обновляет переменные с системным временем во время выполнения диалогового шага не регулярно, поэтому придётся делать GET TIME перед проверкой.
3. Лучше использовать команду WAIT UP TO time SECONDS.


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
John Doe написал:
Если Вы хотите прервать обработку цикла через определенное время ...


DKiyanov написал:
Плохой метод.


John Doe имел в виду прерывание полезного цикла, а автор топика имел в виду бесполезные циклы для задержки.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, мар 06 2008, 12:02 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, ноя 03 2004, 14:51
Сообщения: 1912
Откуда: КраснАдар
Пол: Мужской
sibrin написал:
John Doe имел в виду прерывание полезного цикла, а автор топика имел в виду бесполезные циклы для задержки.

Да, именно это имел в виду. Иногда приходится делать такие прерывания по требованию пользователей "из-за долгого выполнения". Конечно правильнее проверять обязательное заполнение полей селекционника, к примеру. Но случаи бывают разные...


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

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


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

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


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

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