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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Отложенный вызов ФМ
СообщениеДобавлено: Чт, мар 18 2021, 17:23 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
Добрый день, можно ли запустить из abap-программы отложенный вызов ФМ. Чтобы ФМ запустился через 20 минут?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отложенный вызов ФМ
СообщениеДобавлено: Чт, мар 18 2021, 17:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Джобу запланируй программно

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отложенный вызов ФМ
СообщениеДобавлено: Чт, мар 18 2021, 17:56 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
Kengur написал(а):
Джобу запланируй программно

Чтобы джоб запланировать, нужно же создать report, который будет вызывать ФМ. Проблема как передать report-у все параметры Функционального модуля(параметры ФМ сложные табличные типы)? А report может принимать только простые параметры через submit.

А вот такое решение является плохим: вызывать ФМ в режиме IN BACKGROUND TASK в асинхронном режиме и в самом ФМ делать wait на 20 минут?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отложенный вызов ФМ
СообщениеДобавлено: Чт, мар 18 2021, 18:32 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
skaa написал(а):
А вот такое решение является плохим: вызывать ФМ в режиме IN BACKGROUND TASK в асинхронном режиме и в самом ФМ делать wait на 20 минут?

Очень плохо. Вы же на эти 20 минут заблокируете целый процесс под каждое такое ожидание. У вас их в SM51 так много, что вы можете себе это позволить?

Я бы покопал в сторону таких вариантов:
1. Планируем фоновое задание, варианты вызова сохраняем в БД. Помнится, есть какие-то команды сохранения сложных структур или объектов в БД как единого целого, привязанного к некому ID.
Тогда на вход фонового задания можно будет подавать этот самый ID варианта запуска.
2. По сути, вариант п1, но используем частично готовую инфраструктуру.
Вызов нужного ФМ регистрируем в QRFC или TRFC очереди, автоматическую обработку очереди отключаем и программируем запуск обработки элементов
этой очереди в нужном вам темпе.

В любом случае, оба варианта - это идеи, а не готовые решения и я бы посоветовал еще аз поисследовать задачу - так ли уж вам нужна эта задержка?

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отложенный вызов ФМ
СообщениеДобавлено: Чт, мар 18 2021, 18:39 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Вспомнил самый простой вариант, который приходилось применять:
1. Все входные параметры ФМ превращаем в одну deep структуру.
2. Через call transformation превращаем структуру в XML и сохраняем в таблицу БД с двумя колонками:
- ID вызова
- Binary data c XML, содержащим наши структуры вызова.
3. Планируем фоновое задание, на вход передаем ID вызова.

В фоновом задании читаем XML, так же конвертим его назад в deep структуру и вызываем ФМ.

_________________
Удача - результат нашего желания (© А. Нортон)


Последний раз редактировалось LKU Пт, мар 19 2021, 14:08, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Отложенный вызов ФМ
СообщениеДобавлено: Чт, мар 18 2021, 23:39 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
LKU спасибо за идеи! Попробую использовать trfc с отложенным запуском очереди.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Отложенный вызов ФМ
СообщениеДобавлено: Пт, мар 19 2021, 14:09 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Удачи, напишите что получится.

_________________
Удача - результат нашего желания (© А. Нортон)


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

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


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

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


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

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