Ручной перенос функционального модуля в существующую функциональную группу другой системы?

Dec 23 2020

Мне нужно перенести функциональные модули из одной системы SAP в другую, которые не связаны друг с другом. Я использую CG3Y / CG3Z для загрузки / выгрузки cofiles и файлов данных. Я добавляю транспорт в список импорта в STMS.

Существует функциональная группа, к которой принадлежат перемещаемые функциональные модули, уже созданная как в исходной, так и в целевой системе. Функциональная группа уже содержит разные функциональные модули, поэтому ее удаление невозможно. Он не содержит функциональных модулей, которые я пытаюсь импортировать.

Транспорт содержит только функциональные модули, а не функциональную группу. Когда я пытаюсь импортировать этот транспорт, я получаю сообщение об ошибке

R3TRFUGRZXXX original object cannot be replaced.

Я попытался проверить перезапись оригиналов, что привело к "успешному" импорту, но когда я пытаюсь получить к нему доступ через SE80, я получаю сообщение об ошибке

Function group <name> contains errors.

Я попытался восстановить функциональную группу через SE37, который удалял функциональные модули, которые были в функциональной группе перед импортом, поэтому я могу видеть только недавно перенесенные FM.

Я тестирую это на временных / тестовых функциональных модулях / группах, пока не выясню, как это сделать правильно, не испортив реальную функциональную группу.

Есть ли способ успешно выполнить импорт и сохранить все функциональные модули?

Ответы

3 GregMalewski Dec 23 2020 at 04:48

Системы SAP хранят FM в том виде, в каком они включены в программу, поэтому не существует функционального модуля без группы: «каждый [..] функциональный модуль в группе функций, система автоматически создает включаемый файл и присваивает ему имя в следующем формате: L<FGRP>U<NN>» [источник]

Вот почему вам необходимо объединить все ваши функциональные модули в одну систему и одну функциональную группу. Как только вы это сделаете, создайте перенос копий в вашу систему назначения и импортируйте их с опцией «перезаписать оригиналы».

Чтобы объединить функциональные модули, скопируйте целевой функциональный модуль во вновь созданную функциональную группу, экспортируйте новую группу, а затем импортируйте ее в «исходную систему». и переместите их вручную в существующую группу.

cape_bsas Dec 23 2020 at 04:51

Добро пожаловать, Маритас.

R3TRFUGRZXXX original object cannot be replaced.

Это означает , что объект функциональной группы является , по сути, включено в транспорте. R3TR FUGR(расшифровывается как FUnction GRoup)

Возможное решение - это ручное объединение программ функциональных групп. Если мы говорим всего о 1 FM, то для разработчика ABAP это не должно быть такой проблемой.