Текущее время: Вс, июл 20 2025, 22:17

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: запустить в фоне и дождаться завершения
СообщениеДобавлено: Чт, фев 08 2007, 05:47 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, апр 08 2005, 09:03
Сообщения: 98
Есть программа, которая через транзакцию fs15 создает сеанс пакетного ввода и запускает его в фоне через sm35. отрабатывает оно примерно до 4 минут... а нужно уже следующую порцию данных обрабатывать.

можно ли отследить момент завершения этого фонового задания?

здесь и здесь уже обсуждалось, но я запутался окончательно...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 08 2007, 13:17 
Гость
определись, по каким параметрам можно
идентифицировать твое задание в табличке TBTCP

а потом что-то вроде этого.

Code:
DATA: TB LIKE TBTCP.
DO.
  CLEAR: TB.
  SELECT SINGLE * FROM TBTCP INTO TB WHERE  .....

  IF TB-STATUS = 'P' OR TB-STATUS = 'F'.
     EXIT.
  ENDIF.
ENDDO.


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

Зарегистрирован:
Вт, дек 07 2004, 10:39
Сообщения: 610
я бы внутрь DO wait скока-нибудь добавил - а то ведь будет БД долбить - нехорошо

_________________
полный SAPец


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

Зарегистрирован:
Пн, авг 14 2006, 17:00
Сообщения: 9
А если весь вызов еще обернуть в выражение:
CALL FUNCTION funcname STARTING NEW TASK PERFORMING form ON END OF TASK


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 08 2007, 15:56 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
VGhost написал(а):
А если весь вызов еще обернуть в выражение:
CALL FUNCTION funcname STARTING NEW TASK PERFORMING form ON END OF TASK

А смысл? Только лишний диалоговый процесс будет задействован и всё.

_________________
"После" - не значит "вследствие"


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

Зарегистрирован:
Пн, авг 14 2006, 17:00
Сообщения: 9
sy-uname написал(а):
VGhost написал(а):
А если весь вызов еще обернуть в выражение:
CALL FUNCTION funcname STARTING NEW TASK PERFORMING form ON END OF TASK

А смысл? Только лишний диалоговый процесс будет задействован и всё.

Позволю прицитировать help:
Starts the function module func asynchronously in a new session. In contrast to normal function module calls, the calling program resumes processing as soon as the function module is started in the target system. It does not wait until the function module has finished.

Если я не ошибаюсь, то в нем говорится. что вызывающая программа продолжает выполнение не дожидаясь завершения вызванной функции. В исходном посте автор хотел именно этого - не дожидаясь 4 минут, а запустить следующий процесс. А вопрос в том какой процесс использовать не поднимался.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 08 2007, 16:31 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
VGhost написал(а):
...
Если я не ошибаюсь, то в нем говорится. что вызывающая программа продолжает выполнение не дожидаясь завершения вызванной функции. В исходном посте автор хотел именно этого - не дожидаясь 4 минут, а запустить следующий процесс. А вопрос в том какой процесс использовать не поднимался.

Данная тема называется запустить в фоне и ДОЖДАТЬСЯ ЗАВЕРШЕНИЯ.

_________________
"После" - не значит "вследствие"


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

Зарегистрирован:
Пн, авг 14 2006, 17:00
Сообщения: 9
sy-uname написал(а):
Данная тема называется запустить в фоне и ДОЖДАТЬСЯ ЗАВЕРШЕНИЯ.

Согласен. Был неправ, вспылил. :lol:


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

Зарегистрирован:
Пт, апр 08 2005, 09:03
Сообщения: 98
да, мне нужно именно дождаться завершения и только после продолжить :)

спасибо, буду пробовать чтение из таблицы :) естественно, каждое чтение с небольшой паузой, чтобы не "засыпать" БД лишними запросами.


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

Зарегистрирован:
Пт, апр 08 2005, 09:03
Сообщения: 98
сейчас проверил выборку из TBTCP. по полю STATUS = R или F, при этом предварительно запустив длительный процесс в фоне.
так вот в выборку не попало ничего.
при этом в SM50 я четко видел, что процесс-то висит.
и еще. имя программы постоянно меняется. как это отследить-то?

что интересно программа, которую я запустил была со статусом P во время выполнения и по завершению.


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

Зарегистрирован:
Пт, апр 08 2005, 09:03
Сообщения: 98
если делать выборку из TBTCO, то поле статус содержит корректное значение (R) :)
вот так


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

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


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

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


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

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