Текущее время: Вт, июл 22 2025, 15:07

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: фоновый режим
СообщениеДобавлено: Пт, окт 19 2007, 09:41 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, дек 12 2006, 11:07
Сообщения: 62
добрый день,

подскажите плиз, как запустить немедленно ФМ в фоновом режиме и в программе получить результат его отработки?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 19 2007, 09:49 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
попробуйте поиском, по слову 'фоновый'

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 19 2007, 09:53 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, дек 12 2006, 11:07
Сообщения: 62
да я пробовал, но то что там предлагается, почему-то у меня не получилось (именно то, что хочу), вот и думал, может кто-нибудь приведет кусок рабочего кода, выполняющий подобные действия


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 19 2007, 10:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
call function '...' starting new task '...' performing '...' on end of task


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 19 2007, 10:34 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, дек 12 2006, 11:07
Сообщения: 62
да такой механизм работает, но насколько я понимаю не фоновый, а диалоговый процесс!!!


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Ну, его иногда называют фоновым, поскольку он отвязан от GUI.
А если хочется запустить именно фоновый процесс, то
http://sapboard.ru/forum/viewtopic.php?t=22048

Результаты получать через таблицы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 19 2007, 11:16 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, дек 12 2006, 11:07
Сообщения: 62
я как раз сейчас иследую тему

CALL FUNCTION 'JOB_OPEN'
SUBMIT..VIA JOB job_name NUMBER job_count...
CALL FUNCTION 'JOB_CLOSE'

это для меня перспективный вариант решения проблемы.

но тут пока не могу решить 2 вопроса:
1. почему то SUBMIT срабатывает сразу же!!! т.е. если объект (который в SUBMIT потом используется) сейчас заблокирован, то выдается ошибка, причем не в протокол какой-нибудь, а сразу на экран. это меня не устраивает. Странно, что SUBMIT не срабатывает после CALL FUNCTION 'JOB_CLOSE'???
2. Как отловить момент после CALL FUNCTION 'JOB_CLOSE', что задание выполнено и как получить результат?!


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

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
1. Может JOB_OPEN ошибку вернул? А потом submit, конечно, не запустится. Ошибка на экране - это не ошибки изнутри submit, а ошибка запуска submit по причине того, что job не открыт.

2. Через таблицы, или через SHARED MEMORY, или через глобальную память (см. транзакции SHMM, SHMA).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 19 2007, 11:48 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
zxcvbn написал(а):
1. почему то SUBMIT срабатывает сразу же!!! т.е. если объект (который в SUBMIT потом используется) сейчас заблокирован, то выдается ошибка, причем не в протокол какой-нибудь, а сразу на экран. это меня не устраивает. Странно, что SUBMIT не срабатывает после CALL FUNCTION 'JOB_CLOSE'???

Возможно это проверки в блоках до START-OF-SELECTION вызываемой программы
Цитата:
The VIA JOB addition also loads the program accessed in a separate internal mode when the SUBMIT statement is executed and the system performs all the steps specified before START-OF-SELECTION


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 19 2007, 12:15 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, дек 12 2006, 11:07
Сообщения: 62
Alex80 написал:
Возможно это проверки в блоках до START-OF-SELECTION вызываемой программы
Цитата:
The VIA JOB addition also loads the program accessed in a separate internal mode when the SUBMIT statement is executed and the system performs all the steps specified before START-OF-SELECTION


да, это действительно, так.

а кто-то знает,чем фоновый режим при немедленном запуске отличается по сути от диалогового? Он меньше ресурсов потребляет, или что?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 19 2007, 12:20 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
С точки зрения базиса - ничем. Ни при немедленном, ни при отложенном.
Процессы находятся в общем пуле.
Можно только задать различные процентные/числовые ограничения(соотношения) на кол-во тех или других.

UPD.
Для запуска пользуйте
CALL FUNCTION func IN BACKGROUND UNIT oref parameter_list.
Или, при базисе ниже 7.0:
CALL FUNCTION func IN BACKGROUND TASK [DESTINATION dest] pameter_list [AS SEPARATE UNIT].


Последний раз редактировалось Пономарев Артем Пт, окт 19 2007, 12:25, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 19 2007, 12:22 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
zxcvbn написал(а):
2. Как отловить момент после CALL FUNCTION 'JOB_CLOSE', что задание выполнено и как получить результат?!


Можно считвать в цикле с некоторым интервалом таблицу TBTCO на изменение поля status
( btc_running 'R',
btc_ready 'Y',
btc_scheduled 'P',
btc_released 'S',
btc_aborted 'A',
btc_finished 'F',
btc_put_active 'Z',
btc_unknown_state 'X').

Результат через ФМ BP_JOB_READ получить номер спула и/или TemSe-объекта.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 19 2007, 12:27 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, дек 12 2006, 11:07
Сообщения: 62
так отлично :) все вроде сходится, осталось побороть вопрос, отработки ошибок выполнения программы. Т.е. если в результате фонового выполнения возникли ошибки(сообщения), то как бы мне их отловить?

может есть ФМ, который возвращает результат фоновой работы с таблицей сообщений, как в бапи?

это для констукции
CALL FUNCTION 'JOB_OPEN'
SUBMIT..VIA JOB job_name NUMBER job_count...
CALL FUNCTION 'JOB_CLOSE'

И кстати, никто не знает про преимущества
CALL FUNCTION 'JOB_SUBMIT' над просто SUBMIT..VIA JOB job_name NUMBER job_count... ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 13 2007, 10:20 
Начинающий
Начинающий

Зарегистрирован:
Ср, ноя 28 2007, 09:42
Сообщения: 22
дорогие абаперы...а как вытащить результат отработки фоновой задачи?Короче говоря результат отработки спула.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 13 2007, 10:48 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
A_Smith написал(а):
дорогие абаперы...а как вытащить результат отработки фоновой задачи?Короче говоря результат отработки спула.

ФМ RSPO_RETURN_ABAP_SPOOLJOB


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.

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


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

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


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

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