Текущее время: Чт, мар 28 2024, 15:32

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: PI первый опыт
СообщениеДобавлено: Сб, фев 20 2016, 10:50 
Ассистент
Ассистент

Зарегистрирован:
Ср, дек 16 2015, 14:30
Сообщения: 38
Добрый день!

Есть некоторый внешний WEB-сервис (предоставляет SOAP-интерфейс); раз в час необходимо отправлять ему запрос на определенные данные, получать их и отдавать на обработку ERP. Никогда раньше с PI не работал, да и в SAP опыта разработки толком нет.

Собственно вопрос - подскажите материалы, поделитесь ссылками, по которым стоит "входить в курс дела", изучать теорию и практические примеры создания подобных вещей. Сейчас читаю "Process Integration Handbook", смотрю обучающие ролики, читаю русскоязычные статьи, но нигде не могу пока найти ни слова о том как же все таки правильно построить синхронный интерфейс с подходом "снаружи-внутрь" (очень хотелось бы пример где нибудь найти чего то подобного) и как на стороне ERP данные принимать. Везде разбирается один и тот же пример с простейшим асинхронным интерфейсом файл-файл/файл-ERP с подходом "изнутри-наружу".

Буду благодарен за любые ссылки/советы/рекомендации.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PI первый опыт
СообщениеДобавлено: Ср, фев 24 2016, 04:12 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Здравствуйте!

Ну не знаю, конечно, но для начала рекомендовал бы просто BIT400. Мне лично помог выстроить некую картинку, как это все работает. А дальше практика.

По вашей задаче: как у вас ERP данные запрашивать-то будет? Отчет/транзакция в ABAP? Тогда вам надо прокси создавать на стороне ERP, грузить описание принимающего сервиса, ну и мэппинги настроить.
Или больше информации надо: откуда, как, куда.

_________________
У меня два правила:
1. Не говорить всего, что знаю.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PI первый опыт
СообщениеДобавлено: Ср, фев 24 2016, 09:53 
Ассистент
Ассистент

Зарегистрирован:
Ср, дек 16 2015, 14:30
Сообщения: 38
Chaser009 написал:
Здравствуйте!

Ну не знаю, конечно, но для начала рекомендовал бы просто BIT400. Мне лично помог выстроить некую картинку, как это все работает. А дальше практика.

По вашей задаче: как у вас ERP данные запрашивать-то будет? Отчет/транзакция в ABAP? Тогда вам надо прокси создавать на стороне ERP, грузить описание принимающего сервиса, ну и мэппинги настроить.
Или больше информации надо: откуда, как, куда.


Не могу найти BIT400. В соседней теме просил скинуть BIT400 и BIT450, но пока нет откликов. Если завалялось где-нибудь в закромах - буду благодарен.

С вопросом запроса данных ERP тоже нужно определиться в рамках этой задачи) Пока копаю в сторону BAPI, но в целом с вариантами знаком слабо. Надо примерно следующее: раз в час запросить данные у стороннего сервиса, получить ответ, отдать некоторой программной единице в ERP, чтобы там могла данные разложить по табличкам и, в идеале, инициировать следующий запрос данных к этому веб-сервису (первым запросом нужно синхронизировать некоторые справочные данные, на основании которых нужно сформировать второй запрос на получение основных данных).


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PI первый опыт
СообщениеДобавлено: Ср, фев 24 2016, 10:15 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Ну вот BIT400 нет, т.е. есть, но в бумажном виде (с курсов остался).

Дело в том, что PI в общем случае сам по себе никакие запросы не инициирует. Ему нужно сообщение с исходящего интерфейса.
Есть варианты проверки на наличие файла в file sender или запрос с определенным интервалом у jdbc sender, но вам это не подойдет.

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

Я бы сделал так:

1. Рисуете в ESR исходящий интерфейс с необходимыми типами данных (как я понял, вам синхронный нужен).
2. В ERP генерируете для него прокси и используете этот прокси в ABAP-коде для запроса данных. Сам отчет (или транзакцию, что будете использовать) ставите на периодическое выполнение в планировщик.
3. В ESR в соответствующий SCV импортируете wsdl с описанием вашего веб-сервиса, получите интерфейс получателя с типами данных, сообщениями и операциями. Либо импортируете просто как external definition, тогда у вас будут типы сообщений и данных, а интерфейс надо будет создавать самому с теми же операциями.
4. Настраиваете техническую маршрутизацию и, при необходимости, мэппинги для преобразования данных.

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

_________________
У меня два правила:
1. Не говорить всего, что знаю.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PI первый опыт
СообщениеДобавлено: Ср, фев 24 2016, 10:44 
Ассистент
Ассистент

Зарегистрирован:
Ср, дек 16 2015, 14:30
Сообщения: 38
Chaser009 написал:
Дело в том, что PI в общем случае сам по себе никакие запросы не инициирует.
...
Я бы сделал так:
...


Спасибо за направление мысли в нужную сторону!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PI первый опыт
СообщениеДобавлено: Чт, фев 25 2016, 17:36 
Ассистент
Ассистент

Зарегистрирован:
Ср, дек 16 2015, 14:30
Сообщения: 38
Chaser009 написал:
Ну вот BIT400 нет, т.е. есть, но в бумажном виде (с курсов остался).

1. Рисуете в ESR исходящий интерфейс с необходимыми типами данных (как я понял, вам синхронный нужен).
2. В ERP генерируете для него прокси и используете этот прокси в ABAP-коде для запроса данных. Сам отчет (или транзакцию, что будете использовать) ставите на периодическое выполнение в планировщик.
3. В ESR в соответствующий SCV импортируете wsdl с описанием вашего веб-сервиса, получите интерфейс получателя с типами данных, сообщениями и операциями. Либо импортируете просто как external definition, тогда у вас будут типы сообщений и данных, а интерфейс надо будет создавать самому с теми же операциями.
4. Настраиваете техническую маршрутизацию и, при необходимости, мэппинги для преобразования данных.


Входящий интерфейс создается для внешней non-SAP системы - тут вроде бы все просто, тем более, что есть WSDL, из которого можно просто интерфейс импортировать.

А вот насчет исходящего что то сообразить не могу. Определенно что то не так понимаю.
Согласно всем схемам и описаниям связей - интерфейс создается в привязке к версии программного компонента, который связан с бизнес системой в SLD (скрин из курса BIT400):
Изображение

В данном случае инициатором обмена должна быть ERP, соответственно исходящий интерфейс нужно рисовать в рамках некоего компонента SAP ERP (допустим это система с названием AED мандант 100). Свои компоненты, насколько я понял, создавать в рамках ERP нельзя. Как понять, в рамках какого компонента нужно создавать интерфейс? И как настроить мэпинги между интерфейсами разных компонентов?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PI первый опыт  Тема решена
СообщениеДобавлено: Пт, фев 26 2016, 03:46 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 08:54
Сообщения: 318
Откуда: Владивосток, Россия
Пол: Мужской
Создавать надо в рамках компонента, представляющего вашу ERP-систему.

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

Выберите в SLD соответствующие компоненты и пометьте их как установленные. После этого в ESR у вас появятся соответствующие SCV (ну, точнее, при создании нового SCV вы сможете из SLD его взять). Вам, я думаю, нужен EA-PS.
Внутри выбранного компонента создавайте свой нэймспейс и рисуйте там уже что хотите: интерфейсы, типы данных и т.д..

В ERP, в транзакции SProxy, в репозитарии корпоративных сервисов у вас появится ваш SCV с созданным интерфейсом (опять же, ERP надо настроить для связи с ESR, мануалы есть в сети).
Для выбранного интерфейса генерируете прокси с помощью мастера, он вам создаст соответствующие классы и типы данных. И еще, насколько помню, надо будет порт создать. Это тоже в хелпах есть.

Ну и все, после этого в ABAP-коде создаете переменные с типами, описанными для прокси, заполняете нужными данными исходящее сообщение и вызываете соответствующий метод экземпляра класса прокси для отправки сообщения в PI. Результат ловите в переменную с типом результирующего сообщения.

С мэппингами вопрос слегка непонятен. Как создать? Создаете, допустим, в SCV принимающей системы в нужном неймспейсе Message Mapping. Там на вкладке Signature указываете нужные типы сообщений для источника и получателя, там выбираются SCV и типы для обоих сообщений, т.е., мэппинг вполне себе настраивается для типов сообщений из различных SCV (собственно, это основная задача мэппинга - преобразование данных между интерфейсами). Там же выбираете соответствие: 1:1, 1:N. На основной вкладке рисуете сам мэппинг. На вкладке Test - проверяете.
После этого создаете Operation Mapping, где указываете уже исходящий и входящий интерфейсы с операциями(для этих операций в определении интерфейса должны стоять те типы сообщений, которые использовались в мэппинге). Жмете Read Operations - получите типы сообщений. Для синхронных интерфейсов - request и response. А для них уже в таблице выбираете созданные перед этим Message mapping.

Как-то так.

_________________
У меня два правила:
1. Не говорить всего, что знаю.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: PI первый опыт
СообщениеДобавлено: Пт, фев 26 2016, 09:37 
Ассистент
Ассистент

Зарегистрирован:
Ср, дек 16 2015, 14:30
Сообщения: 38
Chaser009 написал:
...
Как-то так.

Благодарю!


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

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


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

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


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

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