Hello,
My name is Arthur from the SAP Product Support team.
As an expert of Gateway and RFC areas, I have observed that many times these teams are wrongly contacted to instruct or clarify how to register external programs to Gateway, specially when issue "Program <
Program ID> not registered" appears.
This Blog was created to clarify what needs to be checked and how find out registration steps of an external program.
After reading this Blog, the following skills will be acquired:
- Definition of a Registered Program.
- Identify Program ID and Gateway from of a destination.
- Find the appropriate team to provide programs registration steps.
- Understand Gateway security rules.
- Test and validate if a program is able to be registered.
Registered Programs Definition
RFC server programs can be registered with the Gateway and wait for incoming RFC call requests.
The programs are created and registered by applications (SAP standard/ third party/ custom) to process their business requests between external systems and SAP system.
Destinations of Connection type T are created on SM59 with program ID and the target Gateway.
Getting Program and Gateway details on SM59
- Open transaction SM59
- Expand "Connection Type T"
- Double click the destination name.
Registering a program on Gateway
As per SAP note "
353597 - Registration of RFC server programs", to register a program on Gateway you need to follow the relevant program documentation.
There are thousands of programs (SAP standard/third-party/custom) compatible with SAP systems and RFC mechanisms, each program has particular ways to get registered on the Gateway.
The steps to perform this registration must be provided by the application team responsible for the specific program.
- SAP Standard programs: Find for relevant documentation in our Channels (Launchpad search / Wikis / SAP Help). If further assistance is required, a new incident can be created to get assistance from the responsible team.
- Third-Party programs: Find for relevant documentation on third-party channels. If this third-party is a SAP partner, further assistance can be provided via incident.
- Custom programs: Contact the development team responsible for this custom program for details.
Once the steps are provided, remember to use the right <
Program ID> and the right Gateway to register this program.
To verify if the external program is already registered:
- ABAP Gateway: Run the transaction SMGW (Goto - Logged on clients) and verify if the "TP Name" column.
- Standalone Gateway: Use the gwmon program to list this information.
Gateway authorization checks
Does Gateway allow program registration? Sometimes is possible that the Gateway Security Features of this Gateway are not allowing this program or this server to be registered.
Understanding Gateway security features:
- Read Wiki article Gateway Access Control Lists to understand how the security rules and behaviors can be adjusted for these scenarios.
- The KBA 1850230 has example of how to solve "Not allowed" issues.
- If even after reading this documentation an information is not clear, either comment in this Blog or get full specialized support with (BC-CST-GW) team.
Testing if Gateway will allow the registration:
- SAP have an auxiliary test program called "rfcexec" to test if programs could be registered on Gateway.
Example:
rfcexec -a<Program ID> -g<Gateway Host> -x<Gateway Service>
If the registration test runs successfully, the program will be visible on Gateway, the "Connection Test" should work.
This information guarantees that Gateway security features are allowing this program to be registered from this server.
ATTENTION: After the test, un-register this program (Ctrl +C) on rfcexec side, as this registration is only used for testing purpose, it will not work from business perspective.
Conclusion
In summary, even the layer of this registration is provided by RFC and Gateway mechanisms, the application team of the program used is responsible to provide the program Registration steps.
The Gateway (BC-CST-GW) and RFC (BC-MID-RFC) team can still helping if the registration of the program is failing.
For example:
- Checking the Gateway traces to see if the security are allowing this registration.
- Checking if the program is registered in the right Gateway.
If further assistance is required, check the limitations of each layer and find the proper team to clarify the doubts.