Классы данных
Данные в БД системы R/3 разделяются на отдельные классы. Некоторые данные действуют в масштабе всей системы. Большинство этих данных находится в репозитории R/3 (Repository). Помимо всего прочего, репозиторий содержит программы АВАР, модули функций и объекты словаря данных АВАР (Data Dictionary). Вносимые в их конфигурацию изменения также действуют в масштабе всей системы. Такой тип настройки конфигурации называется независимой от клиента настройкой. Другие данные зависят от клиента, т. е. видимы только одним клиентом. Зависимые от клиента данные включают в себя данные пользовательской настройки, данные приложения и данные пользователя. Между зависимыми от клиента группами данных существует тесная связь. На данные приложения и данные пользователя влияют любые зависимые от клиента пользовательские настройки. Таким образом, данные приложения обычно согласованы только со своей пользовательской средой. На рис. 7.1 показано взаимодействие между разными классами данных.
Клиент
Клиент — это независимо учитываемая бизнес-единица компании. Данное понятие может включать в себя независимый бухгалтерский баланс. Установка отдельных параметров в соответствии с требованиями бизнеса компании называется пользовательской настройкой (Customizing). Ее можно использовать также для задания параметров, действующих в масштабе всей системы, таких как выбор производственного календаря, конфигурации ActiveLink и т.д. Почти все технические параметры R/3 являются независимыми от клиента. Это означает, что клиенты в системе R/3 подходят, например, для реализации относительно независимых зон производства, но не вполне соответствуют целям реализации бизнес-процессов полностью независимых компаний.
Техническая реализация
С технической точки зрения каждый клиент идентифицируется трехзначным числом, которое используется в качестве ключа в таблицах, содержащих данные приложения. Таблицы такого типа называются зависимыми от клиента. Первый их столбец - это поле MANDT, которое является также первым полем в основном ключе таблицы. После входа в систему можно получить доступ только к данным, присвоенным клиенту, который был выбран при входе. Таблицы бывают зависимыми и независимыми от клиента. Данные в подобных таблицах действительны для всех клиентов. У этих таблиц нет первого столбца MANDT, а их содержимое влияет на всю систему.
Рис. 7.1. Классы данных в базе данных R/3 Стандартные клиенты
В стандартной системе SAP предлагает следующих клиентов с заранее заданной конфигурацией:
► 000 для целей администрирования и как шаблон для создания дополнительных клиентов
► 001 для целей тестирования и как шаблон для создания дополнительных клиентов (до версии R/3 4.6C)
► 066 для удаленных служб SAP
Во время поставки клиенты 000 и 001 идентичны по содержанию. Ни один из этих клиентов не должен использоваться для реальной производственной работы. Клиент 000 уже содержит используемые по умолчанию настройки и образцы записей и поставляется с самым последним образцом настройки при обновлении версий, реализации пакетов поддержки и т.д. Если в дополнение к немецкому и английскому импортируются другие языки, то связанная с языком пользовательская настройка, такая как единицы измерения, доступна только в клиенте 000. Поэтому клиент 000 не может рассматриваться для производственной работы. Все эти специальные настройки должны явно переноситься в других клиентов.
Стандартные пользователи
Пользователи и их конфигурации (например, пароли) являются зависимыми от клиента, т. е. пользователь может работать только на клиенте, которому присвоена его конфигурация. В стандартной системе клиенты 000 и 001 выделяются пользователям SAP* и DDIC с паролями «06071992» и «19920706». Клиент 066 имеет пользователя EARLYWATCH с паролем SUPPORT (см. таблицу 8.2.) В целях безопасности настоятельно рекомендуется изменять пароли стандартных пользователей сразу после установки.
7.1. Создание новых клиентов
Для работы с системой R/3 нужно создать клиентов со специфическими для компании настройками. Обычно для этого копируется существующий клиент, чаще всего клиент 000 или клиент с заранее заданной конфигурацией с другой системы R/3. Клиентов можно копировать в пределах одной системы R/3 или из одной системы R/3 в другую. В последнем случае используется специальный запрос на перенос. Создание собственного клиента — это один из первых шагов в настройке системы, а следовательно, одна из базовых функций в IMG (Implementation Guide, см. главу 6). SAP рекомендует создать клиента в системе разработки для пользовательской настройки. Завершив пользовательскую настройку данной системы, можно скопировать все параметры и настройки на клиентов подчиненных систем R/3, включая рабочую систему, но сначала полезно протестировать эти настройки в системе консолидации, что обеспечит единообразие настроек систем R/3 в системной инфраструктуре. Это, в свою очередь, окажет очень хорошую помощь при тестировании системной среды. Копирование клиента следует рассматривать лишь как первый этап его инициализации. Если после завершения процесса копирования в исходного клиента вносятся дополнительные изменения, их также нужно скопировать на целевого клиента. Для этого используется Система изменений и переносов (CTS — Change and Transport System). Создание и копирование клиентов — это типичная задача при создании системной инфраструктуры на этапе реализации R/3. Рис. 7.2 иллюстрирует данный процесс для трехсистемной инфраструктуры в хронологическом порядке. После копирования клиента наступает этап проверки, в ходе которого для нового клиента могут потребоваться дополнительное обслуживание и корректировки.
Клиент создается в два этапа. Первый этап: новый клиент становится известен системе R/3, а также выполняются некоторые важные базовые настройки. Второй этап: заполнение клиента данными. Только после этого клиент может функционировать.
Роль клиента
При планировании инфраструктуры системы SAP R/3 с самого начала необходимо учитывать, как различные виды деятельности должны быть разделены между системами и клиентами.
При создании клиента это отражается в присваиваемых ему ролях. Эти роли отражают функции клиента и присвоенные ему атрибуты:
► Рабочий клиент
Рис. 7.2. Пример для трехсистемной инфраструктуры
► Клиент для тестирования
► Клиент для пользовательской настройки
► Клиент для демонстрации
► Клиент для обучения и подготовки
► Эталонный клиент SAP
Классификация клиентов, не считая документации, служит также защите рабочих клиентов в системе с несколькими дополнительными (тестовыми) клиентами. Например, клиент, определенный как рабочий, не может быть перезаписан локальной или удаленной копией клиента. Деятельность по пользовательской настройке, которая вызывается прямо из приложения как текущие настройки (например, курсы обмена, периоды проводок), может реализовываться непосредственно в рабочих клиентах, хотя пользовательские настройки не разрешаются в связи с общими настройками клиента.
При верификации система определяется как рабочая, если хотя бы один из клиентов классифицируется как рабочий клиент.
Классификацию клиента можно изменить в любое время и настроить для отражения способа, которым его будет использовать пользователь.
Опции изменения
Среди базовых атрибутов клиента — задание возможности изменения его данных и объектов, что должно рассматриваться вместе с возможностями изменения, определенными для системы R/3. Степень изменчивости, определенная для системы R/3, управляет возможностью изменения объектов репозитория и общеклиентской пользовательской настройки. Она не оказывает влияния на изменения зависимой от клиента пользовательской настройки.
В клиентах системы для обучения, демонстрации или тестирования не всегда рекомендуется автоматически записывать все изменения зависимой от клиента пользовательской настройки — они могут даже непреднамеренно переноситься на серверную систему.
Поэтому в элементах управления клиента можно определить настройки для изменения и переноса зависимых от клиента и общих объектов клиентов пользовательской настройки.
Зависимые от клиента объекты
Для настройки клиентов по обслуживанию и переносу зависимых от клиента объектов существуют следующие возможности:
► Изменения без автоматической записи
► Автоматическая запись изменений
► Никакие изменения не допускаются
► Изменения без автоматической записи, никакой перенос не допускается
В клиентах, в которых выполняется пользовательская настройка, все изменения должны записываться для возможного последующего переноса в другие системы (автоматическая запись изменений). Если изменения допускаются, но согласно настройке клиента не записываются, можно определить будет или нет разрешен перенос изменений вручную. Для рабочего клиента рекомендуется задавать блокирование клиента или, по крайней мере, записывать все изменения автоматически.
Общие объекты клиентов
Управление использованием общих объектов клиентов (репозиторий и пользовательская настройка для всех клиентов) выполняется отдельно:
► Разрешаются изменения в репозиторий и независимые от клиента пользовательские настройки
► Не допускаются пользовательские настройки независимых от клиентов объектов
► Не разрешаются изменения в объектах репозитория
► Не допускаются изменения в репозиторий и общих объектах пользовательской настройки клиентов.
В качестве усовершенствования возможных настроек изменения системы (см. раздел 5.1), которое регулирует изменения в системах на основе объектов, можно использовать эти настройки для определения клиента (предпочтительно в системе разработки) как единственного клиента в системной инфраструктуре, в котором могут выполняться изменения репозитория и независимой от клиента пользовательской настройки. В этом случае можно избежать возникновения непреднамеренных побочных эффектов.
Чтобы защитить, например, рабочего клиента или клиента пользовательской настройки от случайного или сознательного перезаписывания копий, можно защитить клиентов с помощью дополнительной настройки. Доступны следующие возможности:
► Уровень защиты 0: нет ограничений
► Уровень защиты 1: запрещена перезапись
► Уровень защиты 2: запрещена перезапись, нет доступа извне
Клиент с уровнем защиты 1 или 2 не может выполнять роль целевого клиента при копировании клиента. Уровень защиты 2 предотвращает также внешний доступ к клиенту для сравнения. Система R/3 предусматривает специальный инструмент сравнения клиентов. Его можно использовать, например, для проверки идентичности пользовательской настройки двух клиентов и выявления различий. В частности, такая информация имеет важное значение при тестировании, когда тестовая среда должна быть идентична рабочей. Уровень защиты 2 предотвращает применение средств сравнения ►Customizing Cross-System Viewer для рассматриваемых клиентов. Такая форма защиты исключает несанкционированный доступ к параметрам пользовательской настройки клиента и его пользовательским данным. При необходимости можно ограничить использование нового клиента следующими областями:
► Ограничения при запуске процессов САТТ и еСАТТ
САТТ (Computer Aided Test Tool) —это автоматизированное средство тестирования. При выполнении операций САТТ указанные наборы тестов можно повторить несколько раз. В некоторых случаях это приводит к массивным изменениям базы данных, которые недопустимы, по крайней мере, в рабочих клиентах.
► Защита от обновлений SAP
Такая настройка возможна только для клиентов, которые классифицированы как тестовые или эталонные клиенты SAP. При обновлении версии SAP указанный клиент не подвергается изменениям; после обновления с ним можно больше не работать. Эта функция предназначена только для исключительных случаев, таких как обеспечение основы для сравнения после выполнения обновления.
Дополнительные замечания
В системе R/3 Enterprise благодаря возможностям еСАТТ (Extended САТТ), начиная с Basis версии Web Application Server 6.20, ограничения при выполнении САТТ и еСАТТ можно настраивать более детально.
При подготовке нового клиента описанные атрибуты должны определяться до того, как клиент будет заполнен данными. Для этого выполните следующие шаги:
1. Выберите ►Client maintenance. На экран выводится перечень доступных в системе клиентов (см. рис. 7.3).
2. Создайте здесь новую запись и определите атрибуты нового клиента в шаблоне обслуживания технических атрибутов клиентов (см. рис. 7.4).
3. Присвойте клиенту роль.
4. Выберите уровень возможности изменения клиента.
5. Определите область действия возможных изменений в независимых от клиента объектах для этого клиента.
6. Если необходимо, защитите клиента от копирования и сравнения с другими клиентами.
7. Сохраните изменения.
Рис. 7.3. Начальный экран технического обслуживания клиента
Рис. 7.4. Данные технического обслуживания
Теперь выполнены все настройки для нового клиента. Показанные шаги сначала приводят только к включению записи в таблицу Т000, описывающую атрибуты нового клиента. Новый клиент не содержит специфических для клиента данных и в частности не содержит данных пользователя. В системе R/3 жестко зафиксирован только пользователь SAP* с паролем «pass». Этот пользователь понадобится для регистрации во вновь созданном клиенте в начале процесса копирования. В процессе копирования этот пользователь заменяется спецификацией пользователя SAP* в клиенте-источнике, если используется профиль копии с основными данными пользователя.
На втором шаге для обеспечения работоспособности клиента требуется скопировать необходимые данные.
Подготовка копирования
Копирование клиента в продолжающемся проекте разработки или во время работы производственной системы создает некоторые риски, которые можно минимизировать при надлежащей подготовке.
► Системный администратор должен обеспечить, чтобы согласованное копирование клиентов объявлялось заранее с помощью системного сообщения; в этом случае пользователи смогут соответствующим образом настроить использование своих систем. Часто напоминание за день до проведения копирования будет полезным.
► Убедитесь, что во время копирования существует резервная копия текущих данных. В зависимости от используемой РСУБД может быть полезно деактивировать регистрацию в системе.
► Непосредственно перед выполнением копирования необходимо принудительно удалить из системы пользователей, которые были ранее предупреждены, но которые, тем не менее, зарегистрировались в системе. До версии SAP R/3 4.6C можно также использовать транзакцию из Euro conversion (EWZ5) для блокирования пользователей.
► Убедитесь в том, что фоновые задания в клиенте источнике отменены, а внешние интерфейсы не выполняются.
7.2. Локальное копирование
Есть несколько методов заполнения данными вновь созданного клиента. Клиента можно:
► Создать в той же системе путем копирования другого клиента (локальное копирование)
► Создать копированием клиента с удаленной системы (удаленное копирование)
► Переносить клиента с какой-либо системы на целевого клиента с помощью запроса переноса (перенос клиента)
Выбранный метод определяется системной инфраструктурой и типом данных на клиенте. Для всех методов выполняются аналогичные шаги. Для предотвращения несогласованности при копировании нельзя выполнять никаких работ на исходном или целевом клиенте.
Профиль копирования
В соответствии со структурами данных в БД R/3 можно выбирать типы данных для копирования. Для этого в R/3 предусматриваются профили копирования. На рис. 7.5 показаны доступные в данный момент профили для копирования клиентов.
Нельзя создавать собственные профили или изменять существующие. Можно, однако, использовать основные данные пользователя и данные приложения других клиентов и сохранять полученную комбинацию источников в пригодной к использованию форме как характеристическое значение. Одним из элементов этой комбинации всегда должен быть клиент источника основных данных пользователя. Нельзя смешивать данные приложений различных клиентов таким образом. Профили копирования описаны в таблице 7.1.
Рис. 7.5. Профили копирования, поставляемые SAP
Таблица 7.1. Профили копирования для локальных копий
Имя профиля | Описание |
SAP_ALL | Все специфические данные клиента копируются в целевого клиента (исключение: документы изменения и локальные данные) |
SAP_APPL | Аналогично SAP_ALL, но без основных данных пользователя |
SAP_CUST | Специфическая пользовательская настройка клиента (включая профили авторизации) копируется в целевого клиента. Данные приложения удаляются, данные пользователя остаются |
SAP_CUSV | Аналогично SAP_CUST, но также копируются варианты |
SAP_UAPP | Аналогично SAP_ALL (не используется, начиная с R/3 Enterprise) |
SAP_UCUS | Аналогично SAP_CUST, но также копируются основные данные пользователя |
SAP_UCSV | Аналогично SAP_UCUS, но также копируются варианты |
SAP_USER | Копируются пользователи, роли и профили авторизации |
Во всех профилях, за исключением SAP_USER, все данные пользовательской настройки и приложений удаляются в целевом клиенте перед реальным копированием.
Документы изменения не включаются в копию клиента. Если они нужны в целевом клиенте, они могут быть скопированы впоследствии в переносе при условии, что клиент-источник и целевой клиент имеют одно и то же имя.
Основные данные пользователя в целевом клиенте перезаписываются только в том случае, если выбран профиль копии с основными данными пользователя.
Метод выполнения локального копирования
Сначала рассмотрим процедуру локального копирования клиента в условиях, когда целевой клиент уже подготовлен (см. предыдущий раздел). Выполните следующие шаги:
1. Войдите в систему на только что определенном клиенте как пользователь SAP* с паролем «pass».
2. Убедитесь в том, что ни один пользователь не зарегистрирован на клиенте-источнике или целевом клиенте, и пошлите системное сообщение, чтобы объявить о предстоящем копировании клиента.
3. Выберите ►Local Client Copy.
4. Для выбора копируемых данных с исходного клиента используйте профиль (см. рис. 7.6). Если есть сомнение насчет области действия доступных профилей, проверьте содержимое, выбрав Profile • Display.
Рис. 7.6. Локальное копирование клиента
5. Скопируйте клиента в фоновом режиме, выбрав Schedule as background job.
6. С помощью ►Client copy log analysis можно контролировать текущий статус копии в любое время и анализировать журналы после выполнения копирования. В процессе копирования создаются подробные журналы.
Рис. 7.7. Подробное описание профиля SAP_ALL
Теоретически можно также скопировать клиента в приоритетном режиме, выбирая Start immediately; однако процесс копирования будет тогда автоматически выполняться текущей инстанцией. В фоновом режиме можно выбрать любую инстанцию системы R/3, предусматривающую фоновое выполнение. В зависимости от объема копируемых данных и возможностей оборудования выполнение этого процесса может занять несколько часов. Если процесс копирования выполняется в приоритетном режиме, процесс диалога блокируется до окончания копирования. Параметр инстанции rdisp/max_wp_runtime ограничивает время обработки для процесса диалога. Если транзакция превышает заданное время, то она отменяется и происходит ее откат. Если копирование выполняется в фоновом режиме, то можно выбрать подходящее время начала копирования, которое определяется в команде Schedule as background job.
Если копирование прерывается из-за каких-то проблем, то для его продолжения можно использовать опцию Restart mode, которая автоматически будет предложена системой. В этом случае процедура копирования возобновляется не с самого начала, а с того места, где она была остановлена.
Чтобы предварительно протестировать выполнение всей процедуры, используйте опцию Test run. Также доступны опции Resource check (Проверка ресурсов) и Simulation (Моделирование) (см. рис. 7.8).
При копировании можно проверять журналы (со всех других клиентов). Это позволяет, например, следить за ходом выполнения копирования. Во время операции копирования удобно использовать монитор. Он графически отображает на экране процесс выполнения копирования и объем еще не скопированных данных.
Рис. 7.8. Выполнение теста удаленного копирования клиента
Ниже приведены фрагменты файла журнала копирования локального клиента в фоновом режиме. Копирование выполнялось на производственной системе со своими собственными данными пользователей. Особенно важная информация выделена жирным шрифтом.
Листинг 7.1. Фрагмент журнала локального копирования клиента
Client copy from " 15.07.2002 " " 17:30:45"
SYSID..................................PLU
SAP Release............................46С
Host...................................SLUPLU
User...................................SAP*
Parameter
Source client...........................100
Source client user master data .........100
Target client...........................600
Copy profile............................SAP_ALL
Table selection
Customizing data.........................X
with application data....................X
Initialize and re-create.................X
Change documents not copied
ADDR_CLIENTCOPY_SELECT_TABLES executed 25(0)
Entries transferred
Runtime 0 seconds
Exit program ADDR_CLIENTCOPY_SELECT_TABLES
successfully executed
SCCB_VARIANT_
CLIENTCOPY executed 4( 9.324) Entries transferred
Runtime 200 seconds
Exit program SCCB_VARIANT_CLIENTCOPY successfully executed
CLIENTCOPY_SELECT_TEXTAB executed 3(0)
Entries transferred
Runtime 0 seconds
Exit program CLIENTCOPY_SELECT_
TEXTAB successfully executed
table Inserts Delete Total Function Kbyte
Exluded from copy: STXB
Exluded from copy: STXH
Exluded from copy: STXL
Table BSEC not copied explicitly, copied as a cluster table
Table BSED not copied explicitly, copied as a cluster table
…………………………………
A000 0 0 0 COPY 0 0
A002 6 0 6 COPY 0 0
A003 516 0 516 COPY 12 1
…………………………………
WYT5 0 0 0 DEL. 0 1
WYT6 0 0 0 COPY 0 0
25D11 86 0 86 COPY 6 0
…………………………………
Exit program RSSOURSCO_FOR_CC successfully executed
Selected objects : 18.398
Edited objects : 17.937
Tables deleted : 461
Storage required (KB) : 2.172.391
Program run successfully.
Runtime (seconds) : 4.797
End of processing: 06:50:35
7.3. Удаленное копирование
Каждая система R/3 в многосистемной инфраструктуре выполняет свои четко определенные задачи. Поэтому, например, пользовательская настройка, обеспечение качества и продуктивная работа должны выполняться на разных системах R/3. Чтобы обеспечить идентичность изменений, вносимых в настройки и параметры систем R/3, можно использовать копирование клиентов системы, в которой вы работаете. Один из возможных способов сделать этот перенос данных предоставляет «удаленное копирование».
Примечание
Клиента можно скопировать из одной системы в другую, если это системы R/3 одной и той же версии и репозитории не были изменены различным образом в результате внесения исправлений или переносов.
Для связи между системами R/3 используются удаленные вызовы функций (RFC), поэтому необходимо создать RFC-соединение целевой системы с исходной (см. главу 13). Однако передача данных через интерфейс RFC происходит медленнее, чем при локальном копировании или переносе клиента с одной системы на другую. Если принимать во внимание одно лишь быстродействие сетевых соединений, то удаленное копирование всегда выполняется медленнее локального. Причем во время этой операции ни исходный, ни целевой клиент не должны использоваться для других работ. Кроме того, процедура удаленного копирования должна выполняться в фоновом режиме. Это позволит предотвратить блокирование процесса диалога. Длительное выполнение приводит к тому, что время работы процедуры копирования несколько превышает время, определенное для процессов диалога в системе R/3. Если копирование прерывается, его можно возобновить с того же места (когда активизирована соответствующая опция рестарта). Необходимо также отметить, что даже при фоновой обработке процесс RFC захватывает процесс работы диалога во время чтения таблицы на системе-источнике. Поэтому необходимо задать максимальное время диалога в исходной системе в зависимости от размера наибольшей таблицы.
Метод выполнения удаленного копирования
Единственное различие между процедурами локального копирования и копирования клиента с другой системы R/3 состоит в том, что в последнем случае необходимо RFC-соединение с этой системой. Для удаленного копирования клиента выполните следующие шаги:
1. Создайте в целевой системе нового клиента (см. раздел 7.1).
2. Войдите в систему на целевом клиенте как пользователь SAP* с паролем PASS.
3. Для выполнения запланированного копирования нужно определить RFC-соединение между двумя системами R/3 на исходном клиенте (см. главу 13).
4. В данном случае необходимо также защитить исходного клиента системы-источника от возможных изменений во время копирования. Убедитесь в том, что ни один пользователь не зарегистрирован в клиенте-источнике или целевом клиенте, и пошлите системное сообщение, чтобы объявить о предстоящем копировании клиента.
5. Наконец, можно начать копирование в целевой системе. Для вывода соответствующей программы копирования клиента можно выбрать команду ►Remote client сору (см. рис. 7.9).
6. Выберите копируемые данные, используя профиль.
7. Выберите RFC-соединение, определяя Source destination. Имя исходной системы и клиент-источник задаются автоматически после выбора соединения RFC.
Рис. 7.9. Удаленное копирование клиента
8. Перед фактическим копированием протестируйте соединение RFC с помощью средства RFC System check. Кроме тестирования соединения систем R/3, проверяются версии R/3 и совместимость словарей систем.
9. Запустите копирование в фоновом режиме.
10. Проверьте состояние копирования в целевой системе.
Альтернативные варианты удаленного копирования (в фоновом или приоритетном режиме) и их опции не отличаются от локального. Поэтому по уже упоминавшимся причинам и при локальном, и при удаленном копировании предпочтительнее фоновое выполнение данного процесса. Перед запуском копирования можно протестировать процедуру копирования. Прежде чем начинать копирование, нужно остановить все работы в исходном и целевом клиентах. При прерывании процедуры удаленного копирования ее можно продолжить (как и при локальном копировании).
Примечание
При удаленном копировании клиента перемещается только таблица данных, а не определения таблиц. Если на исходном клиенте были созданы пользовательские, зависимые от клиента таблицы, то они не будут копироваться автоматически — может возникнуть ошибка. Необходимо проверить структуру копируемых таблиц. Если копирование приведет к потере данных, потому что, например, таблицы отсутствуют в целевой системе или структура полей таблиц на исходной и целевой системах различается, то процесс копирования прерывается и все различия записываются в журнал. Чтобы обеспечить совместимость словарей (Dictionary), необходимо перед копированием клиента перенести отсутствующую структуру таблиц из исходной системы в целевую. Необходимо также отметить все программные изменения, связанные с новыми таблицами.
Профили копирования
Для удаленного копирования клиента доступны те же профили копирования, что и для локального копирования. В R/3 Enterprise были добавлены дополнительные профили, с помощью которых общая для клиентов пользовательская настройка также может переноситься в контексте копирования клиента (см. таблицу 7.2).
Таблица 7.2. Дополнительные профили копирования для удаленного копирования клиента
Имя профиля | Описание |
SAP_RMBC | Аналогично SAP_UCSV с добавлением общей для клиентов пользовательской настройки |
SAP_RMPA | Аналогично SAP_ALL с добавлением общей для клиентов пользовательской настройки |
SAP_RMPC | Аналогично SAP_CUSV с добавлением общей для клиентов пользовательской настройки |
7.4. Перенос клиента
При переносе клиента данные не будут копироваться непосредственно на удаленную целевую систему. Для создания данных и управляющих файлов нужно использовать средство управления переносом tp. Это позволит создать такие файлы для экспортируемых с клиента данных и сохранить их в глобальном каталоге переноса. Это данные можно затем импортировать в целевую систему в любое время позже. Перенос клиента можно применять также для перемещения (с использованием внешнего носителя) зависимых от клиента данных на систему, находящуюся вне системной инфраструктуры, или для создания резервной копии клиента.
Примечание
При применении данного метода важно, чтобы на исходной и целевой системах использовалась одна и та же версия системы R/3. Как и для удаленного копирования, для переноса клиента словари обеих систем также должны быть совместимы. Если целевая система уже известна и возможно соединение RFC, то это условие можно проверить с помощью RFC system check, как и для удаленного копирования.
Метод выполнения переноса данных клиента с помощью экспорта клиента несколько отличается от процедуры локального или удаленного копирования.
1. В первую очередь создайте целевого клиента на целевой системе. В отличие от локального и удаленного копирования, данный шаг возможен и после создания запроса на перенос в исходной системе.
2. Затем зарегистрируйтесь на клиенте-источнике исходной системы как пользователь, имеющий полномочия на выполнение запроса на перенос (не SAP* или DDIC).
3. Убедитесь в том, что никто кроме вас не зарегистрирован в исходном клиенте, и пошлите системное сообщение другим пользователям системы о предстоящем экспорте клиента.
4. Запустите экспорт с помощью ►Client export.
5. Как и при локальном/удаленном копировании, данные для копирования выбираются с помощью профиля данных (см. рис. 7.10). Однако в отличие от локальных и удаленных копий экспорт клиента можно использовать также для копирования независимых от клиента данных. Для этого также предусмотрены профили (см. таблицу 7.3):
Таблица 7.3. Дополнительные профили копирования при экспорте клиента
Имя профиля | Описание |
SAP_EXBC | Аналогично SAP_UCSV с добавлением общей для клиентов пользовательской настройки |
SAP_EXPA | Аналогично SAP_ALL с добавлением общей для клиентов пользовательской настройки |
SAP_EXPC | Аналогично SAP_CUSV с добавлением общей для клиентов пользовательской настройки |
6. Любая система, определенная в системной инфраструктуре, включая виртуальные или внешние системы, может быть целевой. Предполагается лишь, что R/3 на исходной системе имеет ту же версию. Этот метод поддерживает и онлайновое, и фоновое выполнение со всеми их достоинствами и недостатками.
7. После подтверждения выбора выводится уведомление, сообщающее, какие запросы на перенос созданы для данной задачи (см. рис. 7.11).
8. Проверьте журналы, созданные для выполнения копирования.
Для такого типа копирования данных клиента также создаются журналы. Представленный ниже файл журнала — это копия журнала экспорта клиента с профилем SAP_CUST.
Рис. 7.10. Экспорт клиента
Рис. 7.11. Информация о созданных запросах
Листинг 7.2. Журнал копирования для экспорта клиента
Client export from "10/03/2002" "03:56:14"
System ID............................ "KLU"
R/3 Release.......................... "46C"
Host................................. "SLUQAS"
User................................. SHAGEM
Parameter
Source client......................... "600"
Copy Profile.......................... "SAP_CUST"
Table selection
Customizing data...................... "X"
with application data................. " "
Initialize and recreate.......... "X"
With cross-client tables..............." "
"ADDR_CLIENTCOPY_SELECT_TABLES" executed " 25"(" 0") entries copied
Runtime " 0" seconds
Exit program "ADDR_CLIENTCOPY_SELECT_TABLES" successfully executed
"RKE_CC_EXCLUDE_TABLES" executed " 0"(" 0") entries copied
Runtime " 10" seconds
Exit program "RKC_CC_EXCLUDE_TABLES" successfully executed
"RKC_CC_EXCLUDE_TABLES" executed " 4"(" 0") entries copied
Runtime " 12" seconds
Exit program RKE_CC_EXCLUDE_TABLES" successfully executed
"RV_COND_RECORDS_TRANS" executed " 4"(" 1.046") entries copied
Runtime " 11" seconds
Exit program "RV_COND_RECORDS_TRANS" successfully executed
"SCCB_VARIANT_CLIENTCOPY" executed " 4"(" 5.573") entries copied
Runtime " 121" seconds
Exit program "SCCB_VARIANT_CLIENTCOPY" successfully executed
"CLIENTCOPY_SELECT_TEXTID_STD" executed. " 1" entries found
Runtime " 0" seconds
Exit program "CLIENTC0PY_SELECT_TEXTID_STD" successfully executed
"CLIENTTTRA_SELECT_TEXTID_
FORM" executed. " 6" entries found
Runtime " 0" seconds
Exit program "CLIENTCOPY_SELECT_TEXTID_STD" successfully executed
"CLIENTTRA_SELECT_TEXTID_FORM" executed. " 0" entries found
Runtime " 0" seconds
Exit program "CLIENTTRA_SELECT_TEXTID_STYL" successfully executed
Command file for "tp" is written under: "KLUKT00116"
For client transport, " 12.508" entries entered in
command file
Command file for "RSTXR3TR" is written under: "KLUKX00116"
For client transport, " 7" entries entered in
command file
Selected objects : " 30.961"
Program ran successfully
Runtime (seconds) : " 352"
Кроме перечня обнаруженных ошибок, журнал содержит имена запросов на перенос, которые были созданы для экспорта клиента. Кроме возможности использования ►Client Copy Log Analysis для копии клиента для определения статуса и прогресса операции, в этом случае необходимо также использовать для оценки результатов функцию Client из ►Transport Organizer (extended view). Журнал программы копирования клиента описывает только создание командных файлов для программы переноса tp. Программа переноса выполняет реальный перенос клиента. Журнал самого выполнения экспорта можно найти с помощью Организатора переноса. В листинге 7.3 приведен пример такого журнала.
Листинг 7.3. Журнал экспорта клиента программы tp
Directory \\SLUQAS\sapmnt\trans\log
Name: KLUEX00116.KLU1
ЕТР199Х########################################
1 ЕТР183 EXPORT PREPARATION
1 ETP101 transport order : "KLUKX00116"
Рис. 7.12. Экспорт клиента в Организаторе переноса
1 ЕТР102 system : "KLU"
1 ЕТР108 tp path : "tp"
1 ЕТР109 version and release : "305.12.42" "46D"
1 ETP198
2 EPU230XExecution of the export preprocessing methods for request "KLUKX00116"
4 EPU111 on the application server: "SLUQAS"
4 EPU138 in client : "000"
………………………
2 EPU232 End: Adapting the object directory for the objects of the request "KLUKX00116"
1 ETP183 EXPORT PREPARATION
1 ETP110 end date and time : "20021003160206"
1 ETP111 exit code : "0"1
ETP199X#################################################
1 ETP150 MAIN EXPORT
1 ЕТР101 transport order : "KLUKX00116"
1 ЕТР102 system : "KLU"
1 ETP108 tp path : "tp"
1 ЕТР109 version and release : "305.12.42" "46D"
4 ETW000 R3trans.exe version 6.05 (release 46D -10/18/01 -11:30:00).
=================================================
4 ETW000 control file: \\SLUQAS\sapmnt\trans\tmp\KLUKKX00116.KLU
4 ETW000 > #pid 4380 on SLUQAS (APServiceKLU)
4 ETW000 > export
4 ETW000 > file='\\SLUQAS\sapmnt\trans\data\RX00116.KLU'
4 ETW000 > client=600
4 ETW000 > buffersync=yes
4 ETW000 >
4 ETW000 > use comm 'KLUKX00116'
4 ETW000 R3trans was called as follows: R3trans.exe -u 1 -
w \\SLUQAS\sapmnt\trans\tmp\KLUEX00116.KLU \\SLUQAS\sapmnt\trans\tmp\KLUKKX00116.KL
4 ETW000 data&time : 10/03/2002 — 04:02:14
4 ETW000 active unconditional modes: 1
4 ETW000 Connected to DBMS = MSSQL SERVER = 'SLUQAS\KLU' DBNAME = 'KLU' SYSTEM = 'KLU'
4 ETW000 trace at level 1 opened for a given file pointer
4 ETW000 ====================== STEP 1 =====================
4 ETW000 date&time : 10/03/2002 - 04:02:14
4 ETW000 function : EXPORT
4 ETW000 data file : \\SLUQAS\sapmnt\trans\data\RX00116.KLU
4 ETW000 buffersync : YES
4 ETW000 client : 600
4 ETW000 Language : ABCDEFGHIJKLMN0PQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz
4 ETW000 Compression : L
4 ETW000 l.s.m. : VECTOR
4 ETW000 commit : 100000
4 ETW000 table cache : dynamic
4 ETW000
3WETW129 transport request "KLUKX00116" has trstatus "D"
3 ETW673XUse Commandfile "KLUKX00116"
4 ETW000 /* client export texts */
4 ETW000 trfunction: 'M' (client transport)
4 ETW000 trstatus : 'D'
4 ETW000 tarsystem : PLU.600
4 ETW000 user : SHAGEM
4 ETW000 date : 10/03/2002 - 04:01:52
4 ETW000 1 entry from E070 exported (KLUKX00116)
4 ETW000 7 enties from E071 exported (KLUKX00116*).
………………………
4 ETW000 Disconnected from database.
4 ETW000 End of Transport (0004).
4 ETW000 data&time: 10/03/2002 - 04:02:16
4 ETW000 1 warning occurred.
1 ETP150 MAIN EXPORT
1 ETP110 end date and time : "20021003160216"
1 ETP111 exit code : "4"
1 ETP199 #####################################################
Примечание
Если операционная система, в среде которой работает R/3, имеет ограничения на размер файла (например, 2 Гбайт), то создаваемые для переноса файлы данных не могут превосходить этого ограничения. Если ожидается, что файл превысит этот размер, запрос на перенос отменяется.
Файлы данных, созданные в процессе экспорта клиента, образуют основу для импорта данных в другую систему R/3. В таблице 7.4 показаны файлы, созданные в каталоге переноса при завершении экспорта клиента.
Таблица 7.4. Важные файлы данных для импорта
Подкаталог | Имя файла | Значение |
\data | RO<номер запроса>.<SID> | Данные, независимые от клиента |
\data | RT<номер запроса>.<SID> | Данные, зависимые от клиента |
\data | RX<номер запроса>.<SID> | Текст и формы |
\cofiles | КО<номер запроса>.<SID> | Метаданные, независимые от клиента |
\cofiles | КТ<номер запроса>.<SID> | Метаданные, зависимые от клиента |
\cofiles | КХ<номер запроса>.<SID> | Метаданные для текста и форм |
Создаются только файлы, для которых в системе существуют данные и которые должны быть экспортированы в соответствии с профилем копирования. Если в экспорте клиента не экспортируются независимые от него данные, как в примере с профилем SAP_CUST, то соответствующие файлы данных не включаются. Поэтому в этом примере не был создан файл RO0116.PLU.
Для импорта этих данных в другую систему R/3 действуйте следующим образом:
1. Если исходная и целевая системы находятся в одном домене переноса, то в ►Transport Management System можно выбрать любой запрос на перенос, который принадлежит экспорту клиента. Другие запросы, ассоциированные с ним, будут автоматически импортироваться в правильном порядке.
Рис. 7.13. Импорт с помощью системы управления переносами
2. Если экспортированный клиент импортируется в систему, которая не находится в том же домене переноса, то необходимо выполнить действия вручную на уровне операционной системы. Для этого необходимо скопировать нужные файлы в соответствующий подкаталог локального транспортного каталога на целевой системе.
3. На уровне ОС перейдите в подкаталог /bin локального каталога переноса целевой системы и выполните команды:
□ tp addtobuffer <запрос> <целевая система>
и
□ tp import <целевая система> client<целевой клиент >
При этом выполняется запрос на перенос с независимыми от клиента данными, а затем запрос на перенос с зависимыми от клиента данными. Обычно это продолжительные действия, что характерно для экспорта. Запрос переноса для текста и форм импортируется и генерируется обработкой, описанной в следующем шаге.
4. После реального импорта и чтобы избежать проблем авторизации, используя Систему управления переносами или вручную с помощью программы tp, необходимо адаптировать рабочую среду R/3 к текущему состоянию данных, вызывая ►Import editing как пользователь SAP* или DDIC. Заключительная обработка после импорта должна выполняться всегда. Во время заключительной обработки импорта в целевом клиенте не должно быть работающих пользователей.
5. Журнал импорта можно найти с помощью ►Transport Management System далее если импорт был инициирован непосредственно с помощью tp. Выполненная заключительная обработка перечислена в разделе ►Client copy log analysis.
На этом импорт клиента завершен. На практике возникает больше проблем, особенно если в процесс вовлечены независимые от клиента данные. Такие данные влияют на всю систему R/3. Это означает, что импортированные данные будут действовать и на других клиентов целевой системы. В худшем случае другие клиенты просто не смогут функционировать после такого импорта из другой системы R/3. С другой стороны, если не копировать независимые от клиента данные из исходной системы, то при наличии существенных различий между исходной и целевой системой это также повлияет на способность клиента функционировать. Таким образом, при экспорте или импорте клиента нужно обращать особое внимание на различия исходной и целевой систем.
Заключительная обработка
После успешного копирования клиента теперь необходимо сфокусироваться на необходимой заключительной обработке:
► Если настройке клиента для копирования было вначале задано переходное значение, чтобы выполнить копирование, то теперь настройки должны быть уточнены.
► Если вы деактивировали возможность регистрации в базе данных для копирования клиента, необходимо реактивировать ее для производственной работы после выполнения полной резервной копии.
► Составьте расписание специфических для клиента фоновых заданий.
► Если используются логические системы (см. главу 13), то в непроизводственных системах можно уточнить имена логических систем после копирования клиента с помощью ►Conversion of logical system names.
► Если используется SAP Workflow, то необходимо привести в рабочее состояние используемые по умолчанию инструменты.
► Проверьте соединения интерфейсов для специфических настроек клиента и приведите их в рабочее состояние, если необходимо.
► Если используемая база данных работает с оптимизатором на основе стоимости, то после копирования клиента статистики должны быть сгенерированы заново.
В заключение следует отметить, что копирование клиента не подходит для слияния данных нескольких клиентов или копирования различий с одного клиента на другой. Копирование клиентов следует рассматривать как первый шаг в создании системной инфраструктуры. После завершения процедуры копирования данные на клиентах должны обслуживаться с помощью CTS и при необходимости переноситься с одного клиента на другой.
7.5. Специальные функции
Средства администрирования клиента предлагают некоторые специальные функции:
► Copy as of Transport Request (копирование как запрос на перенос)
С помощью опции ►Copy as of Transport Request изменения пользовательской настройки, записанные в запросе на перенос, могут переноситься между двумя клиентами в системе. Помимо списка объектов самого запроса также могут копироваться списки объектов неразблокированных задач в запросе. Сам запрос не нужно разблокировать. Записи в целевом клиенте перезаписываются или удаляются в зависимости от ключевых записей в запросе на перенос.
► Delete Client (Удалить клиента)
Иногда возникает необходимость удалить клиента полностью (например, если система R/3 создавалась с помощью копии другой системы). Обратите внимание на то, что эта функция требует почти столько же изменений в БД, как при копировании клиента. В некоторых системах управления реляционными базами данных ненужное дисковое пространство, которое возникает при удалении клиента, разблокируется снова для использования только после реорганизации.
► Client comparison (Сравнение клиентов)
R/3 предлагает различные функции для сравнения пользовательских настроек двух клиентов в одной системе или в различных системах R/3, которые будут требовать коммуникации RFC между двумя клиентами. С помощью ►Customizing Cross-System Viewer можно сравнивать сложные рабочие среды пользовательской настройки, управляемые различными критериями. Настройка клиента «Уровень защиты 2: без перезаписи, без внешней доступности» не позволяет использовать Customizing Cross-System Viewer. Две любые таблицы можно сравнить с помощью ►Object comparison.
7.6. Советы
Копирование клиентов представляет собой критическую операцию, связанную с перемещением больших объемов данных. Вероятно, наиболее частой ошибкой является недооценка степени увеличения объема данных при копировании клиента. Если БД окажется слишком мала, то это приведет не только к остановке процедуры копирования, но и к невозможности продолжения работы системы (пока БД не будет расширена). Сначала с помощью тестовой проверки следует определить объем добавляемых данных и убедиться в том, что в БД достаточно места.
► Размер клиента
Результаты выполнения теста основываются на оценках, в частности, при определении ожидаемых требований к ресурсам. Чтобы помочь получить более точные представления о размере клиента в версии Enterprise, система R/3 предлагает программы отчетов RSTABLESIZE (см. рис. 7.14 и 7.15) и RSSPACECHECK (см. рис. 7.16), которые можно использовать для более точного реального оценивания на уровне таблиц. В версии R/3 4.x можно использовать процедуры YSTABSIZ и YKSPACEC, как сообщается в SAP Note 118823. Они не включаются в стандартную поставку.
Рис. 7.14. Определение размера с помощью RSTABLESIZE
Рис. 7.15. Результат определения размера
Рис. 7.16. Определение требований к памяти с помощью RSSPACECHECK
► Индексы
Иногда в БД на целевой системе отсутствуют индексы. Это может привести к дублированию записей в таблицах при перезапуске копирования (обычно система предотвращает такое дублирование), а процедура копирования будет остановлена. Проверьте непротиворечивость объектов БД в целевой системе, в частности, ее индексы. Используйте для этого ►Database Performance: Tables and Indices (см. главу 15).
► Копирование базы данных
Если клиент очень большой и должны быть скопированы дополнительные независимые от клиента данные, необходимо рассмотреть возможность копирования всей базы данных. Для этого РСУБД и операционная система в исходной и целевых системах должны быть совместимыми, в то время как возможны удаленное копирование клиента и перенос клиента между различными системными конфигурациями.
► Настройка
Используя при копировании клиента параллельные процессы или выполняя удаление, можно добиться значительного ускорения. Если определены серверные группы RFC (см. главу 13), можно активировать серверную группу для локального или удаленного копирования клиента и для удаления клиентов из соответствующей транзакции запуска с помощью Goto • Parallel processes. Параллельные процессы будут затем использоваться во время фазы реального копирования. Необходимо отметить, что только основной процесс рассматриваемой конфигурации будет выполняться в фоновом режиме, в то время как все другие параллельные процессы занимают диалоговые рабочие процессы. Последовательное планирование отдельных копирований клиента с помощью параллельных процессов предпочтительнее параллельного планирования нескольких копирований клиента (с различными исходными клиентами), которые не используют параллельные процессы. Невозможно выполнять несколько одновременных копирований одного клиента.
► Копирование поверх
Если необходимо перезаписать существующего клиента с помощью новой копии, предлагается сначала удалить клиента и затем запустить копирование, хотя копирование неявно удаляет все данные. В частности, при удалении больших таблиц при использовании Oracle может возникать переполнение сегмента отката. Лучше иметь дело с этой проблемой при выполнении удаления и затем, в случае останова, по крайней мере, часть данных будет удалена.
► Перезапуск экспорта клиента
Если экспорт клиента останавливается и перезапускается, необходимо убедиться, что все соответствующие процессы tp завершены перед перезапуском экспорта. В противном случае имеется риск получения несогласованных файлов переноса, которые нельзя будет импортировать.
► Копирование больших таблиц
Для очень больших таблиц можно улучшить производительность, удаляя вторичные индексы перед копированием клиента, а затем создавая их заново, чтобы избежать необходимости изменять индекс для каждой копируемой записи данных. Начиная с Web AS 6.20, настройку параметров для копии клиента можно реализовать с помощью программы отчетов RSCCEXPT. Однако при использовании этих возможностей необходимо быть осторожным. В частности, необходимо не забыть отменить настройки после окончания копирования клиента.
7.7. Транзакции и пути доступа меню
Client copy log analysis: SAP Menu • Tools • Administration • Administration • Client Administration • Copy Logs (SCC3)
Client export: SAP Menu • Tools • Administration • Administration • Client Administration • Client Transport • Client Export (SCC8)
Client maintenance: SAP Menu • Tools Administration • Administration • Client Administration • Client Maintenance (SCC4)
Conversion of logical system names: недоступно через стандартное меню SAP (BDLS)
Copy as per transport request: SAP Menu • Tools • Administration • Administration • Client administration • Special functions • Copy transport request (SCC1)
Customizing Cross-System Viewer: SAP Menu • Tools • Customizing • Customizing Cross-System Viewer (SCU0)
Database performance: Tables and indices: SAP Menu • Tools • Administration • Monitor • Performance • Database • Tables/Indexes (DB02)
Import editing: SAP Menu • Tools • Administration • Administration • Client Administration • Client Transport • Import Editing (SCC7)
Local client copy: SAP Menu • Tools • Administration • Administration • Client Administration • Client Copy • Local Copy (SCCL)
Object comparison: SAP Menu • Tools • Administration • Administration • Client Administration • Customizing Objects • Object Comparison (SCMP)
Remote client copy: SAP Menu • Tools • Administration • Administration • Client Administration • Client Copy • Remote Copy (SCC9)
Transport Management System: SAP Menu • Tools • Administration • Transport • Transport Management System (STMS)
Transport Organizer (extended view): SAP Menu • Tools • Administration • Transport • Transport Organizer (SE01)
7.8. Дополнительная документация
Указания SAP Service Marketplace
Таблица 7.5. Указания SAP по обслуживанию клиентов
Содержание | Указание |
R/3 multi-client capability | 31557 |
Copying large and productive clients (from Web AS 6.10) | 489690 |
Copying large and productive clients (up to R/3 4.6D) | 67205 |
Size of a client | 118823 |
Parallel processes (up to R/3 4.6D) | 212727 |
Parallel processes (from Web AS 6.10) | 541311 |
7.9. Вопросы для контроля
1. Какое из следующих утверждений о клиенте R/3 корректно?
а. Параметры пользовательской настройки по сути не зависят от клиента.
b. Клиент в R/3 System — это независимо учитываемая единица компании.
c. Каждый клиент имеет собственные данные приложения.
d. Каждый клиент имеет собственные технические данные, независимые от других клиентов.
e. Каждый клиент имеет собственные таблицы приложения.
2. Какой метод копирования клиента предлагает система R/3?
a. Локальное копирование
b. Удаленное копирование
c. Процедуру обмена данными
d. Экспорт клиента
e. Резервное копирование данных
3. Какие данные можно копировать с помощью процедуры удаленного копирования?
a. Зависимые от клиента данные приложения
b. Зависимые от клиента определения таблиц
c. Данные, независимые от клиента
d. Все данные в системе R/3