2012 Nov 23 8:31 AM
Hi ,
I tried to copy a 'Normal function module to an RFC'
After copying , when i tried to activate , it shows 'No generic types allowed in RFC modules'.
How to rectify the issue ??
Can anyone help please.
Thanks,
Abhi
Hi ,
I tried to copy a 'Normal function module to an RFC'
After copying , when i tried to activate , it shows 'No generic types allowed in RFC modules'.
How to rectify the issue ??
Can anyone help please.
Thanks,
Abhi
2012 Nov 23 8:43 AM
Hello Abhi,
it depends on what kind of types your function module interface uses.
Some kind of types cannot be transported via RFC protocol, e.g.: any kind of references or types like (*)string.
Try to change the interface to non generic types. Perhaps via encapsulating them into XML or sth. else.
Kind regards,
Hendrik
2012 Nov 23 8:50 AM
Look for generic types, like table without structure or so, and give them an actual type that will be able to contain the actual data. Remember the called system wont be able to get many information on the actual parameter as it is on another system. Many FM cannot be converted for this reason, and some will require some mapping of data (more restricted even in Unicode environment) from Abap size, be ready to map/assign casting and such tools..
For a sample look a good old RFC_READ_TABLE which use a SYCHAR512 record type.
Regards,
Raymond
2012 Nov 23 8:37 PM
you can use TYPE CHAR01, CHAR02... CHAR10 and so on for char fields of specific length, if you don't want to create specific data elements yourself...
2013 Feb 02 5:58 PM
Hi,
Generic types are like DATA : lo_var TYPE data
DATA : lo_var TYPE any
DATA : lo_var TYPE object.
They do not have a static fix type. So search for such type of parameter or local variable declarations in the module and rectify them by using a DDIC type or SAP Standard types.
Thank You.