Запуск Workflow автоматом "в фоне" (Третья тема)

Автор Паганель, Червень 11, 2009, 10:52:56 ПП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Паганель

Ссори за дилетантский вопрос, логичнее было бы назвать тему "Третий вопрос" (но боюсь нарваться на бан, Уукрулыч уже предупреждал http://sapforum.biz/index.php/topic,477.msg2572.html#msg2572)......


Вообщем тут надо бы освоится с сим "чудесным зверем" под названием Workflow, копаюсь .... просьба не пинать сильно .... честное слово, курсы дочитаю, неделька максимум ..... вот попытался сделать примерчик http://www.mortenhjorthnielsen.dk/BPM/call%20workflow%20from%20message%20longtext.htm и естественно, возникал парочка вопросов:

1. как сделать так, чтобы поток операций запускался автоматически, а не по нажатию на кнопку см последний рисунок в конце статьи ....

2. ну вот типа сделал, даже работает, когда нажимаешь тестировать в swdd,  запускается назначенный отчет ..... но в реальности - ничего не получается (использую SWUY - Связь Поток операций и мессаджей, т.е. создал привязку месаджа, в поток операций добавил вызов нужного мне отчета ..... ) ... а в реальности, получается что ничего не вызывается при наступлении события (генерации ошибки) ....

3. Общий вопрос: ну вот, мы привязали событие (сообщение об ошибке) и поток операций, все классно, только как теперь это все запустить в реальной системе, т.е  хотелось бы услышать "якшо буде на те ласка вельмишановнiх панi", последовательность шагов в реальном проекте, типа создаем поток swdd ..... сохраняем ..... а дальше?

№1

Мой блог


Uukrul

Цитата: Паганель від Червень 12, 2009, 10:36:40 ДП
Какие именно?
Вопрос поставлен не корректно.. идешь туда смотришь что там есть и приводишь в студию...

№1

Цитата: Паганель від Червень 12, 2009, 10:36:40 ДП
Какие именно?
Ну там... пользователь, RFC и прочее. Можно сделать автоматом по кнопке
Мой блог

Паганель

Цитата: № 1 від Червень 12, 2009, 11:18:00 ДП
Ну там... пользователь, RFC и прочее. Можно сделать автоматом по кнопке

Спасибо, а то что-то не заметил срузу даную кнопку ....

Паганель

Цитата: Uukrul від Червень 12, 2009, 11:05:00 ДП
Вопрос поставлен не корректно.. идешь туда смотришь что там есть и приводишь в студию...

NachDenken


NachDenken

уже спроектировал свой поток в swdd ?
а шаги в нем какие (операции) к ним задачи созданы ?
у задач есть свойство выполнять в фоне или диалоге

Uukrul

Цитата: NachDenken від Червень 15, 2009, 10:52:18 ДП
автоматом или фоном ?
Да он хочет в фоне, автоматом причем как я понял реакция должна быть на стандартные ошибки для заказа ММ, а там похоже автоматом никак, надо кнопкой запускать поток.

NachDenken

такое ощущение что там не активненько что-то (для разных мандантов отдельно активность должна быть),
т.е. событие ошибки происходит связь с потоком есть но поток не стартует

Uukrul

Цитата: NachDenken від Червень 15, 2009, 11:27:27 ДП
такое ощущение что там не активненько что-то (для разных мандантов отдельно активность должна быть),
т.е. событие ошибки происходит связь с потоком есть но поток не стартует
Так оно и не должно стартовать, только если просмотр лога и там кнопку нажать... это даже в их примере вроде как так показывается.

NachDenken

теперь понятно!
у меня тоже получилось с кнопочкой,
запустился поток после нажатия.

может тогда стартануть поток ручками ? создать событие ?

Uukrul

Цитата: NachDenken від Червень 15, 2009, 01:40:39 ПП
теперь понятно!
у меня тоже получилось с кнопочкой,
запустился поток после нажатия.

может тогда стартануть поток ручками ? создать событие ?
Ну на самом деле похоже то что хочет Паганель в данном случае не реализуемо... т.е. в принципе это нужно делать энхансмент который будет генерировать событие, по которому уже будет запушен поток операций, а стандартно пока система не генерирует событие типа встретился оператор MESSAGE с вот такими параметрами...

Паганель

Цитата: NachDenken від Червень 15, 2009, 01:40:39 ПП
теперь понятно!
у меня тоже получилось с кнопочкой,
запустился поток после нажатия.

может тогда стартануть поток ручками ? создать событие ?


можешь рассказать подробно? Создать событие?

Как я понял нужно создать событие, и к нему уже подвязать поток? А как данные с события передать в поток?

У меня кстати даже через кнопочку не получилось запустить поток, может быть, как предоположил Уукрул, не для всех ошибок можно цеплять поток операция ..... вот выпадет свободная минутка, попробую на простом примере (ошибке, см. выше ссылку на пример) .....

NachDenken

У меня кстати даже через кнопочку не получилось запустить поток,
кнопочка то активная ? а как проверил что не запустился поток ?
(зашел в SBWP -> OutBox->Started WorkFlow )
к потоку можно привязать иниц.событие
(SWDD "шапочка" Start Events )  прописать событие , либо потом в программе написать код который генерит это событие

Uukrul

Цитата: Паганель від Червень 16, 2009, 10:23:44 ПП
можешь рассказать подробно? Создать событие?
пример) .....
Паганель а это кто писал: http://sapforum.biz/index.php/topic,388.msg1997.html#msg1997, там тебе и параметры и крем-брюле будет  ;D

Паганель

#17
Кто, кто  ..... Паганель в пальто  :-) (кстати зима тогда была « : 21 Ноябрь 2008, 12:45:13 »).....

Спасибо всем за хорошие советы и идеи.... руки как то не доходят серьезно  (PP + ППМ да еще и абапчикс)...

Вкратце зачем мне это все надо.

У нас частенько возникает ошибка с ассортиментами (материал не включен в ассортимент завода), решали по разному, например перед проводкой движений или создания заказа, проверяли табличку с ассортиментами, потом специальной йункцией их "расширяли", но это решило проблему лиш частично  ..... тут вот мне и пришла идея (я как раз начал копать Workflow) запускать "расширение" в отдельном потоке, сразу пришло две идее: испольщовать event (навеяно темой http://sapforum.biz/index.php/topic,44.msg167.html#msg167) и Workflow, типа для того что бы обкатать его на реальных задачах.....

1.  event - хорошо, просто - немножко абап и все, но event не запускается по ошибке (я правильно понимаю ?), т.е. надо делать екзит, ловить ошибку .... ну не знаю даже как, надо копаться .... кроме этого а event нельзя передать параметры ошибки (или можно? еще не копал глубоко) .....

2. Workflow - хорошо, можно к ошибке привязать поток операций, при этом все параметры ошибки передаются в него

   sy-msgid = &1-workarea.
    sy-msgno = &1-message.
    sy-msgty = 'E'.
    sy-msgv1 = &1-variable1.
    sy-msgv2 = &1-variable2.
    sy-msgv3 = &1-variable3.
    sy-msgv4 = &1-variable4.

и куча других вкусностей.

Паганель

Цитата: NachDenken від Червень 17, 2009, 10:06:06 ДП
У меня кстати даже через кнопочку не получилось запустить поток,
кнопочка то активная ? а как проверил что не запустился поток ?
(зашел в SBWP -> OutBox->Started WorkFlow )
к потоку можно привязать иниц.событие
(SWDD "шапочка" Start Events )  прописать событие , либо потом в программе написать код который генерит это событие

Да в SBWP не появилось .....

SWDD "шапочка" Start Events - попробую

Паганель

Цитата: NachDenken від Червень 15, 2009, 10:52:18 ДП
автоматом или фоном ?
Да и так, и так (сначала в видимом режиме, что бы посмотреть все ли работает)

Паганель

Цитата: Паганель від Червень 17, 2009, 10:16:44 ПП
Кто, кто  ..... Паганель в пальто  :-) (кстати зима тогда была « : 21 Ноябрь 2008, 12:45:13 »).....

Спасибо всем за хорошие советы и идеи.... руки как то не доходят серьезно  (PP + ППМ да еще и абапчикс)...

Вкратце зачем мне это все надо.

У нас частенько возникает ошибка с ассортиментами (материал не включен в ассортимент завода), решали по разному, например перед проводкой движений или создания заказа, проверяли табличку с ассортиментами, потом специальной йункцией их "расширяли", но это решило проблему лиш частично  ..... тут вот мне и пришла идея (я как раз начал копать Workflow) запускать "расширение" в отдельном потоке, сразу пришло две идее: испольщовать event (навеяно темой http://sapforum.biz/index.php/topic,44.msg167.html#msg167) и Workflow, типа для того что бы обкатать его на реальных задачах.....

1.  event - хорошо, просто - немножко абап и все, но event не запускается по ошибке (я правильно понимаю ?), т.е. надо делать екзит, ловить ошибку .... ну не знаю даже как, надо копаться .... кроме этого а event нельзя передать параметры ошибки (или можно? еще не копал глубоко) .....

2. Workflow - хорошо, можно к ошибке привязать поток операций, при этом все параметры ошибки передаются в него

   sy-msgid = &1-workarea.
    sy-msgno = &1-message.
    sy-msgty = 'E'.
    sy-msgv1 = &1-variable1.
    sy-msgv2 = &1-variable2.
    sy-msgv3 = &1-variable3.
    sy-msgv4 = &1-variable4.

и куча других вкусностей.


Я правильно понимаю? Есть возражения? http://sapforum.biz/index.php/topic,675.msg4224.html#msg4224

Uukrul

Цитата: Паганель від Червень 18, 2009, 02:25:25 ПП
Я правильно понимаю? Есть возражения? http://sapforum.biz/index.php/topic,675.msg4224.html#msg4224
Я ничего не понял возражения по чему? Давай ты про события внимательно прочитаешь, ага там и про параметры тоже есть... а во-вторых, если стандартная транзакция не предполагает вызова WF по наступлению какого-то MESSAGE, то никаким образом ты ее не заставишь реагировать, хотя было бы прикольно если бы вызов MESSAGE xxxx? всегда еще вызывал бы событие куда передавал бы параметры с которым он вызван, тогда конечно настройка SWUY имела бы большой смысл...

Паганель

"Дурак - это тот, кого никто не понимает". Понятно?  ;-)

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