All About System Alias and Routing of Requests in SAP NetWeaver Gateway
Recently I have been answering queries around the system alias configuration in SAP NetWeaver Gateway, I thought I will share information on the same in this blog.
Prerequisite:
You just have to know the basics of developing OData services using SAP NetWeaver Gateway.
This blog does not cover web service part of the System alias.
System Alias is the wrapper around the RFC_Destination + the information related to routing of requests which is created using transaction code SPRO in Gateway HUB system (IWFND). Here is the navigation path:
SPRO -> SAP Reference IMG -> SAP Netweaver -> Gateway -> OData Channel -> Configuration -> Connection Settings
-> SAP NetWeaver Gateway to SAP System -> Manage SAP System Alias
SAP NetWeaver Gateway System Alias has the following properties:
SAP System Alias: Name
Description: <Enter the description>
Local GW: N/A
Local App: Check box that specifies the deployment of component IWBEP .
RFC Destination: RFC destination you created using the transaction code SM59
Software Version: Default/which ever applicable
SystemID: Not Required
Client: Not Required
WS provider Sytem: Not Required
Deployment Examples and its System alias configurations:
Example 1: Local APP
In this case (Example 1: Local APP), System alias configuration should have Local App flag set as IWFND and IWBEP are together and RFC destination should point to SAP back-end. RFC destination will be used by BEP data provider to call the RFC from SAP Backend.
Now how do you get the RFC destination in your Data provider?
Follow the code below
DATA lo_destination_finder TYPE REF TO /iwbep/if_destin_finder.
DATA lo_dp_facade TYPE REF TO /iwbep/if_mgw_dp_int_facade.
DATA lv_destination TYPE rfcdest.
* Get RFC destination
lo_dp_facade ?= /iwbep/if_mgw_conv_srv_runtime~get_dp_facade( ).
lo_destination_finder = lo_dp_facade->get_destination_finder( ).
lv_destination = lo_destination_finder->get_rfc_destination_via_rout( ).
Example 2:Remote APP
In this case (Example 2: Remote App), System alias configuration should not have Local App flag set, as IWFND and IWBEP are in different SAP systems and RFC destination should point to back-end where IWBEP is present which is used by IWFND to route the calls.
Here IWBEP data provider and metadata provider classes can use the local RFC Function Modules as well.
Example 3: Local App ,all the components in SAP Business Suite/Backend
In this case (Example 3: Local APP), system alias configuration should have Local App flag set as IWFND and IWBEP are together and RFC destination can be empty as all the components are in the SAP back-end.
System Alias in Service Builder:
There is another system alias which is used by Service Builder’s service maintenance node which is used only in design time for registering and maintaining the service in the Gateway HUB from IWBEP(Service Builder) system .
System alias in this case should be created/configured in the system where IWBEP is installed i.e using transaction code SPRO. Navigation path below:
SAP Reference IMG -> SAP Netweaver -> Gateway Service Enablement -> Connection Settings to SAP Netweaver Gateway -> SAP NetWeaver Gateway Settings
System Alias here points to the HUB system.
It has the following properties
Destination System: Destination system name
Client
System alias name
RFC Destination
RFC Destination here is used to navigate from IWBEP(Service Builder) system to Gateway HUB System(IWFND) when the Register or Maintain or Error Log Button is clicked in the Service Maintenance node of Service Builder
Once the Maintain button is clicked,control goes to the corresponding IWFND system’s /iwfnd/maint_service
screen
And that is all!! Feel free to contact me if you have any queries:)
Thanks and Best Regards,
Goutham
Hi Goutham,
Thank you very much for the clear and concise explanation of the different options. It really helped me to understand this a lot better.
Looking forward to the next blog of yours!
Sascha
Thanks a lot for this blog Goutham, clarifies things further.
Excellent Goutham.
Cheers,
Syam
Nicely put!
Nice blog....simple and easy to understand
Hi Goutham,
very well and comprehensive explained.
Best Regards,
Andre
Hi Goutham,
Very well explained. Looking forward to many more blogs from you!
Regards,
Ravi Chaudhary
Nice job, This helped a lot. Keep up the good work!!!
found more information for GW_HUB to use trusted RFC's to ECC.
USE Transaction /iwfnd/maint_service to change alias from LOCAL to the Trusted RFC that points to the ECC backend system. Works well.
Chad
Hello Goutham Nagaraj Naidu...
It's awesome blog.. so informative too..
Can you please help me in resolving my issue.. I have followed all the steps you have mentioned.. but i am getting error in /IWFND/GW_CLIENT transaction when I consume service... My aim is to get SAP_Origin parameter in the response as i am trying for MOC( Multiple Origin Composition )..
The error is "No service found for namespace /IWFND/, name "..
Please find the screenshot attached..
Hi Goutham,
We are setting up a central Hub with IWBEP installed in the backend systems. We have three environments in the transport landscape (Development, Quality, Production). When I set up the Hub Alias in the backend systems do I use a general Alias name (e.g. GWHUB) or do I use an environment specific name (e.g. DWG for Test, QGW for Quality and PGW for Production). Maybe it doesn't matter, but I ask this with regard to transports.
Regards, Paul Lauwers.
Thanks for sharing the useful tips.
With regards,
Sahir.
Excellent document Gautham....solved most of the confusions i had...
Hello,
Please guide me for SAP Netweaver 7.40.
As in SAP Netweaver 7.40 the software component SAP_GWFND gets installed on SAP Netweaver gateway server which composite the function of IW_FND,GW_CORE and IW_BEP.
So how will we go for system alias and routing of request.?
Regards,
Akshay
Hi Akshay,
The configuration of system alias depends on deployment scenario in your landscape. Once you have decided the deployment scenario, you can go with the config as described in the above post.
One thing that you need to consider is even the NW 7.4 contains all three components bundled in SAP_GWFND. You can still use it as Central Hub and the system alias config remains same. The same thing also applies for embedded scenario.
For various deployment scenario Book Analogy to understand Central Hub and Embedded Scenario
Regards,
Ekansh
Hi Goutham,
Thanks for the blog. It really helped in the understanding on aliases and their configuration. I have a question which I was hoping you could help with.
I have used your sample code to retrieve the destination. This code works fine when executing the URL from the Gateway server. However, I have connected my Gateway to SMP. Here the system alias information is not being populated.
On debugging, I noticed that neither the destination finder class nor the model class has retrieved the information. These structures are being populated when run through Gateway.
Could you please let me know why this is happening? And if there is any way that I can get around this other than fetching the system alias from the customizing table directly based on the service ID?
Best regards,
Prem
Hello Gautam, thanks for the information here. For some reason my user profile does not let me add a service on the gateway builder. do you have some thoughts to it ?
Great blog Goutham! can we have multiple clients/System Aliases in gateway builder?
Thanks
David
Hi David,
In service builder transaction, the system aliases are listed for registering the service on the Hub system. If you have multiple gateway hub systems in your landscape, you can definitely maintain those as explained in System Alias in Service Builder section of this blog. This way those aliases will get listed in your service builder transaction.
Let me know if I get your query in a wrong way.
Regards,
Ekansh
Thanks Ekansh! it is possible to have multiple system aliases pointing to multiple clients?
Regards,
David