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

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


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

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


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

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