28 октября 2016 г.

Моя инструкция: установка SAP Solution Manager 7.1 на Linux


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

Страничку можно найти здесь.

Сегодня очередное обновление материалов. Выложил инструкцию по установке системы SAP Solution Manager 7.1 на платформу Linux/Oracle.

В качестве операционной системы я выбрал SUSE Linux Enterprise Server, об установке и настройке которой я писал в этом посте.

Чем данная инструкция отличается от, например, этой:
  • операционная система Linux, причем не Oracle Linux, которую я использовал в нескольких инсталляциях, а SLES 12 SP1,
  • последняя версия СУБД от ORACLE, то есть полный процесс установки и обновления версии 12.1.0.2,
  • установка ABAP+Java стэков с помощью SAP Software Provisioning Manager последней версии (SP18),
  • настройка SAP Management Console в SLES (установка Oracle Java).

Документ не охватывает процесс обновления системы, поэтому 36 страниц. Но, как обычно, список необходимой документации и SAP нот и, конечно, подробные скриншоты процесса.

Скачать можно по этой ссылке (zip-архив, 5128 Кб).

SAP подстегивает всех в следующем, 2017 году, переходить на SAP Solution Manager 7.2: поддержка версии 7.1 заканчивается в декабре 2017 года. Но опытные администраторы торопиться не любят. :)

О нововведениях в версии 7.2 можно послушать, например, в этом вебинаре.


Автор: Шиболов Вячеслав Анатольевич


24 октября 2016 г.

Вопросы производительности при использовании больших меню в SAP

В комментариях к одному из прошлых постов ("Как понять каких полномочий не хватает пользователю?") Zeroes поднял вопрос производительности системы при использовании меню. Сегодня мне хотелось бы немного осветить эту тему.

В SAP системе действует правило "что не разрешено, то запрещено", поэтому для настройки полномочий в системе создаются роли. Обычно у роли настраивается меню, представляющее собой набор транзакций, оформленных в виде дерева папок, а полномочия генерируются в специальном профиле полномочий, который связан с ролью. Пользователю, в зависимости от бизнес-процессов, которые он выполняет в системе, присваиваются роли (с привязанными к ним профилями полномочий) (рис. 1).

Рис. 1. Пример присвоения пользователю роли и соответствующего профиля полномочий.

Итоговое меню пользователя на основном экране SAP GUI формируется как совокупность всех меню присвоенных ему ролей. При большом количестве пунктов в итоговом меню, то есть транзакций и папок, затрачиваются большие объемы памяти. Причем, память выделяется для каждой открытой сессии в рамках одного логона в систему. О процессе выделения памяти я писал в посте "Организация памяти в SAP AS ABAP - II".

Стоит так же упомянуть, что структура меню хранится в таблицах AGR_HIER и AGR_HIERT. Если посмотреть технические настройки данных таблиц (транзакция SE11 -> "Имя таблицы" -> "Технические параметры настройки"), то можно увидеть, что обе эти таблицы буферизируются по ключу на уровне сервера приложений SAP. Хочу напомнить, что про процесс буферизации таблиц я писал в посте "Буферизация таблиц на уровне сервера приложений SAP - I". Таким образом, для больших меню выделяются большие области в буфере таблиц, что так же негативно сказывается на общей производительности системы.

Оказывающим влияние на производительность системы считается меню с 2 000 пунктами и более. Для поиска пользователей с объемными меню в системе можно воспользоваться отчетом EASY_ACCESS_NUMBER_OF_NODES. На начальном экране есть возможность ограничить поиск только по диалоговым и действующим пользователям, у которых стоит в настройках показывать меню пользователя, а так же указать пограничное количество пунктов меню (рис. 2).

Рис. 2. Начальный экран отчета EASY_ACCESS_NUMBER_OF_NODES.

В предыдущих версиях системы был другой отчет - PROFGEN_CORR_REPORT_5. Начальный экран имеет похожий набор фильтров и параметров (рис. 3).

Рис. 3. Начальный экран отчета PROFGEN_CORR_REPORT_5.

Результатами работы программы будет список пользователей, отсортированных по количеству пунктов в меню (рис. 4).

Рис. 4. Список пользователей с большим количеством пунктов меню.

Как можно облегчить нагрузку на систему со стороны таких пользователей? SAP предлагает несколько решений.
  1. Можно отключить пользовательские меню для всех в системе. Для этого достаточно в таблице SSM_CUST параметру ALL_USER_MENUS_OFF присвоить значение "YES". После этого у всех пользователей в системе будет только стандартное меню SAP, которое, к слову, содержит меньше 2 000 пунктов. Данную настройку я подробно описывал в этом посте. В этом случае есть возможность выделить и сохранить нужные транзакции в подразделе "Фавориты".
  2. Можно принудительно выставить для всех пользователей в системе меню SAP, как меню по-умолчанию при открытии первоначального логина в систему или нового режима. В данном случае, у пользователя останется возможность открыть своё личное меню через соответствующую кнопку на панели основного экрана SAP GUI, но при открытии нового режима будет открываться именно стандартное меню SAP. Для этого необходимо в таблице SSM_CUST параметру FORCED_MENU присвоить значение "SAP".
  3. Можно отключить пользовательское меню только для конкретных пользователей. Например, для тех, что были обнаружены отчетом EASY_ACCESS_NUMBER_OF_NODES (рис. 4). Для этого в таблице USERS_SSM необходимо добавить имя пользователя и выбрать тип предпочитаемого для него меню (SAP) (рис. 5).

    Рис. 5. Настройка типа меню для каждого пользователя индивидуально.

  4. Если вы не можете отказаться от меню пользователя, то можно активировать систему сжатия и удаления избыточности в меню. Активация производится через набор параметров, выставляемых в таблице SSM_CUST. Кратко механизм можно описать так: система удаляет дубликаты транзакций из разных папок, затем удаляет пустые папки и, в конце, объединяет содержимое папок с одинаковыми именами. Подробности можно найти в SAP note # 357693 - Redundacy avoidance in Easy Access.
  5. Так же можно для пользователей, которым необходимо большое количество полномочий, создать групповую роль. В меню групповой роли считываются все меню, присвоенных ей ролей. После создания меню групповой роли можно оптимизировать, например, нажав пункт "Свернуть меню" в транзакции PFCG (рис. 6).

    Рис. 6. Опция "Свернуть меню" при создании групповой роли.

Еще дополнительно по данной теме можно заглянуть в следующие SAP notes:

Автор: Шиболов Вячеслав Анатольевич


17 октября 2016 г.

Запись каталога объекта: изменение системы оригинала

Как я уже упоминал, в SAP системе существует свой словарь данных (ABAP Dictionary), который не стоит путать со словарем базы данных. Все объекты ABAP словаря имеют свою запись, которая называется запись каталога объекта. Эти записи в SAP системе хранятся в таблице TADIR (рис. 1). Даже сама таблица TADIR имеет запись о самой себе (рис. 2).

Рис. 1. Запись каталога объекта программы Z_DELETE_FROM_DEVACCESS.

Рис. 2. Запись каталога объекта таблицы TADIR.

Объект в SAP системе имеет ряд основных атрибутов:
  • пакет разработки,
  • ответственный,
  • система оригинала.

Пакет разработок или, как его называли раньше, класс разработок, это каталог, в котором объединены программы/экраны/таблицы и т.д. одного функционального назначения. Пакеты могут быть вложенными и представлять собой большое дерево разработок, объединенных одним функциональным модулем, например, HR. Ведение пакетов осуществляется в транзакции SE80 (рис. 3).

Рис. 3. Пример пакета разработок.

У каждого пакета разработок есть уровень переносов, который используется в транспортной системе. Таким образом, при деблокировании запроса, SAP система по принадлежности объекта к пакету понимает в какую целевую систему направить запрос на импорт.

Система оригинала объекта является важным защитным механизмом, позволяющим идентифицировать в какой системе был создан объект. В классическом трёх-системном ландшафте системой оригинала всех созданных объектов будет система разработки (DEV).

Попытка изменить объект в системе отличной от системы оригинала приведет к выдаче соответствующего сообщения и ограничению на внесение изменений (рис. 4). Включить такой объект в типичный запрос на перенос инструментальных средств не в системе оригинала тоже не получится.

Рис. 4. Попытка внести изменения в программу с другой системой оригинала.

Как вы помните, любой объект в SAP системе может находится в двух областях:
  • область имен SAP (или так называемые, стандартные объекты),
  • область имен клиента (объекты чьи имена начинаются на Z* или Y*).

У объектов из области имен SAP в качестве ответственного и системы оригинала всегда значится "SAP" (рис. 5).

Рис. 5. Пример записи каталога объекта из области имен SAP.

Итак, защитные механизмы это хорошо, но иногда они мешают работать. Запись каталога объекта можно изменить, воспользовавшись транзакцией SE03. На начальном экране необходимо выбрать пункт "Изменение записей каталога объектов" и нажать "Выполнить" (или F8) (рис. 6).

Рис. 6. Начальный экран транзакции SE03.

На следующем экране необходимо выбрать реквизиты нужного объекта и снова нажать "Выполнить" (или F8) (рис. 7). Напоминаю еще раз, что реквизиты объектов можно найти в таблице TADIR (рис. 1).

Рис. 7. Ввод реквизитов объекта.

На следующем экране система покажет найденные объекты и, для вызова диалога изменения записи каталога объекта необходимо выделить строку с объектом и нажать кнопку "Каталог объектов" на верхней панели (рис. 8).

Рис. 8. Изменение записи каталога объекта в транзакции SE03.

В диалоговом окне можно поменять все основные атрибуты объекта - пакет, ответственного или систему оригинала (рис. 9).

Рис. 9. Изменение атрибутов записи каталога объекта.

Изменить систему оригинала бывает необходимо, если объект был импортирован из другой системы, но при этом планируется его последующее изменение в текущей системе. Или при восстановлении утерянного объекта из другой системы трёх-системного ландшафта (из QAS в DEV, например).

Стоит еще добавить, что просмотреть запись каталога объекта можно в транзакциях разработчика, например, SE38/SE11, выбрав пункт меню "Перейти к -> Запись каталога объекта" (рис. 10). Но изменить все атрибуты в них нельзя.

Рис. 10. Просмотр записи каталога объекта в транзакциях SE38/SE11.


Автор: Шиболов Вячеслав Анатольевич


10 октября 2016 г.

SUSE Linux Enterprise Server как платформа для SAP системы

На данный момент компания SAP для работы своих систем поддерживает следующие дистрибутивы операционной системы Linux:
  • Red Hat Enterprise Linux,
  • SUSE Linux Enterprise Server,
  • ORACLE Linux.
Последний, в отличии от первых двух, поддерживается не так давно, и, по факту, является сборкой Red Hat Linux с ядром оптимизированным для работы с СУБД ORACLE. Таким образом, данный дистрибутив подходит только для работы с системами SAP, которые используют СУБД ORACLE. Про него я подробно писал тут

Самым распространённым дистрибутивом для систем SAP является SUSE Linux. Это подтверждается опросом в моём блоге и статистикой.

Дистрибутив был рождён в Германии в далеком 1993 году. Через 10 лет был выкуплен американской компанией Novell, но все равно является очень популярным у себя на родине. Учитывая, что компания SAP SE тоже с рождения говорит по немецки, не удивительно, что она предпочитает этот дистрибутив Linux.

Изначально, SUSE Linux базировался на "true дистрибутиве" Slackware, который я очень уважаю и с которого я начинал своё глубокое изучение операционной системы Linux. Но в дальнейшем его развитие пошло своим путем. На данный момент под SUSE разрабатываются следующие дистрибутивы:
  • openSUSE - свободный для использования дистрибутив,
  • SUSE Linux Enterprise Server - коммерческая операционная система для серверов,
  • SUSE Linux Enterprise Desktop - коммерческая операционная система для рабочих станций пользователей.

Свежие продукты SAP поддерживают серверную версию дистрибутива, и на данный момент две ветки - 11 и 12. Кратко SUSE Linux Enterprise Server записывается как SLES. Для SLES 11 на данный момент выпущено 4 SP, для версии 12 в конце 2015 года был выпущен SP1. 

Образы дисков дистрибутива SLES можно скачать свободно на сайте компании - suse.com. Сотрудничество компании SAP SE и производителей дистрибутива достигло такой глубины, что существует специальный релиз дистрибутива, который называется SUSE Linux Enterprise Server for SAP Applications. Информацию по нему, а также образы для скачивания можно найти тут. Есть отдельный релиз и для SAP HANA. Специализированные дистрибутивы SLES содержат не только настройки, например, ядра Linux для работы системы SAP, но и интегрированный установщик SAP систем, который можно активировать на этапе установки операционной системы. То есть установка SAP системы автоматически запустится сразу после установки операционной системы. 

Стоит отметить, что дистрибутивы, как я уже упоминал, можно скачать свободно, но поддержка, включающая в себя обновление системы, стоит денег. На данный момент компания даёт демо-период на 60 дней, в течении которого можно обновлять систему. Во время скачивания дистрибутива генерируется Registration Code (рис. 1), срок действия которого начинается с момента получения. То есть, если вы скачали диски, а ставить систему решили после 2-3 месяцев, то регистрационный код действовать уже не будет. Регистрационный код выдается один раз на дистрибутив (версия + номер SP) для аккаунта. То есть второй раз получить код для того же релиза на того же пользователя не получится. Демо есть, демо.

Рис. 1. Регистрационный код для активации демо-периода.

На официальном сайте большой пул документации по системе. Например, для SLES 12 тут можно найти инструкцию по установке системы (Deployment Guide), документацию по администрированию (Administration Guide), по настройке дисковой подсистемы (Storage Administration Guide), производительности и так далее. Причем, документы доступны в различных форматах - html, pdf или epub. По SLES 12 for SAP Applications есть отдельный документ и найти его можно тут.

При подготовке операционной системы будут полезны следующие SAP ноты:

Моя инструкция "Установка SUSE Linux Enterprise Server 12 SP3 for SAP Applications в виртуальную машину Oracle VirtualBox и подготовка к установке системы SAP" доступна по этой ссылке (zip-архив, 2294 Кб) либо на странице со всеми инструкциями.

Продолжение статьи можно найти тут.


Автор: Шиболов Вячеслав Анатольевич


6 октября 2016 г.

Отображение полезной информации в правой части основного окна SAP GUI

SAP GUI это программное обеспечение, которое представляет собой клиентское место пользователя для работы с SAP системой. Такой тип клиента называется "толстым клиентом", то есть подразумевающим установку специального программного обеспечения, которое берёт на себя часть нагрузки по отображению информации на экране пользователя. Еще это называют уровнем презентации или Presentation Layer.

Для входа в систему пользователь запускает приложение SAP Logon, в котором созданы записи, содержащие полную информацию, необходимую для входа в ту или иную SAP систему. На экран SAP Logon можно добавлять небольшую справочную информацию.

После введения корректной комбинации пользователь/пароль/мандант запускается приложение SAP GUI. Основной экран клиентского места SAP разделен на две части. В левой части отображается древовидное меню, которое бывает двух типов: меню SAP и персонализированное меню пользователя. Про это я писал в этом посте.
Правая же часть обычно представляет собой пустую область (рис. 1).

Рис. 1. Типичное основное окно SAP GUI.

Данную область можно использовать с большей пользой, чем просто калибровка монитора цветом "SAP голубой". :)

В данную область можно вывести изображение. Для этого необходимо войти в репозитарий системы SAP - транзакция SMW0 (рис. 2), создать новый объект (рис. 3) и загрузить необходимое изображение (рис. 4).

Рис. 2. Открытие репозитария SAP в транзакции SMW0.

Рис. 3. Создание нового объекта для загрузки в транзакции SMW0.

Рис. 4. Загрузка изображения в репозитарий SAP.

В качестве изображения может быть логотип компании, слоган или полезная информация в формате изображения (jpg, png, gif).

После этого через ракурс ведения уже знакомой таблицы SSM_CUST (транзакция SM30) параметру START_IMAGE необходимо присвоить имя объекта, созданного в репозитарии SAP на предыдущем шаге. Если хотите, чтобы изображение растягивалось под размеры окна, то параметру RESIZE_IMAGE необходимо присвоить значение "YES".

Рис. 5. Установка изображения для начального экрана SAP GUI.

После установки параметра у всех пользователей во всех мандантах на правой стороне основного экрана SAP GUI будет установлено загруженное изображение (рис. 6).

Рис. 6. Основной экран SAP GUI с установленным изображением.

Установленное для каждой системы изображение может помочь в идентификации системы среди множества открытых окон, так же как и разные цветовые схемы, о настройке которых я упоминал в посте "SAP GUI для Windows".

Так же в качестве контента для данной области можно использовать отображение Web-страницы. Для этого в таблице SSM_CUST необходимо добавить параметр SESS_URL, указав в качестве значения адрес Web-страницы (рис. 7).

Рис. 7. Установка Web-страницы для отображения в правой части SAP GUI.

В данном случае, SAP GUI будет использовать мощности MS Internet Explorer и отображать содержимое указанной в настройках Web-страницы (рис. 8).

Рис. 8. Отображение Web-страницы в правой части SAP GUI.

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

Так же можно указать отдельный файл, текстовый или в html-формате, который будет открываться, опять же, используя мощности MS Internet Explorer, в правой части экрана (рис. 9 и 10).

Рис. 9. Указание в качестве Web-страницы текстового файла.

Рис. 10. Отображение содержимого текстового файла в правой части SAP GUI.

При установке одновременно параметров START_IMAGE и SESS_URL, приоритет отдается второму.

Отключить любой контент в правой части основного экрана SAP GUI можно через установку параметра HIDE_START_IMAGE = "YES".

Дополнительную информацию можно найти в SAP нотах:

3 октября 2016 г.

Саповские секретики - I

Секретик 1.

Иногда бывает так, что фоновое задание (background process) работает и работает, а завершаться не планирует. Причем, часто переживает остановы базы данных во время холодного бэкапа (offline backup), когда по любой логике процесс должен был остановиться. В таких случаях помогает принудительная актуализация статуса фонового задания. В транзакции SM37 необходимо выделить задание, а в меню пункт "Задание -> Проверить статус" (рис. 1).

Рис. 1. Принудительная проверка статуса фонового задания.

После проверки статуса задания оно или продолжает работать, или волшебным образом изменяет статус на "Отменено" (рис. 2). В таком случае, остановка задания произошла уже давно и только система ошибочно считала его работающим и накручивала счётчик времени выполнения.

Рис. 2. Результаты проверки статуса фонового задания.

Секретик 2. 

Для выделения текста в SAP GUI необходимо нажать сочетание клавиш "Ctrl + Y". После этого можно выделить текст или несколько ячеек в таблице на экране (рис. 3). Ну а дальше стандартные сочетания "Ctrl + C" для копирования в буфер обмена и "Ctrl + V" для вставки из буфера обмена.

Рис. 3. Пример выделения текста в SAP GUI.

Секретик 3. 

При копировании русского текста из SAP GUI в другое приложение (блокнот MS Windows) для корректного соблюдения кодировок необходимо установить русский язык ввода в операционной системе и в SAP GUI, и в целевом приложении перед копированием. Иначе, часто кодировка сбивается (рис. 4).

Рис. 4. Некорректное копирование русского текста из SAP GUI.

Также хорошо выставить в свойствах соединения SAP GUI корректный язык и кодовую страницу (рис. 5). Вторая настройка важна при загрузке/выгрузке данных через файлы.

Рис. 5. Кодовая страница в свойствах соединения в SAP Logon.


Автор: Шиболов Вячеслав Анатольевич