30 августа 2021 г.

С наступающим днём знаний! Скидки на авторские курсы обучения SAP Basis

 Поздравляю всех с наступающим днём знаний!


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

Ну и по традиции, в связи с праздником, скидка на пакеты моего обучающего курса SAPADM 2.0. Напоминаю, что курс был полностью переписан и теперь основан на версии SAP NetWeaver 7.50 и платформе Linux/Oracle

Тому, кто напишет мне на почтовый ящик shibolov@gmail.com до 23:59 6 сентября 2021 года, я отдам любой пакет курса за 12 000* рублей

А все три пакета нового курса в эти дни можно получить всего за 35 000* рублей (вместо 48 000 рублей).

Условия акции:
* - для получения забронированных пакетов со скидкой, их надо будет оплатить до конца сентября 2021 года.

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


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

19 августа 2021 г.

Версии SAP ERP, SAP NetWeaver и SAP S/4HANA. Обновление

В 2013 году я впервые опубликовал свою сводную таблицу, где попытался показать связь между версиями основного продукта SAP (ERP системы) и версиями технической компоненты (SAP NetWeaver), на которой построено большинство продуктов компании. В дальнейшем было несколько обновлений этой таблицы, где я добавил информацию по новой системе SAP S4/HANA. Ссылки на мои предыдущие посты:


Сегодня решил обновить табличку, немного расширив информацию (рис. 1).

Рис. 1. Таблица версий SAP NetWeaver, SAP ERP и S4/HANA. Версия 1.4.

Из таблицы видно, что поддержка базы данных SAP HANA в продуктах SAP появляется с SAP NetWeaver 7.4. То есть SAP ERP 6.0 с EHP7 и EHP8 могут работать на этой базе данных. Правда только первой версии. При этом одновременно поддерживается кросс-платформенность и можно выбрать в качестве базы данных - Oracle, DB2, MSSQL или Sybase ASE. В документации на данный момент все они объединятся в термин AnyDB.

А начиная с системы SAP S/4HANA 1511 поддерживается только база данных от SAP. С другой стороны, в отличии от SAP ERP последних версий, благодаря такой ограниченности платформы, увеличивается интеграция с базой данных и производительность (по крайней мере, должна). Ну и платформа пока используется от SAP ERP - SAP NetWeaver.

В таблицу добавил 3 новые строки - это версии SAP S/4HANA 1809, 1909 и 2020. Их общая отличительная особенность - поддержка второй версии базы данных SAP HANA и введением новой технической платформы. От SAP NetWeaver, которому уже больше 20 лет, компания SAP переходит к платформе с названием ABAP Platform. ABAP Platform (версия совпадает с версией S/4HANA) в своём составе имеет сервер приложений AS ABAP соответствующей версии (см. таблицу). SAP Kernel в этих версиях систем используется от версии 7.73 и выше.

В конце этого года должна стать доступной S/4HANA версии 2021, информации по которой пока нет.

SAP AS Java только 7.50 и только в составе SAP NetWeaver 7.50. Дальше только AS ABAP.


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

Ещё можно прочитать цикл из 4-х постов в блоге у Juan Tena:

Плюс полезный пост: Upgrade to SAP S/4HANA 2020 – time to change.


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


9 августа 2021 г.

Настройка операционной системы SLES для установки SAP систем

Про то что Linux дистрибутивы от компании SUSE идеально подходят для установки и работы SAP систем и SAP HANA, в частности, я рассказывал много раз. Вот мои предыдущие посты:


Сегодня хочу поговорить более детально про утилиты подготовки операционной системы к дальнейшей установке и работе SAP систем. 

Во-первых, из вариантов дистрибутивов SUSE Linux можно выделить версии общего назначения - "SUSE Linux Enterprise Server" и специализированные версии для работы SAP систем - "SUSE Linux Enterprise Server for SAP Applications". А во-вторых, на данный момент поддерживаются три версии операционной системы: 
  • SLES 11 SP4, 
  • SLES 12 (последний SP5),
  • SLES 15 - самая новая версия (последний SP3). 

Все версии имеют свои особенности и нюансы.

Общие дистрибутивы SLES отличаются от SLES for SAP Applications прежде всего тем, что вторые сразу после установки ("из коробки") уже специально подготовлены к работе SAP систем. Первые тоже можно подготовить, ограничений на это нет. Но это потребует выполнения ряда шагов. Подробнее об этом мы сегодня и поговорим. 

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

SLES 11 и старше

В релизах операционной системы версии 11 и ранее за настройку отвечает rpm-пакет sapconf. Этот пакет устанавливает в систему сервис операционной системы, который должен всегда запускаться при старте операционной системы (рис. 1).

Рис. 1. Проверка установки пакета sapconf в SLES 11 SP4.

Так как в ранних релизах SLES использовалась система инициализации SysV, то сервисы или демоны представляли собой специализированные скрипты из директории /etc/rc.d/ (рис. 2).

Рис. 2. Сервис boot.sapconf в SLES 11 SP4.

Поэтому сервис boot.sapconf является по сути простым скриптом. Единственная его задача: устанавливать несколько параметров ядра операционной системы, рекомендуемых и необходимых для работы систем SAP, в корректные значения. По факту данные параметры добавляются один раз при первом старте сервиса boot.sapconf  плюс вносятся изменения в файл ограничений - /etc/security/limits.conf (рис. 3). Значения параметров сервис хранит в файле /etc/sysconfig/sapconf. А при старте службы скрипт проверяет, что параметры ядра операционной системы установлены в соответствии с его конфигурационным файлом. И, в случае корректности проверки, просто ничего не делает. 

Рис. 3. Параметры ядра и лимиты операционной системы SLES 11 SP4 для SAP.


SLES 12

В современных релизах операционной системы эта картина гораздо сложнее. Во-первых, начиная с SLES 12 используется система инициализации systemd, которая вносит свои корректировки. А во-вторых, устанавливаемых sap* rpm-пакетов теперь два:
  • sapconf,
  • saptune.

Первый rpm-пакет, содержащий базовые рекомендации для SAP систем, с версии 12 SP2 устанавливается и на дистрибутив общего назначения - "SUSE Linux Enterprise Server". В "SUSE Linux Enterprise Server for SAP Applications" по умолчанию присутствует и второй rpm-пакет (рис. 4). В данном примере (рис. 4) скриншот из системы SLES fo SAP Applications 12 SP3, где версия rpm-пакета saptune 1.1.7. На данный момент существует уже 2-я версия данного пакета. А первая выведена из поддержки SAP.

Рис. 4. Проверка установки пакетов для SAP в SLES 12 SP3.

Стоит отметить, что для полной настройки операционной системы необходимо установить, не два, а четыре rpm-пакета: к вышеупомянутым добавляются sysstat и uuidd. Пакеты имеют зависимости и при установке одного (sapconf) остальные подтягиваются автоматом. Все четыре rpm-пакета устанавливают свои systemd-сервисы в операционную систему. Командами вида systemctl status <service_name> можно проверить работу сервисов в системе (рис. 5).

Рис. 5. Проверка работы сервисов для SAP в SLES 12 SP3.

Повторюсь, что rpm-пакет sapconf выполняет минимально необходимые настройки операционной системы для SAP системы. Его конфигурационный файл хранится в уже упоминаемом файле /etc/sysconfig/sapconf (в него можно вносить свои правки). Каждый параметр в файле имеет комментарий, с указанием соответствующей SAP note, где можно найти подробности. Если в системе установлен пакет saptune, то sapconf активирует его сам через себя.
Сервис saptune, в свою очередь, позволяет выполнить более детальную настройку системы, применять SAP notes, активировать профиль (причём sap-* профили в утилиту добавляются через тот же rpm-пакет sapconf). С помощью команды tuned-adm active можно проверить какой профиль на данный момент активен, а в выводе команды tuned-adm list посмотреть все профили утилиты (рис. 6).

Рис. 6. Проверка активного профиля и просмотр всего списка профилей.

Для SAP (рис. 6) есть несколько профилей. Причём sap-netweaver и sap-hana идентичны и выбор между ними лишь дело вкуса. Первый активируется по умолчанию. Профили sap-ase и sap-bobj имеют свою специфику и активировать их необходимо строго с рекомендациями SAP документации. Так же с помощью saptune,  как я уже упоминал, можно применять рекомендации из SAP notes и, так называемые, настройки для SAP Solutions. Список SAP notes и Solutions доступных к активации можно посмотреть соответствующими командами (рис. 7). 

Рис. 7. Список SAP notes и Solutions, доступных для применения.

Применяются они в системе через команды вида saptune solution apply <solution> и saptune note apply <note id> соответственно. Причём, и SAP notes и какой-то из SAP Solution можно активировать совместно. Журналы работы утилит доступны в файлах /var/log/sapconf.log и /var/log/tuned/tuned.log.

SLES 15

В SLES 15 SP2 for SAP Applications выпустили sapconf версии 5, которая уже не является верхним уровнем над saptune, а оба rpm-пакета идут не связанные друг с другом. Профиль (sap-netweaver, sap-hana и т.п.) теперь один и активируется через sapconf, а saptune используется для активации только SAP notes и SAP Solutions. То есть фактически, от профилей в версии SLES 15 отказались. И даже в в версии saptune 1.x сейчас рекомендуют от использования профилей sap-ase и sap-bobj отказываться. А эти настройки активировать через SAP notes и Solutions. Стоит также отметить, что версия sapconf 5 c её особенностями работы доступна и в последних SP для SLES 12.

Дополнительно с версии 5.0.2 разработчики в пакет sapconf добавили скрипт для проверки корректности настройки и конфигурации SAP-утилит - sapconf_check. Скрипт проверяет активны ли нужные systemd-сервисы, профили и так далее. И даёт рекомендации по исправлению ошибок, если такие находит.


В общем, при установке операционной системы SLES руководствуйтесь SAP note нужной версии:

Дополнительно по установке и настройки sapconf и saptune есть отдельная SAP note 1275776 - Linux: Preparing SLES for SAP environments, которая содержит актуальную информацию для всех трёх поддерживаемых на данный момент версий SLES. В этой SAP note подробно описаны не только утилиты sapconf и saptune, но и все ручные шаги по настройке операционной системы. Эти шаги могут быть выполнены, если вы  по какой-то причине не хотите или не можете использовать готовые утилиты.

Также имейте ввиду, что в операционной системе после установки rpm-пакетов появляются man-страницы по всем утилитам, профилям и их настройке.

Для тех, кто хочет полностью погрузиться в тему и изучить процесс установки/конфигурирования/удаления данных пакетов и сервисов, можно почитать на оригинальном сайте SUSE записи одного из разработчиков (Sören Schmidt):

В статьях раскрыто отличие sapconf 5 от sapconf 4, даны прекрасные иллюстрации со всеми зависимостями между systemd-службами и конфигурационными файлами. А также подробно описана настройка sapconf для корректной работы с saptune в разных версиях операционной системы SLES.

openSUSE 15.3

Ну и приятный бонус. Слышали вы или нет, но с версии openSUSE 15.3 у свободного продукта и коммерческих версий SLES теперь одна и та же база исходников и бинарных пакетов и, даже репозитории пересекаются. Во-первых, это делает процесс апгрейда с openSUSE на SLES не только возможным, но и быстрым и безболезненным. А во-вторых, мы можем в openSUSE из стандартных репозиториев дистрибутива получить rpm-пакеты, которые раньше были недоступны. Например, описываемые здесь sapconf и saptune (рис. 8 - 11).

Рис. 8. Доступность rpm-пакетов saptune и sapconf в openSUSE 15.3.

Рис. 9. Пример установки rpm-пакетов для SAP систем в openSUSE 15.3.

Рис. 10. Работа сервисов после установки rpm-пакетов в openSUSE 15.3.

Рис. 11. Список стандартных репозиториев в openSUSE 15.3.

Помните, как в нескольких постах моего блога (ссылка 1, ссылка 2) я обсуждал на какие дистрибутивы Linux можно поставить SAP систему? И даже приводил выдержку из SAP note 815368, которую SAP сейчас удалил из своей базы. Там было сказано, что технически допускается установка систем на дистрибутивы CentOS,  Fedora и openSUSE. Так вот теперь установка SAP системы на дистрибутивы openSUSE 15.3 стала ещё проще и удобнее. Кстати, в своём обучающем курсе я использую дистрибутив openSUSE 42.3, на котором после пары ручных настроек прекрасно работает SAP NetWeaver 7.5. 

На днях был вебинар от компании SUSE, где демонстрировали как выполнить миграцию с openSUSE 15.3 на SLES 15. Посмотреть запись можно тут, начиная с 15:30. 



2 августа 2021 г.

Ручная блокировка работы транспортной системы в SAP

Про транспортную систему я писал уже несколько раз. Смотрите статьи по тегу TMS. А если ничего про это ещё не знаете, то рекомендую начать с поста "Почему SAP рекомендует 3-х системный ландшафт?". 

Сегодня хочу рассказать про парочку хинтов, связанных с ручной блокировкой транспортной системы.

Оба способа работают через файлы в транспортной директории. Вы, наверное, знаете, что в основе транспортной системы лежит файловая система /usr/sap/trans, которая состоит из ряда поддиректорий (рис. 1). Вот некоторые из них:

  • /usr/sap/trans/cofiles - содержит управляющие файлы транспортных запросов,
  • /usr/sap/trans/data - содержит файлы транспортных запросов с данными,
  • /usr/sap/trans/EPS/in - используется при обновлении SAP системы, хранит файлы пакетов поддержки,
  • /usr/sap/trans/buffer - хранит файлы-очереди систем, входящих в ландшафт,
  • /usr/sap/trans/log - содержит журналы экспорта/импорта транспортных запросов,
  • /usr/sap/trans/bin - хранит конфигурацию транспортной системы.

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

Рис. 1. Пример списка поддиректорий файловой системы /usr/sap/trans.

Чтобы запретить деблокирование запросов и экспорт данных в файлы, можно воспользоваться первым хинтом. Для этого необходимо в поддиректории /usr/sap/trans/bin создать файл с именем T_OFF.<SID>. Здесь <SID> - системный идентификатор той системы, из которой мы запрещаем экспорт транспортных запросов. Причем, внутри файла может быть текст, который система будет отображать пользователю при попытке деблокировать транспортный запрос через транзакции SE01/SE09/SE10 (рис. 2 и 3).

Рис. 2. Создание файла для запрета процесса деблокирования запросов.

Рис. 3. Диалоговое окно с сообщением о запрете деблокирования запросов в системе.

Пока файл не удалён, деблокирование в данной системе запрещено.

Второй хинт касается процесса импорта транспортных запросов в систему. Для его выполнения необходимо в поддиректории /usr/sap/trans/tmp создать пустой файл с именем NOIMPORT.<SID>. Здесь <SID> - системный идентификатор уже целевой системы, в которую мы запрещаем импорт транспортных запросов. После этого при попытке импорта любого транспортного запроса в данную систему в транзакции STMS будет выдаваться сообщение об ошибке, в детальном выводе которого можно увидеть информацию о блокировке очереди через файл NOIMPORT.<SID> (рис. 4).

Рис. 4. Блокировка импорта транспортных запросов в систему.

Пока файл в поддиректории существует, импорт в систему невозможен.

Данные возможности могут быть полезны при блокировке систем во время обновления или миграции. 


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