‎2007 Oct 15 12:18 PM
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
‎2007 Oct 16 12:48 PM
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
‎2007 Oct 15 12:26 PM
Could you post the structure of your tables?
Thanks, Michael
‎2007 Oct 15 1:03 PM
Which one s? do you mean both the internal tables and the referenced tables in the called FM
‎2007 Oct 15 2:47 PM
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
‎2007 Oct 15 12:44 PM
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
‎2007 Oct 15 3:13 PM
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.
‎2007 Oct 16 7:09 AM
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.
‎2007 Oct 16 12:48 PM
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