Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Call problem

0 Kudos

Hie there,

I have got 2 systems and i need to pass data (structure) to the other system using an RFC call to Function Z_*_*_xxxx_CREATE.

this function has a structure say IS_XXXX as importing parameter. and EX_CREATED and EX_RETURN as Exporting parameters.

In a method in system1 iam am calling this function as,

where c_rfc = Z_*_*_xxxx_CREATE

>>CALL FUNCTION c_rfc DESTINATION l_rfc_dest

EXPORTING

IS_FTD_DATA = it_DATA

IMPORTING

ES_CREATED = it_create

ET_RETURN = lt_return.

I have created / declared internal tables it_DATA,it_create,lt_return in the calling program.

However i am getting this error,

"Data error (invalid data type 17) in a Remote Function Call"

The above internal tables are created in such a way that the are similar with the structures used in System2.

Can someone help.

I will reward points for helpful answered

1 ACCEPTED SOLUTION

former_member589029
Active Contributor
0 Kudos

Hello Noleen,

According to the dump, you are using a data type that is not supported for RFC's. Can you post the structure of your parameters with the data types you are using.

Michael

7 REPLIES 7

former_member589029
Active Contributor
0 Kudos

Could you post the structure of your tables?

Thanks, Michael

0 Kudos

Which one s? do you mean both the internal tables and the referenced tables in the called FM

0 Kudos

If you need the data of the Internal table to be passed. Then you have to use TABLES parameter. You can try with TABLES parameter and then Try calling the FM.

Regards,

Abhishek

former_member195698
Active Contributor
0 Kudos

how are you passing tables in IMPORT EXPORT parameter for a Function Module.

You should use the TABLES parameter for passing Internal tables.

Thanks & Regards,

Abhishek

former_member589029
Active Contributor
0 Kudos

Using importing/exporting for tables is fine (TABLES statement is obsolete anyway), just make sure that when you define the function module interface that in the exporting parameter IS_FTD_DATA refers to a table type. If it refers to a structure it will only be a structure. Only for a parameter referring to a table type you will be able to pass a internal table to. The same is true for the importing parameters.

The error suggests that you are using an invalid data type in the RFC, certain fields are not allowed in the interface of a RFC. E.g. you can't use fields of type STRING.

When you call your RFC are you getting a dump or is it just an error message? Can you give more details regarding the dump or error.

0 Kudos

When debugging at this tage

>>>>CALL FUNCTION c_rfc DESTINATION l_rfc_dest

EXPORTING

IS_FTD_DATA = it_ZBS_FTD_DATA

IMPORTING

ES_CREATED = it_ftd_create

ET_RETURN = lt_return.

thats where i am getting this error below

Runtime Errors CALL_FUNCTION_ILLEGAL_DATA_TYP

Date and Time 15.10.2007 11:15:34

Error analysis

A data error occurred when executing a Remote Function Call.

One field does not have the supported data type 17.

How to correct the error

Check whether the communication partner uses a more recent release than

the own system.

If the called function module uses a data type that is not supported by

the communication partner, then the two systems are unable to

communicate.

In the newer system, create a wrapping function module that uses only

"older" data types.

I have made all the data type in the internal table am passing to the RFC the same type with the structure i am passing to but i am still getting this error.

former_member589029
Active Contributor
0 Kudos

Hello Noleen,

According to the dump, you are using a data type that is not supported for RFC's. Can you post the structure of your parameters with the data types you are using.

Michael