Текущее время: Сб, июл 19 2025, 19:30

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Вызов модуля диалоговой программы (в диалоге) из фоновой программы
СообщениеДобавлено: Ср, сен 18 2013, 20:16 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, апр 12 2006, 12:43
Сообщения: 863
Откуда: СССР
Пол: Мужской
Добрый день.

Не подскажет ли уважаемый all возможен ли subj?
Суть задачи в следующем - из диалоговой программы вызываются фоновые, через
Code:
JOB_OPEN
SUBMIT ... VIA JOB jobname NUMBER jobcount
AND RETURN.
JOB_CLOSE

После старта первой фоновой задачи (submit VIA JOB) в диалоге надо повесить на dynpro или control кнопку c текстом не желает ли юзер прервать выполнения цепочки фоновых задач? Пока висит запрос для пользователя, хотелось бы чтобы по событию (или иному приёму) на экране где-нибудь под кнопкой проскакивали сообщения о завершении (или ошибке) в фоновой задаче.
Т.е. из фона находить эту диалоговую инстанцию (с головной программой) и вызывать в ней либо Perform либо Call Method и передвать туда статус успех/неуспех.

Пока решаю задачу в цикле с задержкой и анализирую статус Finished, но мне не нравится. :?
Есть ли другой способ именно в Фоне, например call back.
Про метод STARTING NEW TASK PERFORMING ... ON END OF TASK знаю, но это не совсем (или совсем не) то.

Т.е. стоит задача:
1. Как-то определить ID диалоговой инстанции с головной программой.
2. Ищется техника вызва метода (подпрограммы) диалоговой программы из фоной программы.

Что скажете уважаемые?
Возможно такое в принципе?

_________________
Никого не трогаю, примусы починяю.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вызов модуля диалоговой программы (в диалоге) из фоновой программы
СообщениеДобавлено: Ср, сен 18 2013, 23:32 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 22 2013, 01:09
Сообщения: 108
Откуда: г. Жлобин, Республика Беларусь
Пол: Мужской
hoar написал:
Добрый день.

Не подскажет ли уважаемый all возможен ли subj?
Суть задачи в следующем - из диалоговой программы вызываются фоновые, через
Code:
JOB_OPEN
SUBMIT ... VIA JOB jobname NUMBER jobcount
AND RETURN.
JOB_CLOSE

После старта первой фоновой задачи (submit VIA JOB) в диалоге надо повесить на dynpro или control кнопку c текстом не желает ли юзер прервать выполнения цепочки фоновых задач? Пока висит запрос для пользователя, хотелось бы чтобы по событию (или иному приёму) на экране где-нибудь под кнопкой проскакивали сообщения о завершении (или ошибке) в фоновой задаче.
Т.е. из фона находить эту диалоговую инстанцию (с головной программой) и вызывать в ней либо Perform либо Call Method и передвать туда статус успех/неуспех.

Пока решаю задачу в цикле с задержкой и анализирую статус Finished, но мне не нравится. :?
Есть ли другой способ именно в Фоне, например call back.
Про метод STARTING NEW TASK PERFORMING ... ON END OF TASK знаю, но это не совсем (или совсем не) то.

Т.е. стоит задача:
1. Как-то определить ID диалоговой инстанции с головной программой.
2. Ищется техника вызва метода (подпрограммы) диалоговой программы из фоной программы.

Что скажете уважаемые?
Возможно такое в принципе?


Как вариант такое решение - в диалоговой перед вызовом фоновой закидываем в память имя юзера, который будет запускать фоновую задачу (или передаем как входной параметр в фоновую задачу). А в фоновой задаче в случае возникновения ошибки или завершения отправлять сообщение процесса (модуль PP/PI) этому юзеру. В сообщении указать реквизиты фоновой задачи, которая это сообщение послала и почему. Плюс какой: не нужно искать прогу ,которая запустила фон, достаточно знать юзера.

_________________
Когда другие слепо следуют за истиной, помни - ничто не истина.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Вызов модуля диалоговой программы (в диалоге) из фоновой программы
СообщениеДобавлено: Чт, сен 19 2013, 07:40 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
hoar написал:
Пока решаю задачу в цикле с задержкой и анализирую статус Finished, но мне не нравится. :?

Как вариант - вместо цикла с задержкой можно использовать таймер.
Как еще один вариант - внутри submit'a устанавливать блокировку, и в программе вместо статуса Finished анализировать наличие этой блокировки

hoar написал:
Возможно такое в принципе?

В версии 7.40 появилась фича ABAP Messaging Channels - как раз для межпроцессного взаимодействия. Для более ранних облом, по моему только варианты выше

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вызов модуля диалоговой программы (в диалоге) из фоновой программы
СообщениеДобавлено: Чт, окт 10 2013, 19:26 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, апр 12 2006, 12:43
Сообщения: 863
Откуда: СССР
Пол: Мужской
Решил таки задачу через Persistent класс и RFC in New task :D

_________________
Никого не трогаю, примусы починяю.


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

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


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

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


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

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