Search code examples
importabaptransportfunction-modulesap-basis

Manual function module transport into another system existing function group?


I need to transport function modules from one SAP system into another, which are not connected to each other. I am using CG3Y/CG3Z to download/upload cofiles and data files. I add the transport to import list in STMS.

There is function group to which transported function modules belong, already created in both origin and destination system. The function group already contains different function modules, so deleting it is not an option. It does not contain function modules I am trying to import.

The transport contains only function modules, not function group. When I try to import this transport, I get an error

R3TRFUGRZXXX original object cannot be replaced.

I tried checking the Overwrite Originals, which results in "successful" import, but when I try to access it via SE80, I get an error

Function group <name> contains errors.

I tried repairing the function group via SE37, which deleted function modules that were in the function group before import, so I can only see the newly transported FMs.

I am testing this on temporary/test function modules/groups, until I figure out how to do this properly without messing up the real function group.

Is there any way to do the import successfully and keep all the function modules?


Solution

  • SAP systems store FM as the program includes, so there is no function module without the group: "each [..] function module in the function group, the system automatically creates an include file and assigns it a name using the following format: L<FGRP>U<NN>" [source]

    This is why you need to combine all your function modules in one system and one function group. Once you do it, create transport of copies to your destination system and import with the "overwrite originals" option.

    To combine your function modules, copy your destination function module to a newly created function group, export the new group, and then import it to the "origin system." and move them manually to the existing group.