Using the SAP.NET Connector to Connect Your .NET Applications to SAP
Category:C#, VB.NET, ASP.NET
Version Compatibility: Visual Basic.NET
This article will show how to establish a connection to SAP and how to call an ABAP function on SAP and pass data to the function and receive data back from the function all via the SAP .NET Connector. Introduction If you are a professional developer, it’s almost a given that you have been tasked at one time or another to interact with various ERP systems. Sometimes, this task can be completed simply because you may be granted access directly to the back end databases, however often times you need to communicate directly with the business logic layer of the ERP system. This is often the case when working with SAP because of the powerful ABAP functions which reside within the business logic layer of the system. Fortunately, SAP and Microsoft have teamed up to provide developers with the SAP.NET Connector. The SAP Connector for Microsoft .NET is a programming environment that enables communication between the Microsoft .NET platform and SAP Systems. It supports SAP Remote Function Calls (RFC) and Web services, and allows you to write various applications, for example, Web form, Windows form, and console applications within Microsoft Visual Studio .NET. You can use all Common Language Runtime (CLR) programming languages such as Visual Basic .NET and C#. This article will demonstrate how to get connected to SAP and how to call an ABAP function and pass data to and from SAP. So, without further ado, lets get to the code! Establishing a Connection to SAP at Design Time: The first thing to note here is that your .NET applications can interact with SAP in two ways. First, as a client who calls SAP, the server, and the second way in which your .NET applications can interact with SAP is where your client acts as the server and receives calls from SAP, the client. This article will focus on the former, and the latter will be discussed in a forthcoming article. It should be noted that connecting your .NET applications to SAP as the client is much more straightforward than when your .NET applications have act as the server. So, how to we connect a .NET application to SAP? Well, the first thing you need to do is download the SAP.NET connector, which is free and can be obtained here. Once you have installed the connector, start Visual Studio.NET and create a new Windows application. You might be tempted to go straight to the references of the project and add references to the SAP .NET connector; however, this approach is not correct. The correct next step is to right click on your project file and select add then New item. Once the dialog box opens, scroll to the bottom and you will find an entry called “SAP Connector Proxy”. After you add the proxy, you will notice that the system automatically adds the necessary references to your project as well as creating a WSDL file called “SAPProxy1.wsdl”. This file will show up as a blank screen in Visual Studio Once the proxy has been added, its time to add the SAP Server to your project. Click View then click Server Explorer and you will see that an option for SAP is included in the list. Click the SAP entry and it will expand and show “Application Servers”. Right click this and select” Add Application Server”. This is where you will need to set your parameters for establishing a connection to your SAP server. Change the Destination Type property to “Custom”, and then add the necessary values for the following properties: User Name Password AppServerHost SAPRouterString HTTP Port Client System Number These variables will depend on your SAP installation. Check with your SAP Administrator for the specific settings in your environment. Once you have the properties set, you can then establish your connection to SAP. Expand the new server, and then expand the Functions entry. This will provide a list of all ABAP functions that are contained in your SAP environment. The next step is to locate the function that you wish to call. When you f...
Instructions: Copy the declarations and code below and paste directly into your VB project.