Page tree
Skip to end of metadata
Go to start of metadata


The Purpose of this wiki is to rovide details on the Return code 679  which indicates a "Program not registered" error. 


This wiki provides details on how to determine the RFC destination that is reporting the error, explains how a test program can be registered the gateway and also provide details on who is responsible for registering the server program.

Identifying the issue

Communication error 679 is reported in the system log (SM21):

All CPIC return codes are mentioned in note 63347. Return code 679 means "Transaction Program is not registered":

TP_NOTREGISTERED 679 TP not registered

To find out more detail on which program is causing the error the corresponding rfc trace file must be checked.

Determining the failing RFC destination

In the example above, the work process number (Nr) is 01 so the dev_rfc1 (St11) will contain more details. Search this file for the timestamp reported in sm21, in this case it is 171012.
You will see something like the following:

This shows that the problem is related to RFC destination REGTEST and program "Program1". If you
go to transaction SM59 and test the destination REGTEST the "program not registered" error will
be returned:

Example of registering test program rfcexec

Note 353597 provides details on how to register a server program:

<program name> -a<program ID> -g<SAP gateway hostname> -x<gatewayservice>

So, for our example above "Program1 "needs to be registered:

<program name> -aProgram1 -gy52tdc00 -xsapgw52

<program name> is the name of the program you are trying to run.
Program1 is the name given in SM59 (ProgramId).
Y52tdc52 is the gateway host (from the dev_rfc1 trace above) and sapgw52 is the gateway service (from the dev_rfc1 trace).

If the program has been registered on the local gateway you should see an entry for it in
SMGW ==> "Logged on Clients", it will be shown as a REGISTERED_TP / REGISTERED SERVER.

The example given in note 353597 is:

rfcexec -atest -gHOST -xsapgw00

Please note that "rfcexec" is a sample program delivered with the RFCSDK. If you do the following:

rfcexec -aProgram1 -gy52tdc00 -xsapgw52

This means that you are trying to register the sample program "rfcexec" with ID "Program1" on the gateway.

If you are not trying to connect to program rfcexec, the developer of the program you are trying to run should be contacted to advise how to correctly register their program.
In some cases, a particular service may need to be started.  

You should know the name of the program you are trying to register. There is no direct possibility to find out the name of the backend program which is associated with the Program ID used for a registered connection in SM59. The only possibility is to do a level 3 trace of the gateway to get the IP and remote number of the program that registers.
With this information you need to remotely execute a netstat and search for the pid of the program that is running on that port. With this pid you goto the ps command to get the name and location.



For a checklist of what to do in case of Program not registered error (RC 679) see the following note:

2104408 - Checklist for "program not registered" errors


Related Content

Related Documents

Related SAP Notes/KBAs

353597        Registration of RFC server programs

1408081      Basic settings for reg_info and sec_info

1305851      Overview note: "reg_info" and "sec_info"