Communication via RFC

PP-PI and the control system communicate with each other via Remote Function Call (RFC). RFC is a method of communication developed by SAP which provides convenient data transfer between different systems. The communication partners swap data using Common Program Interface Communication (CPI-C). Due to the RFC technology on the R/3 level, the application does not require communication handling. On the control computer level, SAP supports the automatic generation of an RFC example program with a code generator. The function module in SAP R/3 with which data is to be exchanged is used as the basis for the generation of the example program. The generated programs support synchronous RFCs but do not support transactioncal RFCs. Where the transactional RFC is neede (see below), the program must be adjusted accordingly. Afterwards, they must be compiled and linked in the control computer and can then be used for the actual application as an Application Program Interface (API).

RFC function modules of the PI-PCS interface:

 

Call

 

Function

From

To

Function name

Ctrl rec. download

PP-PI

CS

CONTROL_RECIPE_DOWNLOAD1)

 

PP-PI

CS

CONTROL_RECIPE_AVAILABLE4)

 

CS

PP-PI

CONTROL_RECIPE_PULL2)

 

CS

PP-PI

CONTROL_RECIPE_PULL_SINGLE3)

Message upload

CS

PP-PI

PROCESS_MESS_UPLOAD

 

PP-PI

CS

PROCESS_MESS_GET_RETURN_CODE5)

Message download

PP-PI

CS

PROCESS_MESS_DOWNLOAD

Download of detail data on characteristics

CS

PP-PI

PROC_CHAR_GET_LIST_WITH_DETAIL

Download of allowed char. values

CS

PP-PI

PROC_CHAR_HELPVALUES_GET

CS = Control system

1) Download of one or more control recipes initiated by PP-PI

2) Information that a control recipe is available

3) Download of one or more control recipes initiated by the control system

4) Download of a specific control recipe initiated by the control system

5) Download of the return code for message processing in transactional message upload

 

Characteristic data and values are downloaded as synchronous RFCs. All other calls from PP-PI to the control system and from the control system to PP-PI are carried out as transactional RFCs (tRFC). The tRFC ensures that each call is carried out once only. The sequence of the calls is not changed. If the target system is not active when the call takes place, the RFC is repeated according to a repetition rate or duration that can be set by the user. The current status of a tRFC can be checked any time via the log file.

Up to Release 4.0A, process message upload (function module PROCESS_MESS_UPLOAD) was carried out as a synchronous RFC. This type of message transfer continues to be supported for existing links to control systems. As of Release 4.0A however, certification requires the control system to support message transfer via tRFC.

For further information on RFC and tRFC technology, refer to the corresponding section in the R/3 library.

RFC mode of the function modules

Function name

RFC program on control level

CONTROL_RECIPE_DOWNLOAD

server program

CONTROL_RECIPE_AVAILABLE

server program

CONTROL_RECIPE_PULL

client program

CONTROL_RECIPE_PULL_SINGLE

client program

PROCESS_MESS_UPLOAD

client program

PROCESS_MESS_GET_RETURN_CODE

server program

PROCESS_MESS_DOWNLOAD

server program

PROC_CHAR_GET_LIST_WITH_DETAIL

client program

PROC_CHAR_HELPVALUES_GET

client program