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

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


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

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


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

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