Technical Articles
How to handle Function module “/IWBEP/FM_MGW_HANDLE_REQUEST” not found when using hub based deployment with development on the hub
The problem
I got a question from a customer whose backend system(s) did not fulfill the minimum requirements to install IW_BEP how they nevertheless could leverage SAP Gateway.
The customer ran into an error since he got the following error message when calling an OData Service locally on the hub.
Function module “/IWBEP/FM_MGW_HANDLE_REQUEST” not found.
The same error can occur if the IW_BEP version in the SAP backend is not compatible to the software component versions of the SAP Gateway Hub framework as described here:
https://launchpad.support.sap.com/#/notes/2616145
Test issue
To re-enact the problem I used a SAP Gateway Hub System (751) and a system having only SAP NW 7.0 without IW_BEP installed
When using this option it is important to check which settings you use for your system alias entries.
If you do not set the “Local App” flag the SAP Gateway runtime tries to search in the backend system for the service implementation rather than doing so locally on the SAP Gateway Hub.
So I created a RFC destination “NO_IWBEP” that pointed to the backend having no IW_BEP installed.
And I created 2 system alias entries, one (ERP_LOCAL_GW) with the “Local App” flag set, the other (ERP_LOCAL_GW_APP) having the check box unchecked.
The one that works returned the correct Server Name of the remote server
/sap/opu/odata/sap/Z_RFC_DEV_ON_HUB2_SRV;o=ERP_LOCAL_GW_APP/ServerlistSet?$format=json
{
"d" : {
"results" : [
{
"__metadata" : {
},
"Name" : "<servername>_<SID>_<InstanceNumber>",
"Host" : "<servername>",
"Serv" : "semaphore",
"Msgtypes" : "uw==",
"Hostadr" : "CkQG0A==",
"Servno" : "DLc=",
"State" : "AQ=="
}
]
}
}
while when using the system alias having the “Local App” flag not set the following request
/sap/opu/odata/sap/Z_RFC_DEV_ON_HUB2_SRV;o=ERP_LOCAL_GW/ServerlistSet?$format=json
returned the error
Function module “/IWBEP/FM_MGW_HANDLE_REQUEST” not found.
The reason is that if the flag “Local App” is set the SAP Gateway runtime searches for the service implementation locally on the SAP Gateway Hub rather than trying to call the implementation remotely using the function module “/IWBEP/FM_MGW_HANDLE_REQUEST”.
Test setup
For testing purposes I created a SEGW project on the hub using the RFC function module TH_SERVER_LIST which returns the list of application servers of SAP Application Server ABAP