STARTRFC - Start SAP RFC Function Modules From any Server Within Your Landscape
startrfc is a very easy SAP command line interface to start all of the implemented function modules of SAP systems.
SAP Kernel Programs
startrfc in a SAP System
You can start any SAP function module, that is RFC-enabled. You can check this in transaction SE37 or SE80. There you either use existing function modules or create the ones of your desire.
You can start these function modules from any platform with the program startrfc. This program is part of SAP application server and of any SAP RFC SDK on the Presentation CD (SAPGUI CD). So, you can usually use and try this just from your PC connected to the network via TCP/IP to your SAP system. You just need an user for the SAP system and can start with the test. Later on, for the case, that you want to use this as permanent interface, you should change this user so that it can no longer log on in dialog to the SAP system.
startrfc works as follows:
startrfc -3 -h <host> -s <intance number> -c <client> -l <language> -u <user> -p <password> -F <function module> -E <parameter=value>
An example for startrfc could look like as follows:
startrfc -3 -h hyperion -s 01 -c 000 -l D -u volker -p password -F SUBST_START_BATCHJOB -E JOBNAME=VOLKERJOB -E REPNAME=RSPFPAR
An example for startrfc with a saprouter string looks as follows:
startrfc -3 -h /H/saprouter/S/3299/H/hyperion -s 01 -c 000 -l D -u volker -p password -F SUBST_START_BATCHJOB -E JOBNAME=VOLKERJOB -E REPNAME=RSPFPAR
(There the saprouter is called "saprouter" and is running on the default port 3299)
On iSeries this would look as follows:
call pgm(startrfc) parm('-3' '-h' 'hyperion' '-s' '01' '-c' '000' '-l' 'D' '-u' 'volker' '-p' 'password' '-F' 'SUBST_START_BATCHJOB' '-E' 'JOBNAME=VOLKERJOB' '-E' 'REPNAME=RSPFPAR')
This startrfc starts the function module SUBST_START_BATCHJOB, that is able to start a background job of any available report. As this creates a background job, you have to specify the jobname and the report name, that is called. The result is a background job, that creates a spool file of all SAP profile parameters any time you call this startrfc.
You can implement all RFC-enabled function modules with this technique.
How to download the latest version ?
You can download the latest version of all the SAP Executables in the SAP Service Marketplace. As the binaries are different for each platform, you should have a look at the following link:
Download Executable Patches on the SAP Service Marketplace
If you have some more ideas to this topic, please let us know via the Feedback Area.
saposcol online help with all supported command line options
RFC command line interface
startrfc [connect options] <function options>
function options =
-F <function module
-T <table name>,<width>,[r=<file>][,w=<file>]
where <file> is a path name to read from (r)
or write to (w) the internal table.
If <file> is -, stdin or stdout is used.
RFC connection options:
-d <destination> name of the RFC destination.
Necessary, if you are using a 'sideinfo' file.
-2 SNA mode on.
You must set this if you want to connect to R/2.
All other conection data must be suppplied by a
-3 R/3 mode on.
You must set this if you want to connect to R/3.
Specify the following options:
-h <hostname> hostname of the R/3 target system.
-s <system number> system number of the target system.
this determines the TCP/IP service to be used to connect
to the R/3 system. The default value is 0 and the default
service being used then is sapgw00.
-gui start sapgui
to allow dynpro and graphics processing
(3.0C or later required on the target system).
Using an intermediate SAP gateway, specify:
-g <gateway host>
-x <gateway service>
(must not be used with -gui or -debug option).
-balanced load balancing mode.
Another way to connect to R/3, if the R/3 system is 3.0C
or later and workload balancing is active on that system.
Requests are automatically routed to the application server
having the best response times in the moment.
Specify the following options:
-h <host name> hostname of R/3's message server.
-s <system name> name of the target system.
This determines the TCP/IP service to be used to connect
to the R/3 system.
The system name is a 3 letter word. If the system name
is XXX, the service being used is sapXXX.
-g <group name> name of application server group.
The default is PUBLIC.
-gui start sapgui
to allow dynpro and graphics processing.
-t turn trace on.
all operations are written to the trace file 'dev_rfc'
-debug turn ABAP/4 debugging mode on.
this can only be done, if sapgui is installed on the client
system and the target system has version 3.0C or later.
Using the 'saprfc.ini'-file:
-D <destination> name of the RFC destination in saprfc.ini
Instead of using the connection and additional options
defined above, you can also work with the 'saprfc.ini'-file
and all needed options must be defined in this file.
Using this feature, this program can run in an SNC
RFC logon data:
-u <userid> SAP userid.
-p <password> password.
-c <client> client.
-l <language> logon language.
-i <input file for argv>
-o <output file for argv>
-? "this text"