Aim of this article is to show you how to connect your .NET front-end application with SAP. We will discuss the prerequisites for integration a .net application with SAP. In addition, we will go through step by step guide on how to implement the .net application which connects with SAP back-end. This is an synchronous interface between .net application and SAP.
Example Scenario Overview:
Example scenario is such that SAP will act as the server and .net application as the client. Front end .net application send a requests to SAP Remote Function Call (RFC) ‘MONTH_NAMES_GET‘. Request message from the frond end application contain the language key and RFC should return the names of the months in the language key sent in the request.
Steps to Integrate .net Application with SAP back-end:
Firstly, SAP Connector for .net should be installed.
Secondly, activate the remote function capabilities.
Finally, develop the .net application.
Step 1 – SAP.NET connector should be available. You should have the following “.dll” files to proceed.
Make sure the SAP .net connector is installed and enabled. These .dill files should be available to proceeded.
– rscp4n.dll
– sapnco.dll
– sapnco_utils.dll
Step 2 – Activate ‘Remote-Enable Module’ in the Function Module.
For a SAP Function Module to be able to integrate with a third party application, it should be a Remote Enabled Function Module. They are also known as RFCs. The FM we are using for this example, MONTH_NAMES_GET delivered from SAP as a RFC.
But if you are using a custom FM or any other standard SAP FM, make sure the their RFC functionality is enabled.
You can check this using transaction se37. if this option is not enabled, you will not be able to call the BAPI with an RFC call.
Step 3 – Create .net application project and add the references.
If the prerequisites are met, create the .NET application as below.
Select the “.dll” files.
Follow the below coding blocks to use the added libraries to connect to SAP system and access available BAPIs.
Add the libraries
Assign server details
Create RFC destination object
Create the repository object.
Create function object.
Set parameters of the function.
LANGUAGE is the import parameter and MONTH_NAMES is a table parameter that returns names of the months.
“language” is a string variable with “EN” as default value.
Finally invoke the RFC.
You can use the variable “itab” which returns the names to do any other processing.
If you have any questions on integrating SAP and .net client applications, please leave a comment below.
Isuru Fernando
Hi, I am Isuru Fernando, Senior SAP Integration Consultant with 10 years of SAP full-cycle implementation and support project experience.
From the early days, I had a passion for coding, software development, and everything tech-related. I started my carrier as an ABAP developer and soon found my love for system integration when I learned SAP XI 3.0 in 2008. Playing a variety of roles from an offshore technical consultant (ABAP, PI/PO, BW, BOBJ) at the beginning of my career to a technical lead managing a team of consultants in different countries, I have gained immense experience in SAP project implementation life cycle.
Having the opportunity to work on SAP implementation projects in USA, EU, and Asia, I learned valuable ins and outs of global business processors in Sales and Distribution (SD), Material Management, Retail, Customer Relationship Management (CRM), and Finance and Controlling (FICO).
Through this blog, I want to share my expertise in SAP technical areas such as SAP ABAP, PI/PO, AIF, and Basis. I also want to provide a platform for others with similar ambitions who would like to share their SAP technical expertise with the world!
Encode Message Payload to Base64 on CPI!
How to use Base64 message encoder in SAP Integration Suite.
We use cookies to optimize our website and our service.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
excellent post thanks for sharing from Sankar
Hi, You said about how to connect from .Net to SAP but i need a solution to call a method form .net DLL on SAP GUI , how can I Do it?
In “Create RFC destination object”, there is a problem. “rrf” is not defined.
Please specify what is rrf here.
Hi,
Using SAP.Net libraries / dll, we can get data from tables from SAP
Update/Get data in tables from SAP using .Net SAP Libraries ?
Hi
Is it possible to integerate sap into .net web application?
How?
Hi,
Can we have a call on behalf of my Company?
We need to start SAP Integration (Ariba) project.
Gr, Ashish
Hello, need to connect with you to discuss the possibility of how to connect .Net app to SAP Ariba.
Can you provide any pointers?
Gr Ashish