Меню

Методика копирования SAP-систем. Решение проблем

В основу статьи положен личный опыт автора. Если обратиться к первоисточнику, то рекомендуется изучить ноту «886102 - System Landscape Copy for SAP NetWeaver BW», в которой описываются различные аспекты и сценарии, связанные с копированием систем ландшафта, в котором есть BW-система.

Содержание

Введение

Раздел первый. Смена логических имен

Пункт 1.1. Смена собственного логического имени манданта

Пункт 1.2. Технические подробности

Пункт 1.3. Возможные проблемы при запуске BDLS

Пункт 1.4. Смена логических имен в системе BW и исходных системах

Пункт 1.5. Правила наименования логических систем

Пункт 1.6. Подмена манданта в исходной системе

Раздел второй. Восстановление связи с исходными системами

Пункт 2.1. Подготовка к восстановлению

Пункт 2.2. Восстановление связи с исходными системами

Пункт 2.3. Возможные проблемы при восстановлении связи с исходными системами

Введение

В первом разделе статьи дана методика смены логических имён при копировании SAP-систем. Логические имена используются для уникальной идентификации манданта (клиента) ABAP-системы в межсистемном обмене информацией по технологии ALE (Application Link Enabling), транспортным механизмом которой является IDOC. Также, логические имена используются для идентификации BW-систем и исходных систем.

Копирование SAP-системы может быть выполнено с использованием инструмента SWPM (путем экспорта/импорта), что может быть оправдано для dual stack систем, или путем копирования БД. Копирование SAP-системы делается, например, для обновления тестовой системы, и обычно сопровождается сменой идентификатора системы (SID). Имена логических систем после копирования остаются такими же, как и в исходной системе (из которой делалась копия).

Во втором разделе статьи описана методика восстановления связи с исходными системами в BW-системах. После копирования системы BW или исходной системы, и последующей смены логических имен, связь между системами нарушается. Для восстановления работоспособности необходимо в транзакции RSA1 системы BW, поочередно, выполнить восстановление всех исходных систем (и самой системы BW) затронутых копированием.

В основу статьи положен личный опыт автора. Если обратиться к первоисточнику, то рекомендуется изучить ноту «886102 - System Landscape Copy for SAP NetWeaver BW», в которой описываются различные аспекты и сценарии, связанные с копированием систем ландшафта, в котором есть BW-система.

Раздел первый. Смена логических имен

Пункт 1.1. Смена собственного логического имени манданта

Под собственным логическим именем будем понимать логическое имя манданта локальной системы, в которой мы делаем настройки. Зайдите в транзакцию SCC4 и посмотрите имя логической системы для текущего манданта (рис. 1).

Рисунок 1. Логическое имя манданта

Если вы увидели, что логическое имя тестового манданта «приехало» из продуктивной системы, то его надо поменять на логическое имя, которое соответствует тестовой системе. Например, нам надо поменять логическое имя ER3CLNT100 на ER2CLNT100.

Делается это в транзакции BDLS, находясь в манданте, логическое имя которого мы меняем. Запустите транзакцию BDLS, укажите логическое имя, которое надо заменить (ER3CLNT100), новое логическое имя (ER2CLNT100), уберите опции «ТестПрогон» («Test Run»), «Проверка существования нового имени в таблицах» («Check Existence of New Names in Tables»), отметьте опции «повторно определить релевантные таблицы» («Determine Relevant Tables Again») и «Запуск преобразования специально обрабатываемых таблиц» («Start Update of Tables with Special Handling»). В результате окно транзакции BDLS будет выглядеть как показано на рис. 2.

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

Рисунок 2. Окно транзакции BDLS

При успешном завершении транзакции BDLS можно зайти в транзакцию SCC4 и убедится, что произошла смена собственного логического имени.

Пункт 1.2. Технические подробности

Теперь рассмотрим технические подробности, связанные со сменой логических имен. Транзакция BDLS в ходе выполнения определяет таблицы, в которых есть поля для хранения логического имени, и меняет, если находит в них, старое имя логической системы на новое. При этом происходит изменение как манданто-независимых, так и манданто-зависимых данных. Поэтому смену логического имени надо выполнять либо в самом манданте, либо в манданте, который участвует в обмене информацией с логической системой, имя которой мы меняем. При этом есть несколько таблиц, на которых стоит обратить внимание. Их имена, представлены в таблице 1.

Таблица 1. Важные таблицы для процесса смены логических имен

Если мы меняем логическое имя манданта, находящегося в локальной системе, то транзакция BDLS в начале выполнения добавляет новое имя в таблицу TBDLS и меняет имя логической системы для данного манданта в таблице T000.

Пункт 1.3. Возможные проблемы при запуске BDLS

Так как мы рассматриваем смену логических имен в системах, полученных путем копирования из других систем, то во время запуска BDLS возможны некоторые проблемы. Например, имя новой логической системы уже есть в таблице TBDLS и вы получите соответствующее сообщение. Или, вы, по ошибке, выполнили смену логического имени находясь в нулевом манданте, и вам надо повторить смену логического имени в самом манданте, к которому это логическое имя относится. В этом случае, вы можете, любым доступным вам способом (например, через режим отладки), поменять логическое имя в таблице T000 на старое, а новое имя удалить из таблицы TBDLS, и повторить смену логического имени. Конечно, речь идет про такие манипуляции в непродуктивной системе, и при условии, что вы понимаете то, что вы делаете, и какое имя к какой системе/манданту относится.

Пункт 1.4. Смена логических имен в системе BW и исходных системах

Таблица RSBASIDOC нам интересна, если мы делаем изменения в именах логических систем, которые участвуют в отношениях «система BW – исходная система». Например, вы сделали копию из продуктивной системы BW в тестовую, или вам надо подменить одну тестовую исходную ERP систему, на другую. Для начала вам надо определиться, какие имена на какие менять? В этом поможет просмотр таблицы RSBASIDOC, как в системе BW, так и в исходной системе.

Рассмотрим сценарий, когда у нас была тестовая система BW2, в которой были созданы исходные системы разных типов для манданта 100 системы ER2. Предположим, что мы сделали копию системы BW2 из системы BW3, которая, в свою очередь, связана с мандантом 100 системы ER3.

Пусть до смены логических имен содержимое некоторых полей таблицы RSBASIDOC в скопированной системе BW2 будет таким, как приведено в таблице 2.

Таблица 2. Пример содержимого таблицы RSBASIDOC (до смены логических имен)

Столбец RLOGSYS содержит логическое имя BW-системы, столбец SLOGSYS - логические имена исходных систем. В первую очередь, нам надо сменить собственное логической имя BW-системы с BW3CLNT100 на BW2CLNT100. Для этого заходим в мандант 100 системы BW2 и запускаем транзакцию BDLS, в качестве старого имени указываем BW3CLNT100, в качестве нового BW2CLNT100. Остальные опции выставляем, как описано в пункте 1.1 и показано на рис. 2. В результате выполнения BDLS произойдет замена логического имени в таблицах системы, в том числе и в RSBASIDOC, содержимое которой будет таким, как приведено в таблице 3.

Таблица 3. Пример содержимого таблицы RSBASIDOC (после смены логического имени системы BW)

Далее, находясь в манданте 100 системы BW2, необходимо последовательно выполнить замены логических имен исходных систем в транзакции BDLS (ER3ACDS100 на ER2ACDS100, ER3CLNT100 на ER2CLNT100 и ER3SAPI100 на ER2SAPI100).

В результате всех замен получим содержимое RSBASIDOC, приведенное в таблице 4.

Таблица 4. Пример содержимого таблицы RSBASIDOC (после смены логических имен)

После этого стоит зайти в систему ER2 и, также, проверить содержимое таблицы RSBASIDOC. Имена логических системы должны быть аналогичными. В случае, обнаружения несоответствия, можно воспользоваться транзакцией

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти

Обсуждения Количество комментариев1

Комментарий от  

Сергей Бредихин

  |  01 октября 2019, 11:39

Если при запуске смены логического имени в транзакции BDLS выдается предупреждение, которое вы готовы принять, то нажмите Enter для продолжения выполнения (кстати это универсальный способ который работает во многих транзакциях).