Текущее время: Пн, апр 24 2017, 17:06

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




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

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

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

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

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


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

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

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

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

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


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

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

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

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


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

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


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

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

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

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

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

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

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

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


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

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


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


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

Зарегистрирован:
Ср, дек 16 2015, 15:30
Сообщения: 33
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, 04:46 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 29 2011, 09:54
Сообщения: 317
Откуда: Владивосток, Россия
Пол: Мужской
Создавать надо в рамках компонента, представляющего вашу 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, 10:37 
Ассистент
Ассистент

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

Благодарю!


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

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


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

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


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

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