27 декабря 2016 г.

С наступающим Новым Годом!


Всех, кто заходит на этот блог, хочу поздравить с наступающим Новым Годом!

Хочу пожелать вам, чтобы проекты, которые вы начинаете, продвигаете или на которых работаете, и будете работать в следующем году, не останавливались, а развивались и продвигались, не смотря на "горки, кочки и трудности". Помните, что проект легче двигать командой, а не в одиночку. Пусть рядом с вами будут умные, верные, профессиональные коллеги.

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

Пусть ваша работа приносит вам чувство удовлетворения и радости от собственных вложений.

Системы не "глючат" и не тормозят.

Спасибо, что читаете, комментируете и пишите.

Всего вам хорошего в будущем году!

P.S. Математики утверждают, что 2017 год будет простым. Хочется верить. :)


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


1 декабря 2016 г.

Ошибка в настройке внешнего вида ABAP Development Workbench

На днях столкнулись с коллегами с такой проблемой. В инструменте ABAP Development Workbench, транзакция SE80, левая панель, в которой отображается дерево связанных объектов, схлопнулась до минимальной ширины и не расширялась (рис. 1).

Рис. 1. Ошибка с отображением левой панели в SE80.

Та же проблема наблюдалась при попытке в ABAP редакторе, транзакция SE38, открыть панель со списком объектов, нажав соответствующую кнопку (рис. 2 и 3).

Рис. 2. ABAP редактор.

Рис. 3. Ошибка с отображением левой панели в SE38.

Причем, SAP GUI не давала возможность расширить панель с помощью мыши (рис. 3).

Локализация проблемы показала:
  • проблема привязана к пользователю, так как на разных компьютерах из под одного пользователя проблема остается.
  • проблема не привязана к компьютеру, так как разные пользователи на одном компьютере, имеют разный вид ширины левой панели в указанных инструментах.

Переустановка SAP GUI, сброс локальных кэшей и перезагрузка компьютера не помогала. Локализация проблемы в рамках одного пользователя, а не компьютера, не давала ответ почему невозможно воспроизвести проблему на другом компьютере с другим пользователем. Так как при уменьшении ширины панели до минимума всегда оставалась возможность расширить панель обратно с помощью мыши.

В итоге, решение нашлось в таблице RSEUMOD. Данная таблица хранит записи для всех пользователей, кто хоть раз входил в систему. После работы с инструментами SE80/SE38 (не исключаю и SE11/SE16) в поле таблицы WIDTH сохраняется ширина левой панели. По-умолчанию ширина составляет 300 пикселей (рис. 4).

Рис. 4. Пример записи в таблице RSEUMOD.

В случае сбоя отображения левой панели в поле сохраняется очень маленькое значение, от 1 до 30, что вызывает сбой SAP GUI и делает неактивным место, где можно мышью расширить панель (рис. 3). 

Что послужило причиной сбоя выяснить не удалось. Это либо сбой в сохранении значения в таблице RSEUMOD, которое сохраняется при выходе из инструментов разработки (SE38/SE80), либо сбой в SAP GUI, когда приложение позволило сдвинуть панель больше, чем это возможно.

Решение: выйти из инструментов разработки и для конкретного пользователя выставить в поле WIDTH таблицы RSEUMOD значение 300 (по умолчанию). 
   
SAP нот по описанию этой таблицы я не нашел.

Если полномочий на изменение записи таблицы нет, то можно использовать клавишу "Tab" на клавиатуре. Последовательно нажимая на неё, пройти по кнопкам панели и дойти до символа изменения ширины панелей (рис. 4), после этого, используя стрелки на клавиатуре (право-лево), увеличить ширину левой панели.

P.S. На следующей неделе я буду в учебном центре SAP в Москве, слушать курс ADM800 - Администрирование AS Java 7.3. Курс достался в качестве подарка от портала SAP Land.

16 ноября 2016 г.

Обновление SAP Solution Manager 7.1 с помощью Software Update Manager 1.0 SP18.1


Про обновление SAP системы я писал в посте "Обновление SAP системы с помощью Software Update Manager 1.0".

В нём я описывал "ручной" способ и с помощью утилиты SAP Software Update Manager 1.0. В прошлый раз была использована старая версия утилиты (SP14). С новым пакетом поддержки были внесены изменения. Прежде всего в плане интерфейса и запуска утилиты.

Выкладываю новую инструкцию - Обновление SAP Solution Manager 7.1 на платформе SLES 12 SP1/Oracle 12c с SPS04 до SPS14 с использованием Software Update Manager 1.0 SP18.1.

В данной инструкции по обновлению, в отличии от прошлой, используется другая платформа - Linux, версия утилиты самая последняя - SP18.1. Обновляется система SAP Solution Manager 7.1 со стеком пакетов поддержки, который содержит система сразу после установки (SPS 04).

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

P.S. Недавно вышел SPS 15 для системы SAP Solution Manager 7.1, об обновлении на который обязательно будет отдельный пост.


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


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.


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


29 сентября 2016 г.

Как вручную добавить транспортный запрос в очередь

В корректно настроенной транспортной системе (TMS) всё работает как часы:
  1. При деблокировании (Released) транспортного запроса в системе разработки на уровне файловой системы сервера создаются файлы с данными.
  2. Транспортный запрос автоматически, в зависимости от настроек путей переноса, попадает в очередь одной или нескольких целевых систем.
  3. После импорта запроса в целевую систему, запрос автоматически попадает в очередь следующей системы (обычно продуктивной), опять же, в зависимости от настроек путей переноса.
Про транспортный запрос я писал недавно тут.

Но иногда бывают ситуации, когда необходимо добавить запрос в очередь транспортной системы вручную. Например, данный запрос был принесен извне: из другой системы, которая по территориально-географическим или организационно-политическим причинам не может быть связана транспортной системой с целевой, либо транспортный запрос рекомендован к импорту в систему нотой или службой поддержки SAP. Или даже, разработчик создал запрос в своей локальной системе разработки или на другом проекте и хочет импортировать в текущую систему. Так же можно возвращать удаленные из очереди запросы.

Как вы уже знаете, транспортный запрос представляет собой два файла:
  • контрольный файл вида K9<номер_запроса>.<SID> в директории /usr/sap/trans/cofiles,
  • дата-файл вида R9<номер_запроса>.<SID> в директории /usr/sap/trans/data.

Перед добавлением транспортного запроса в очередь целевой системы необходимо скопировать файлы запроса на уровень файловой системы сервера приложений. Файлы раскладываем согласно их назначения (директории cofiles и data). На Unix-like системах не забываем выставить необходимые полномочия/владельца файлов (команды chmod, chown).

После этого переходим в транзакции STMS в очередь необходимой системы. Выбираем пункт меню "Дополнительная информация -> Другие запросы -> Добавить" и указываем имя запроса по форме <SID>K9<номер_запроса> (рис. 1, 2 и 3).

Рис. 1. Добавление запроса в очередь на перенос - I.

Рис. 2. Добавление запроса в очередь на перенос - II.

Рис. 3. Добавление запроса в очередь на перенос - III.

После этого запрос будет в очереди и появится возможность импорта его в текущую систему.

Стоит отметить, что технически очередь транспортной системы представляет собой плоский файл с именем <SID>, который находится в директории /usr/sap/trans/buffer. При обновлении очереди в транзакции STMS происходит анализ этого файла на предмет новых записей о запросах в очереди. Новые записи добавляются в таблицу TMSBUFREQ в базе данных (рис. 4 и 5).

Рис. 4. Пример файла буфера транспортной системы.

Рис. 5. Пример таблицы TMSBUFREQ.

Причем, те запросы, что удаляются из очереди на перенос, остаются в файле в виде строки со знаком комментария (#) (рис. 4).

Запрос в очередь импорта можно добавить и на уровне командной строки сервера приложений, что удобнее при большом количестве добавляемых запросов. Формат команды:
> tp addtobuffer <transport_number> <SID>  pf=/usr/sap/trans/bin/<transport profile>
Пример выполнения (рис. 6).

Рис. 6. Пример добавления транспортного запроса в буфер через командную строку.

Для того, чтобы таблица TMSBUFREQ, а с ним и экран транзакции STMS, обновлялись автоматически, можно настроить автообновление. Для этого в транзакции STMS перейти в пункт меню "Дополнительная информация -> Личные параметры настройки" и установить check-box "Автомат. обновить просмотр" (рис. 7 и 8).

Рис. 7. Установка личных параметров настройки в STMS.

Рис. 8. Настройка автоматического обновления в STMS.

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

Рис. 9. Запрос без указания целевого манданта.

Настройку и нюансы работы с транспортной системой в SAP можно найти в курсе SAP ADM325 - Software Logistics.


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


26 сентября 2016 г.

Мульти-логин в SAP систему

Как вы знаете, для входа в ABAP часть SAP системы используется клиентское место SAP GUI. При входе в SAP систему пользователь указывает свой ID (учетную запись), который часто, в российской SAP практике, совпадает с фамилией пользователя. Хотя, изначально подразумевалось, что ID пользователя будет совпадать с его табельным номером. Поэтому даже в последних релизах SAP систем это поле не больше 12 знаков (рис. 1). Но на каких российских предприятиях сотрудники знают свой табельный номер наизусть? :)

Рис. 1. Начальное окно входа в SAP систему.

После успешного входа в систему, при попытке повторно войти в систему с тем же ID появится окно с предупреждением, в котором указывается с какого терминала (IP адрес + hostname) и в какое время уже был выполнен вход в систему (рис. 2).

Рис. 2. Попытка входа в систему дважды.

В таком случае, по-умолчанию, система предлагает выбрать из трёх вариантов:
  • Выполнить этот логин, а прежние регистрации в систему отменить, то есть, принудительно выбросить из системы без сохранения данных.
  • Выполнить логин в систему параллельно. 
  • Отменить эту попытку входа.

При втором варианте произойдет, так называемый, мульти-логин в систему. Данные об этом SAP система тщательно сохраняет в таблице USR41_MLD (рис. 3).

Рис. 3. Пример записи в таблице USR41_MLD.

В данной таблице по всем пользователям, кто хоть раз выполнял мульти-логин в систему, хранится следующая информация:
  •  пиковое количество одновременно работающих пользователей с одинаковым ID, 
  •  счётчик зафиксированных фактов мульти-логина,
  • даты и время первого и последних мульти-логинов в SAP систему.

Информация о текущих регистрациях в систему хранится в таблице USR41 (рис. 4).

Рис. 4. Пример содержимого таблицы USR41.

Таким образом, когда пользователь входит в SAP систему, информация об этом записывается в таблицу USR41. При новой попытке входа, происходит считывание записей из этой таблицы и при обнаружении записи с таким ID, выдается вышеуказанное предупреждение (рис. 2).

Как вы, наверное, уже знаете, SAP системы лицензируются по количеству пользователей, работающих в продуктивной системе. Таким образом, мульти-логины, когда несколько пользователей одновременно работают в системе под одним ID, не только снижают безопасность системы и подвергают риску сохранение консистентности данных, но и нарушают лицензионное соглашение. Поэтому компания SAP SE отслеживает эти нарушения. При проведении лицензионного аудита (транзакция USMM) в отчёт, помимо всего прочего, попадает информация из таблицы USR41_MLD. На основании этого компания оставляет за собой право пожурить клиента за мульти-логины в систему.

Дабы не доводить до греха и повысить безопасность системы, можно отключить возможность мульти-логина в систему через установку параметра профиля SAP: login/disable_multi_gui_login = 1 (рис. 5).

Рис. 5. Описание параметра login/disable_multi_gui_login.

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

Рис. 6. Попытка входа в систему дважды после установки запрета на мульти-логин.

Одновременно с этим, в параметре login/multi_login_users можно указать пользователей, которым будет разрешён мульти-логин в SAP систему (рис. 7). ID пользователей следует перечислять через запятую без пробелов, заглавными буквами.

Рис. 7. Описание параметра login/multi_login_users.

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

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

Подробности про лицензионный аудит можно найти тут.


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