07-16-2013 7:03 AM
Hi, I am abap technical Consultant. I am trying to make an RFC connection between SAP R/3 and Non SAP middle ware system (BIZTALK). in Sm59 , i am making TCP/IP connection and assign one program id. when i test the connection in SM59 , it throws an error saying "Program id is not registred". I want to know that do i need to register this program id at SAP level? If yes , pls send me the steps .
07-17-2013 7:54 AM
Hi Anil,
For type T (registered server program ) RFC destination you will need to go to the folder where the external program (the program you would like to trigger at the external side) locates, and register it on the gatewayusing command:
<PROGRAM> -a <PID> -g <HOST> -x <SERVICE>
Here <PROGRAM> means the real program name at the external side. <PID> means the program
ID used in SM59. <HOST> means the gateway host, <SERVICE> means the gateway service.
For example:
rfcexec -a Test -g meinSAPhost -x sapgw00
The test program 'rfcexec' is registered unger the program ID 'Test' at
the gateway host 'meinSAPhost' at the port 'sapgw00' of the gateway.
SAP note 353597 has more information.
As for the external program that you need to register, the corresponding application (in your case
the BizTalk) should know it. In some cases people just use the example program provided
in SAP RFC library "rfcexec" for the connection.
Kelly
12-16-2013 9:44 PM
Hi Kelly,
We have the same question. Will you elaborate your solution?
You say the <PROGRAM> means the real pprogram name at hte extenal side. Do you mean on the SAP application server? When registering the <PID>, it does not ask the BizTalk server name. How does the system know where is the BizTalk server (target system information)? Will BizTalk update the SAP gateway when we configure the connection in BizTalk?
Regards,
Hang-cheong