Разбор файлов SAP IDOC
В настоящее время мы планируем общаться с партнером, работающим под управлением SAP. Проблема заключается в том, что наша ERP не предлагает никаких способов связи с SAP, и нам нужно будет самостоятельно извлечь необходимую информацию из файлов IDOC.
Есть ли простой способ сделать это в.NET? Как библиотека (бесплатная / коммерческая), которая работает все ворчание?
Я просто ищу что-то вроде 'IDocLibrary.Parse(file)', и он вернет мне коллекцию объектов, которые преобразуются непосредственно в заказы и т. Д. В файле IDOC.
Я читал о каком-то соединителе SAP .NET. Это способно делать то, что я хочу?
редактировать:
SAP .NET Connector - это не вариант, кажется. Согласно http://www.dataxstream.com/2009/07/introduction-to-the-sap-net-connector/
В частности, в SAP .Net Connector нет встроенной функциональности для анализа различных полей данных из IDOC. Программа-получатель должна знать, в каком формате находится IDOC, и как извлечь данные из IDOC.
5 ответов
Есть библиотека C++ от SAP, которая обрабатывает IDoc, но она довольно старая: вот PDF, описывающий ее. Не уверен, сможете ли вы получить программное обеспечение, и поможет ли это вам сегодня.
Кажется, что большинство новых библиотек разработано для Java (один пример можно найти здесь). Я думаю, это не сильно поможет, если вы ищете решение.Net.
Однако, как я предложил в своем комментарии к вашему вопросу, вы можете получить инфраструктуру XI (Exchange Integration) / PI (Process Integration) (основанную на Java) для отправки IDoc в формате XML. Это должно быть гораздо проще, чем "простой текст" ...
Я бы предложил попробовать веб-сайт SAP, SAP.NET Connector:
SAP.NET Connector - это среда разработки, которая обеспечивает связь между Microsoft. Платформа NET и системы SAP. Этот соединитель поддерживает RFC и веб-службы и позволяет создавать различные приложения, такие как веб-форма, форма Windows или консольные приложения, в Microsoft Visual Studio.Net. С помощью коннектора SAP.NET вы можете использовать все распространенные языки программирования, такие как Visual Basic. NET, C# или управляемый C++.
Функции С помощью коннектора SAP.NET и мастера прокси SAP.NET вы можете:
· Создание приложений.NET для Windows и веб-форм, имеющих доступ к бизнес-объектам SAP (BAPI).
· Разработка клиентских приложений для сервера SAP. Здесь вы можете использовать либо RFC, либо HTTP/SOAP/XML (снаружи).
· Написать серверные приложения RFC, которые работают в среде.NET и могут быть установлены, начиная с системы SAP (наизнанку).
Существует способ выгрузки определения типа IDoc (аналогично DTD) из системы SAP. Затем используйте это как мета-описание того, что вам отправлено. У AFAIK есть разные способы вывода определения, HTML, C-Header, возможно, даже "настоящий" DTD.
Давно не использовал это, но посмотрите, где определены типы IDocs (где-то в меню wedi, возможно, we30).
Сами IDoc представляют собой обычный текст с фиксированной длиной полей, поэтому вы должны знать, где находятся "границы" между полями / структурами. С определениями IDoc это не должно быть слишком сложно.
Я работаю в компании DataXstream, которая предлагает соединитель (вы ссылаетесь на него в исходном сообщении), чтобы делать именно то, что вы хотите. Обычно наш соединитель используется для интеграции стороннего приложения в SAP. Я не уверен, что вы можете предположить, что iDOC будет содержать информацию, которую вы всегда хотите, поскольку большинство реализаций SAP очень индивидуальны и уникальны. В любом случае, мы будем рады помочь вам либо использовать соединитель как есть, либо части, которые вы ищете, чтобы выполнить интеграцию, которую вы ищете. Просто дай мне знать.
Джим
Для всех тех, кто наткнулся на этот старый вопрос здесь:
Наиболее удобный способ работы с IDoc и IDoc-XML, предлагаемый SAP без дополнительной оплаты, - это использование надстройки SAP Java IDoc Class Library для SAP Java Connector. Его можно загрузить с домашней страницы SAP Java Connector по адресу https://support.sap.com/jco.
К сожалению, такая надстройка библиотеки классов IDoc отсутствует в среде SAP Connector для Microsoft .NET - по крайней мере, в настоящее время, насколько мне известно, ни одна из них не предлагается SAP.
В качестве альтернативы можно также рассмотреть возможность использования SAP Business Connector, который также предлагает соответствующие API для работы с IDoc и IDoc-XML. Конечно, это продукт платформы интеграции для обмена бизнес-данными между различными системами, и нет библиотеки разработки для включения в собственные проекты приложений Java. Но он также предоставляется бесплатно всем клиентам SAP, имеющим лицензию NetWeaver.
Обязательным условием для всех решений, предлагаемых SAP, является то, что вы являетесь клиентом или партнером SAP и имеете лицензию на систему ABAP.