Invoke a z function with SAP.NET connector

1.6k views Asked by At

I have a Web Application (ASP.NET application developed with C# and .NET Framework 3.5) that uses the SAP.NET Connector to call some BAPIs on a standard SAP R/3 installation. So far things work fine. The BAPIs are called to insert information in a couple of SAP tables from the Web App.

However, today the customer requested to add to those SAP tables further data. After reviewing with the SAP team, they concluded that doing such task would require the Web App to invoke several (dozens of) different BAPIs. As such, they decided to create a "Z Function" that would take many parameters and insert the values where needed.

Since I need to change the Web App, I was required to approve this line of action. However: 1) I don't know what a Z Function is, and 2) don't know whether the SAP.NET connector. To solve 1), I googled for a while, yet found no significant result. From what I can tell, a Z Function is a custom ordinary function created by an ABAP programmer. As for 2), I know that the SAP.NET connector can invoke both BAPIs and Remote Function Calls, or RFCs. However I am unsure as to whether a Z Function can be invoked through RFCs.

So this is where I'm stuck. Any help on this matter (either letting me know what a Z Function is, and how is it different from an RFC, or whether it can be invoked from SAP.NET connector) will be really appreciated and will earn my eternal gratitude.

1

There are 1 answers

1
Smigs On BEST ANSWER

A 'Z' function just means that the function has been created by the customer, and not by SAP. The name 'Z function' refers to the fact that the names of all customer objects must begin with Y or Z (guaranteed to avoid clashing with SAP's namespace).

This is completely separate from whether or not a function can be invoked over RFC. All your SAP team has to do for you to be able to connect to it is make sure they mark it as a remote-enabled function module - if they know you need to call it from the webapp then they should already have done this.