Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The best practice of exposing SAP ERP database to external parties?

Tags:

.net

sap-erp

I will soon work for a company project which will develop a custom .NET application that will integrate with the SAP ERP system.

I virtually know nothing about SAP, so I did some research on the web and found out that it supports multiple types of database.

What I want to know is:

can I directly read SAP tables thru ado.net?

Or is the database behind a web service?

Or is it undetermined because it depends on how the SAP system is implemented?

(the third question comes to my mind after knowing that SAP is not confined to any particular type of database)

like image 310
im_chc Avatar asked Aug 31 '25 02:08

im_chc


2 Answers

As the SAP database tables live in a normal DBMS: Yes, you can read them with ADO.NET. My experience however is that this is not liked very much by the SAP folks.
You can also read the tables through RFC as supported by ERPConnect and possibly others. This will most likely be the way to go.
A third way will be a dedicated RFC component that returns the data you need.

like image 133
Daniel Hilgarth Avatar answered Sep 02 '25 17:09

Daniel Hilgarth


You don't usually interact with an SAP system's database directly, it's bad practice (might even void your support contract - be careful). There are many different ways to call SAP functions, depending on how it is implemented/what features are deployed.

SAP ERP is often deployed with both the ABAP stack and a J2EE stack.

For the ABAP part, RFC is the most "native" form of connection IMO. SAP provides an RFC library for C, C++ and Java, possibly other languages too. I'm pretty sure you'll find something for your favorite .Net language.

For the Java side, there are a whole bunch of available options as with pretty much any J2EE-based thing these days (web services, soap, ...).

like image 34
Mat Avatar answered Sep 02 '25 16:09

Mat