Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Middleware tool to communicate between .Net to SAP Server

Former Member
0 Kudos

Hi All,

I need suggestion to use which middleware tool to communicate between .Net and SAP Server.The data exchange should be done as IDoc's (Outbound / Inbound) between both the systems.

If any one can please suggest me with a correct tool will be appreciated much.

Thanks and Regds.

Ramesh

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Ramesh

Procedure to Use SAP .NET Connector



1. Open Microsoft Visual Studio .NET.

2. To create a new C# Web form project choose New -> New Project -> Visual C# Projects -> ASP .NET Web Application.

You can also create a project in any other common programming language for .NET, for example, in Visual Basic .NET. In this case, you must add the SAP .NET proxy classes as a separate project in the Microsoft Visual Studio .NET solution.

3. Rename the form Webform1.aspx to Default.aspx.

4. Add Web controls to your Web form.

In our example, we add a TextBox, a Button and a DataGrid control.

5. Add proxy classes to connect the Web applications to your SAP server.

a. In the Solution Explorer, right-click on your project.

b. Choose Add -> Add new item.

c. Select Web Project Items -> SAP Connector Class and choose Open.

The SAP .NET Connector Wizard opens.

d. Decide from where you want to generate the proxy classes.

You can create proxies from:

  • Web Services Description Language (WSDL) files that originate in an SAP interface repository (IFR)

  • An SAP server

  • Standard WSDL files

e. Select the client proxy object type and select beautify names option.

f. Select the Remote Function Modules (RFM) you want to use in your proxy object.

You can use search filters to look for the Remote Function Modules. In the example, enter the search argument RFC_CUST* in Name-Filter and select RFC_CUSTOMER_GET.

g. Add the modules to your proxy object and choose Next.

The proxy classes for the referenced table and structure types are automatically created and added to the project.

6. Build the solution with Build ® Build Solution.

7. Create an SAPLogin page to support user name and password authentication

a. In the Solution Explorer, right-click on your project.

b. Choose Add -> Add New item.

c. Select Web Project Items -> SAP Login Form

Leave the name as SAPLogin1.aspx.

8. Set the system connection information in the destination object of the SAPLogin1.aspx page:

a. In the Solution Explorer window find the item SAPLogin1.aspx and double-click on it to bring it up in the designer.

b. Look for the component destination1 on the bottom of the form.

c. Click on the destination component and set the properties for connecting to your SAP system (for example AppServerHost and SystemNumber). The other properties like client, Password and username will be set from the login page.

9. Databind the data grid to BRFCKNA1Table:

BRFCKNA1Table is the parameter of RFC_CUSTOMER_GET that contains the list of customers.

a. Select SAP Table Wizard from the SAP proxy toolbox and Drag&Drop it to your working area. In the dialog box, select BRFCKNA1Table.

b. Select the data grid, and under Properties change DataSource to BRFCKNA1Table using the drop down list.

c. Customize the list of columns displayed on the data grid by modifying the Columns collection property.

10. On the default.aspx page, double-click the Button control you added earlier to create an event handler for the control.

11. Add the connect code to your project:

a. SelectConnect code from the SAP proxy toolbox.

b. Drag&Drop it in the source code of your event handler.

A fragment of sample code is then inserted. It connects to the SAP server using the authorization settings from the Proxy Wizard. Normally, you must change these settings.

The code should look something like this:

+private void btnSearch_Click(object sender, System.EventArgs e)

{

// Declare parameters here

SAPProxy1 proxy = new SAPProxy1();

try

{

proxy.Connection = SAP.Connector.SAPLoginProvider.GetSAPConnection(this);

// Call methods here

proxy.Rfc_Customer_Get("", txtCust.Text, ref brfcknA1Table1);

// Now update Data Bindings. On WinForms this will be automatic, on // WebForms call the following line

this.DataBind();

}

catch(Exception ex)

{

// If SAPLoginProvider.GetSAPConnection(this) cannot get a connection, // we might get an error.

// Normally this can be ignored as it will automatically will force a // relogon.

}

}+

12. Build and run the application.

The browser window opens and you are redirected to your SAPLogin1.aspx login page.

13. Enter connection data (for example user, password and client).

If you select Save this login information will be stored as an encrypted cookie on your computer and will provide an alternative single sign-on capability the next time you wish to access the site. If you do not select Save, the login information will still be saved in the ASP .NET session state but will be lost once the browser is closed.

14. Enter a search argument, for example A* in the TextBox field and choose Search.

Your application connects to the SAP System and displays the requested data in the DataGrid.

Check the following url for the procedure to use SAP .NET Connector.

http://help.sap.com/saphelp_nw04/helpdata/en/e9/23c80d66d08c4c8c044a3ea11ca90f/content.htm

<a href="https://">http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/fb4dc990-0201-0010-429a-bf4</a>

Dont forget to give pts if it helps ;>)

Regards

Rakesh

14 REPLIES 14

Former Member
0 Kudos

For this use SAP XI tool which will help you to communicate to SAP server.

Regards,

Mukund

Note : Plz reward points if this is helpful.

0 Kudos

And if you don't have SAP XI look at the .NET connector and the documentation.

Just like the JCO it should not be too difficult to build an IDOC server under .NET.

Enjoy

0 Kudos

If we use SAP .Net Connector it is checking for SAPDCOMM component where the support for this component is currently stopped by SAP itself, so how can we proceed further.That's why we are searching for a perfect Middleware Tool to communicate between our .Net application and SAP Server.

So if u have some suggestion about which middleware will fit for our situation do inform us.

Thanks & Regds

Ramesh.

Former Member
0 Kudos

You can go for Mercator/EDI.

Other than these we have XI.

In SAP side you need to configure all the setting with Middleware.

The rest of things will takes the middle ware tool.

0 Kudos

How about SAP .Net Connector,can u giv me any suggestion on that n how to use this

0 Kudos

I ment can we use webMethods (SAP BC) for that.

0 Kudos

Yes u can..its one of the middleware tool.

0 Kudos

If we can use webMethods(SAP BC) then how can we convert the XML generated file by the .Net Application to SAP IDoc format n viceversa.

Can u giv me suggestion on that

Former Member
0 Kudos

Hi Ramesh

Procedure to Use SAP .NET Connector



1. Open Microsoft Visual Studio .NET.

2. To create a new C# Web form project choose New -> New Project -> Visual C# Projects -> ASP .NET Web Application.

You can also create a project in any other common programming language for .NET, for example, in Visual Basic .NET. In this case, you must add the SAP .NET proxy classes as a separate project in the Microsoft Visual Studio .NET solution.

3. Rename the form Webform1.aspx to Default.aspx.

4. Add Web controls to your Web form.

In our example, we add a TextBox, a Button and a DataGrid control.

5. Add proxy classes to connect the Web applications to your SAP server.

a. In the Solution Explorer, right-click on your project.

b. Choose Add -> Add new item.

c. Select Web Project Items -> SAP Connector Class and choose Open.

The SAP .NET Connector Wizard opens.

d. Decide from where you want to generate the proxy classes.

You can create proxies from:

  • Web Services Description Language (WSDL) files that originate in an SAP interface repository (IFR)

  • An SAP server

  • Standard WSDL files

e. Select the client proxy object type and select beautify names option.

f. Select the Remote Function Modules (RFM) you want to use in your proxy object.

You can use search filters to look for the Remote Function Modules. In the example, enter the search argument RFC_CUST* in Name-Filter and select RFC_CUSTOMER_GET.

g. Add the modules to your proxy object and choose Next.

The proxy classes for the referenced table and structure types are automatically created and added to the project.

6. Build the solution with Build ® Build Solution.

7. Create an SAPLogin page to support user name and password authentication

a. In the Solution Explorer, right-click on your project.

b. Choose Add -> Add New item.

c. Select Web Project Items -> SAP Login Form

Leave the name as SAPLogin1.aspx.

8. Set the system connection information in the destination object of the SAPLogin1.aspx page:

a. In the Solution Explorer window find the item SAPLogin1.aspx and double-click on it to bring it up in the designer.

b. Look for the component destination1 on the bottom of the form.

c. Click on the destination component and set the properties for connecting to your SAP system (for example AppServerHost and SystemNumber). The other properties like client, Password and username will be set from the login page.

9. Databind the data grid to BRFCKNA1Table:

BRFCKNA1Table is the parameter of RFC_CUSTOMER_GET that contains the list of customers.

a. Select SAP Table Wizard from the SAP proxy toolbox and Drag&Drop it to your working area. In the dialog box, select BRFCKNA1Table.

b. Select the data grid, and under Properties change DataSource to BRFCKNA1Table using the drop down list.

c. Customize the list of columns displayed on the data grid by modifying the Columns collection property.

10. On the default.aspx page, double-click the Button control you added earlier to create an event handler for the control.

11. Add the connect code to your project:

a. SelectConnect code from the SAP proxy toolbox.

b. Drag&Drop it in the source code of your event handler.

A fragment of sample code is then inserted. It connects to the SAP server using the authorization settings from the Proxy Wizard. Normally, you must change these settings.

The code should look something like this:

+private void btnSearch_Click(object sender, System.EventArgs e)

{

// Declare parameters here

SAPProxy1 proxy = new SAPProxy1();

try

{

proxy.Connection = SAP.Connector.SAPLoginProvider.GetSAPConnection(this);

// Call methods here

proxy.Rfc_Customer_Get("", txtCust.Text, ref brfcknA1Table1);

// Now update Data Bindings. On WinForms this will be automatic, on // WebForms call the following line

this.DataBind();

}

catch(Exception ex)

{

// If SAPLoginProvider.GetSAPConnection(this) cannot get a connection, // we might get an error.

// Normally this can be ignored as it will automatically will force a // relogon.

}

}+

12. Build and run the application.

The browser window opens and you are redirected to your SAPLogin1.aspx login page.

13. Enter connection data (for example user, password and client).

If you select Save this login information will be stored as an encrypted cookie on your computer and will provide an alternative single sign-on capability the next time you wish to access the site. If you do not select Save, the login information will still be saved in the ASP .NET session state but will be lost once the browser is closed.

14. Enter a search argument, for example A* in the TextBox field and choose Search.

Your application connects to the SAP System and displays the requested data in the DataGrid.

Check the following url for the procedure to use SAP .NET Connector.

http://help.sap.com/saphelp_nw04/helpdata/en/e9/23c80d66d08c4c8c044a3ea11ca90f/content.htm

<a href="https://">http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/fb4dc990-0201-0010-429a-bf4</a>

Dont forget to give pts if it helps ;>)

Regards

Rakesh

0 Kudos

The thing is we already have a .Net application which sends data in XML format, but we need it in IDoc Format, is there any option available in SAP.Net Connector and viceversa that the document sent form SAP Server to be transferred as XML from IDoc format.

Any suggestion Regding this.

Thanks & regds.

Ramesh.

0 Kudos

Hi Ramesh,

I think you can convert Idoc to XML and vice versa by using IDoc adapter. I hope these links ll help u.

<a href="https://">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/46759682-0401-0010-1791-bd1</a>

<a href="http://">http://help.sap.com/saphelp_nw04/helpdata/en/b9/c5b13bbeb0cb37e10000000a11402f/content.htm</a>

Dont forget to give pts if it helps ;>)

Regards

Rakesh.

Message was edited by: Rakesh

0 Kudos

This link is not viewable, It says that page could not be found.

0 Kudos

Hi Ramesh,

You can use either third party tools like MERCATOR and Gentran. or SAP BC.

1. If you use Mercator then u will be having some thing called Tree Builder and Map Editor. With the help of Tree builder what ever may be the structure you want to produce you can build as a tree. For the built input and output trees you have to map with the help of Map editor . Map editor it self will read the input data and matches with input tree, map the input data with output tree and generates your required output. In the Map editor it self you will be having different output options , for firing the output to SAP.

2. If you use SAP BC, here also you need to built XML schema and your IDOC schema, for this you need to develope service which is very easy ,then with the help of Routing mechanism you can fire this data to SAP.

Hope This Info Helps YOU.

<i>Reward Points If It Helps YOU.</i>

Regards,

Raghav