SAPфорум.RU
https://sapboard.ru/forum/

инициализация бизнес процесса с помощью RFC
https://sapboard.ru/forum/viewtopic.php?f=70&t=72186
Страница 1 из 1

Автор:  kinderus [ Чт, авг 25 2011, 16:05 ]
Заголовок сообщения:  инициализация бизнес процесса с помощью RFC

Всем привет, подскажите плз кое что:
у меня с помощью jdbc адаптера sender берутся данные из файла, далее они летят в abap часть XI (там у меня Z таблицы), данные пишутся в таблицы.

Значит в XI (abap часть) создан ФМ у него есть параметры на import.
Это все дело работает через RFC, так как в XI не работает abap proxy (нельзя из XI послать данные на прокси в XI (abap часть)).

Мне надо сделать так чтобы этот ФМ после записи в таблички отправлял данные обратно в XI для запуска бизнесс процесса. Я так понял что мне надо просто добавить параметры в Export, но есть вопросы:
я добавляю параметр на экспорт, можно ли через RFC Channel инициализировать процесс ? мне в конфигурации надо будет добавить правило типо XI->Мой процесс и в качестве канала выбрать rfc канал ?

В целом должно получиться примерно так:
адаптер -> ФМ ->обратно в XI на инициализацию нового процесса.

Спасибо за ответы. Я надеюсь я понятно написал что я хочу сделать, задача на самом деле дурацкая :)

Автор:  chumpa [ Чт, авг 25 2011, 16:11 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC

jdbc-sender наверное из таблицы/вьюхи/хранимой процедуры берёт а не из файла? EO или BE ?

что значит "запуск бизнес-процесса"?

ФМ у тебя и так в иксае, что мешает из ФМа запустить процесс?

Автор:  chumpa [ Чт, авг 25 2011, 16:15 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC

если "бизнес-процесс" это ccBPM который надо стартовать строго после успешного вызова RFC, то придётся рисовать ещё один ccBPM который стартовать из JDBC sender. Иначе ваша задача в стандартный конвейер не ложится.

Либо можно по асинхронному JDBC sender стартовать сразу и RFC и ccBPM. Но тогда никакой очерёдности не будет.

Автор:  kinderus [ Чт, авг 25 2011, 16:23 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC

chumpa написал:
jdbc-sender наверное из таблицы/вьюхи/хранимой процедуры берёт а не из файла? EO или BE ?

что значит "запуск бизнес-процесса"?

ФМ у тебя и так в иксае, что мешает из ФМа запустить процесс?


1. у меня файл .DBF я с помощью sender делаю select из него.
2."запуск бизнес-процесса" - ccBPM

Автор:  kinderus [ Чт, авг 25 2011, 16:26 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC

chumpa написал:
если "бизнес-процесс" это ccBPM который надо стартовать строго после успешного вызова RFC, то придётся рисовать ещё один ccBPM который стартовать из JDBC sender. Иначе ваша задача в стандартный конвейер не ложится.

Либо можно по асинхронному JDBC sender стартовать сразу и RFC и ccBPM. Но тогда никакой очерёдности не будет.


Мне нужна именно очередность, но дело в том что если я буду стартовать процесс параллельно из jdbc sender он же должен как то ждать или что то в этом роде, как он поймет что у меня данные уже положились в таблички ?

Автор:  chumpa [ Чт, авг 25 2011, 16:28 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC

а что, у вас есть JDBC драйвера на DBF? платные или бесплатные?

повторюсь, если надо гарантировать запуск ccBPM после отработки RFC (синхр? асинхр?) то рисуйте ccBPM.
Для асинхр.RFC надо сделать transport ack, синхр. можно без оповещения естественно.

Ну или по рабоче-крестьянски: засунуть RFC в абап-меппинг и вызывать ccBPM после меппинга, как это предлагалось в первом треде ранее. Тогда ты обманешь конвейер но в случае ошибки вызова RFC надо валить меппинг чтобы вызов ccBPM не состоялся. Будет некрасиво в мониторинге и шина будет пытаться запустить меппинг заново (при настройке фоновой задачи рестарта).

Автор:  chumpa [ Чт, авг 25 2011, 16:29 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC

новый ccBPM:

receive -> RFC send -> ccBPMold send

Автор:  kinderus [ Чт, авг 25 2011, 16:32 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC

chumpa написал:
а что, у вас есть JDBC драйвера на DBF? платные или бесплатные?

повторюсь, если надо гарантировать запуск ccBPM после отработки RFC (синхр? асинхр?) то рисуйте ccBPM.
Для асинхр.RFC надо сделать transport ack, синхр. можно без оповещения естественно.

Ну или по рабоче-крестьянски: засунуть RFC в абап-меппинг и вызывать ccBPM после меппинга, как это предлагалось в первом треде ранее. Тогда ты обманешь конвейер но в случае ошибки вызова RFC надо валить меппинг чтобы вызов ccBPM не состоялся. Будет некрасиво в мониторинге и шина будет пытаться запустить меппинг заново (при настройке фоновой задачи рестарта).


DBF драйвер какой то платный ;) его еще до меня покупали, мне пофигу как синхронно или нет но мне надо нечто следуюющее :) :
1. я беру данные из dbf
2. кладу их в Z таблицы на XI стороне
3. как только положил запускаю ccBPM.

Реализация через RFC (ФМ-ки)

Автор:  kinderus [ Чт, авг 25 2011, 16:34 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC

chumpa написал:
новый ccBPM:

receive -> RFC send -> ccBPMold send


да, спасибо, наверно так и придется, я просто не хотел 2 ccBPM создавать.

Автор:  kinderus [ Чт, авг 25 2011, 16:40 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC

chumpa написал:
а что, у вас есть JDBC драйвера на DBF? платные или бесплатные?

повторюсь, если надо гарантировать запуск ccBPM после отработки RFC (синхр? асинхр?) то рисуйте ccBPM.
Для асинхр.RFC надо сделать transport ack, синхр. можно без оповещения естественно.

Ну или по рабоче-крестьянски: засунуть RFC в абап-меппинг и вызывать ccBPM после меппинга, как это предлагалось в первом треде ранее. Тогда ты обманешь конвейер но в случае ошибки вызова RFC надо валить меппинг чтобы вызов ccBPM не состоялся. Будет некрасиво в мониторинге и шина будет пытаться запустить меппинг заново (при настройке фоновой задачи рестарта).


я что то не понял что значит "засунуть RFC в абап-меппинг" ?
я вообще думал сделать синхронно, добавить в ФМ параметр на export, ну и соответственно добавить в XI маппинг на возврат, но во только я не знаю вообще можно как то это возврат форварднуть на запуск процесса. Вы поняли что я имею ввиду ?
т.е. берем данные из dbf далее они идут на ФМ, там кладутся, далее из ФМ вылетает возврат на запуск процесса. Так вообще можно сделать ? Это как синхронный вызов получается вот только ответ идет не вызывающему а другому (на запуск ccBPM)

Автор:  chumpa [ Чт, авг 25 2011, 16:42 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC

мы из dbf в xml бесплатной джавашной библиотекой преобразовываем, поначалу тоже искали JDBC драйвера но оформление покупки и постановки на баланс стоит порядка 100 человека-часов на проекте, для которого было надо. Проще купить эскаватор.

Автор:  chumpa [ Чт, авг 25 2011, 16:45 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC  Тема решена

возврат может быть только отправителю запроса (CENTRAL_BACK, SENDER_BACK)
нельзя переадресовать синхронный запрос так чтобы response шёл другому, это не иксайный конвейер.

поэтому рисуй ccBPM (как я предложил) который будет стартовать от JDBC sender, синхр. или асинхр., неважно.
главное: если RFC асинхронный то для гарантии его доставки включи в RFC send в новом ccBPM признак "transport ack", иначе тебе отклик о доставке придёт от момента получения в AF а не от физической кгхм доставки

Автор:  kinderus [ Чт, авг 25 2011, 16:46 ]
Заголовок сообщения:  Re: инициализация бизнес процесса с помощью RFC

chumpa написал:
возврат может быть только отправителю запроса (CENTRAL_BACK, SENDER_BACK)
нельзя переадресовать синхронный запрос так чтобы response шёл другому, это не иксайный конвейер.

поэтому рисуй ccBPM (как я предложил) который будет стартовать от JDBC sender, синхр. или асинхр., неважно.
главное: если RFC асинхронный то для гарантии его доставки включи в RFC send в новом ccBPM признак "transport ack", иначе тебе отклик о доставке придёт от момента получения в AF а не от физической кгхм доставки


ок спасибо огромное :)

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/