Существует ли для SAP стандартный способ взаимодействия своей базы данных с внешними сторонами? Веб-svc?
Скоро я буду работать над проектом компании, который разработает специальное приложение.net, которое будет интегрировано с системой SAP ERP.
Я практически ничего не знаю о SAP, поэтому я провел небольшое исследование в Интернете и обнаружил, что он поддерживает несколько типов баз данных.
То, что я хочу знать,
я могу напрямую читать таблицы SAP через ado.net?
Или БД за веб-SVC?
Или это не определено, потому что это зависит от того, как внедрена система SAP?
Третий вопрос приходит на ум, когда я узнаю, что SAP не ограничивается каким-либо конкретным типом БД
Спасибо!
4 ответа
Поскольку таблицы базы данных SAP находятся в обычной СУБД: Да, вы можете читать их с помощью ADO.NET. Однако мой опыт показывает, что это не очень нравится людям SAP.
Вы также можете читать таблицы через RFC, как это поддерживается ERPConnect и, возможно, другими. Скорее всего, это будет путь.
Третий путь - выделенный RFC-компонент, который возвращает нужные вам данные.
Обычно вы не взаимодействуете непосредственно с базой данных системы SAP, это плохая практика (может даже расторгнуть ваш контракт на поддержку - будьте осторожны). Существует много разных способов вызова функций SAP, в зависимости от того, как это реализовано / какие функции развернуты.
SAP ERP часто развертывается как со стеком ABAP, так и со стеком J2EE.
Для части ABAP RFC является наиболее "родной" формой соединения IMO. SAP предоставляет библиотеку RFC для C, C++ и Java, возможно, и для других языков. Я уверен, что вы найдете что-нибудь для своего любимого языка.Net.
Что касается Java, существует целый ряд доступных опций, как и почти любой другой J2EE-компонент (веб-сервисы, мыло, ...).
Вы не должны читать таблицу SAP ERP напрямую и, разумеется, НЕ ДОЛЖНЫ писать, если не хотите сбой системы. Это действие недопустимо в корпоративной среде из-за возможной ошибки безопасности. Охранное подразделение компании будет запрещать такую деятельность. Система SAP построена на строго определенных правилах безопасности. Обычно пользователь SAP взаимодействует с данными БД через отчеты или программы, каждый отчет / программа, в свою очередь, имеет подпрограммы для проверки полномочий. Отчеты часто (всегда) проходили через транзакции, которые также имеют проверки безопасности. Так что, если у вас нет достаточных прав, вы даже не можете просматривать данные, защищенные данными, это здорово. Таким образом, у вас нет никаких способов взаимодействия с SAP/.NET, кроме официального - коннектора SAP .NET. В июне была выпущена версия 3, более удобная в использовании для разработчиков по сравнению с предыдущей версией. Удачи!
PS: Скорее всего, вам придется написать специальные FM (функциональные модули) на стороне SAP, чтобы упростить взаимодействие
Я не использую.net, но мое веб-приложение Python считывает данные непосредственно из таблиц SAP, используя соединение ODBC. Так что да, это возможно.
Обновление: наша SAP хранит свои данные в базе данных SQL Server... Теперь я понимаю, что не все установки настроены таким образом. ссылка.