Show TOC

Data Processing and TransferLocate this document in the navigation structure

Use

RFC API data exchange is based on the request response model. During the request (this is the phase of RFC call) the name of the remote function module called will be serialized into an RFC buffer first. All available parameters (exporting, changing, tables) will be serialized in a second step.

During response (receive phase), all data received will be deserialized and converted into its local representation.

The serialization layer supports the following RFC protocols:

  • Classic RFC protocol.

    In this case the classic RFC format will be used for serialization of elementary and complex data types.

  • New RFC protocol.

    In this version RFC data will generally be serialized using the basXML format.

    Note

    You can use the same API calls to call remote function modules at the ABAP side regardless or which data serialization type you choose.

Data Conversion

The RFC API supports all SAP single code pages and Unicode. Code page processing between the SAP system and the RFC API does not require any special treatment regardless of whether you use a single code page or Unicode. The code pages for the external RFC program always have to be converted to Unicode when using any single code page, regardless of whether it corresponds to an SAP single code page or not.

Note

This means that the RFC API always requires Unicode.

Data Compression

Data is compressed before sending, if both the client and the server system are capable of this. Otherwise, only the blank spaces at the end of a table line will be truncated.

Data Types

The NW RFC API supports all elementary and complex ABAP data types. The following list shows the supported data types and their specifications:

ABAP Data Types Supported by the RFC API

ABAP type

Typedef

Length (in Bytes)

Description

c

RFC_CHAR[]

1-65535

Characters, blank padded at the end

n

RFC_NUM

1-65535

Digits, fixed size, leading '0' padded.

x

RFC_BYTE[]

1-65535

Binary data

p

RFC_BCD[]

1-16

BCD numbers (Binary Coded Decimals)

i

RFC_INT

4

Integer

b

RFCTYPE_INT1

1

1-byte integer, not directly supported by ABAP

s

RFCTYPE_INT2

2

2-byte integer, not directly supported by ABAP

f

RFC_FLOAT

8

Floating point

d

RFC_DATE

8

Date ("YYYYMMDD")

t

RFC_TIME

6

Time ("HHMMSS")

decfloat16

RFC_DECF16

8

Decimal floating point 8 bytes (IEEE 754r)

decfloat34

RFC_DECF34

16

Decimal floating point 16 bytes (IEEE 754r)

g

RFC_STRING

Variable-length, zero terminated string

y

RFC_XSTRING

Variable-length raw string, length in bytes

Special Destinations in ABAP

During the execution of an RFC function, you can use the destination BACK to call another RFC function in the SAP client system or in the RFC client program (external program using RFC API) using the same RFC connection.