15 августа 2019 г.

Опрос: опыт работы с SAP системами

Первое программное решение на русском языке компания SAP выпустила в 1991 году. Это была SAP R/2 - система рассчитанная на работу на Мейнфреймах. Не думаю, что кто-то в России успел внедрить эту версию системы. 😊
В 1992 году выходит первая версия системы SAP R/3, а в Москве открывается подразделение компании SAP CIS. Таким образом, история SAP в СНГ насчитывает уже 27 лет.

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


Конечно, не все занимаются всю свою жизнь только SAP, кто-то уходит в другие области. Но кто-то воюет дальше, считая, что нашёл своё место в жизни. Например, я занимаюсь этим уже 16 лет. Страшно даже подумать сколько это. 😲

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

Проведём опрос еще раз и пересчитаемся? 😊 Я подозреваю, что на мой блог натыкаются не только те, кто администрирует SAP системы, поэтому опрос более общий - опыт работы с SAP системами. А во втором опросе отнесите себя к той или иной категории специалистов. Объединить два опроса в один у меня на используемом сервисе не получилось. Так что придётся ответить дважды.

Всем спасибо за ответы. Пора подводить итоги.

В опросе участвовало 40,5 человек. Один человек, к сожалению, не смог ответить на второй опрос. Опрос к тому времени уже закрылся.

Рис. 1. Результаты опроса "Какой у вас опыт работы с SAP системами".

Рис. 2. Результаты опроса "В какой области SAP вы работаете".


Рис. 3. География участников по странам. 

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

Спасибо, что читаете мой блог. Смело давайте обратную связь - пишите комментарии к статьям, делитесь своим опытом, мыслями. Мне тоже важно знать, что мои статьи не уходят в никуда, а находят своего читателя. Если же есть личные советы, комментарии, критика, то пишите на электронную почту - shibolov@gmail.com.


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


12 августа 2019 г.

Развитие SAP NetWeaver. ASCS инстанция.

SAP NetWeaver 7.0

Архитектура AS ABAP системы в SAP NetWeaver 7.0 не сильно отличалась от предыдущих версий системы, построенных на SAP BASIS 6.40, 6.20 и даже где-то 4.6. Первоначальной основной единицей уровня приложений AS ABAP являлась центральная инстанция (Central Instanсe), которая была минимально-необходимой устанавливаемой компонентой. Как вы уже знаете, уровень приложений SAP может быть масштабирован за счёт установки  дополнительных диалоговых инстанций (Dialog Instance). Основой каждой AS ABAP инстанции является ABAP диспетчер, который управляет рабочими процессами различного назначения (DIA, BTC, UPD, SPO) и распределяет задания между ними. Дополнительно в SAP NetWeaver ABAP инстанции работают процессы ICM (Internet Communication Manager) и GW (Gateway). Первый отвечает за обработку запросов из сети Интернет (протоколы SMTP, HTTP, HTTPS), а второй - за коммуникацию по протоколу RFC.   

Отличие между центральной инстанцией и любой дополнительной диалоговой инстанцией заключается в двух процессах:
  • ABAP Message Server,
  • Процесс ENQ и связанная с ним таблица блокировок (lock table).

ABAP Message Server это важная часть системы, которая осуществляет централизованный обмен сообщениями и балансировку между отдельными инстанциями. Про ENQ процесс и таблицу блокировок не так давно я писал в этом посте. 

Оба процесса присутствуют во всей SAP ABAP системе в единичном экземпляре и в системе SAP NetWeaver 7.0 (и ранее) работают в рамках центральной инстанции (CI). 

Таким образом, центральная инстанция (CI) ABAP системы при построении отказоустойчивых решений являлась единой точкой отказа (Single Point-Of-Failure) и требовала включения её целиком в отказоустойчивый пакет для защиты от сбоя.

SAP NetWeaver 7.1

Начиная с SAP NetWeaver 7.1 парадигма начала немного меняться.

Во-первых, произошло переименование:
  • Центральная инстанция (CI) стала Primary Application Server (PAS),
  • Диалоговая инстанция (DI) получила название Additional Application Server (AAS).

А во-вторых, появилась новая инстанция в рамках ABAP системы - инстанция ABAP SAP Central Services или кратко ASCS. В рамках данной инстанции появилась возможность отдельно выделить процессы центральной инстанции - ABAP Message Server и Enqueue Server. После такого выделения процессов список компонент PAS ничем не отличается от компонент AAS инстанций (рис. 1).

Рис. 1. Архитектура ABAP части системы SAP NetWeaver 7.1.

Такой состав инстанций рекомендовался для построения отказоустойчивых систем (инсталляция по типу High-Availability System). В данном случае в кластерный пакет необходимо было включить только ASCS инстанцию и инстанцию базы данных, как единые точки отказа. А инстанция PAS не являлась уникальной в рамках списка инстанций серверов приложений.

SAP NetWeaver 7.3

Начиная с SAP NetWeaver 7.3 такая организация инстанций вообще стала обязательной и единственно корректной при любой модели разворачивания системы (Standard, Distributed или High-Availability System) (рис. 2).

Рис. 2. Изменение архитектуры в SAP NetWeaver 7.3.

Таким образом, Primary Application Server называется та инстанция, которая устанавливается первой при разворачивании SAP системы. И никаких отличий от последующих устанавливаемых AAS у неё нет.

Плюсы у решения выделить ASCS инстанцию несомненные есть. Это и организация ресурсов, изоляция узких мест системы и легкость при организации высоко-доступной системы в будущем. 

Стоит отметить, что инстанция ASCS это не что-то кардинально новое. Если вы помните, в AS JAVA части SAP NetWeaver всегда Message Service и Enqueue Service были выделены в отдельную инстанцию - инстанцию Central Services (CS) (рис. 3).

Рис. 3. Архитектура AS JAVA в SAP NetWeaver.

Так как архитектура с инстанцией ASCS стала обязательной для систем основанных на SAP NetWeaver 7.3 и выше, то существует процедура выделения этой инстанции из существующей инстанции PAS (Split Off) (рис. 4).

Рис. 4. Процедура выделения ASCS инстанции.

Процедура производится через одноименный пункт ("Split Off ASCS Instance from Existing Primary Application Server Instance") утилиты установки SWPM. Необходимость в ней может возникнуть, например, при процессе обновления версии системы SAP NetWeaver до 7.3 или выше.

SAP notes по теме:
- 1678705 - Installation scenarios for a standalone ASCS instance,
- 2073500 - FAQ: Splitting off ASCS from PAS,
- 2119669 - How to split the ASCS from Primary Application Server (PAS).


Предыдущие статьи рубрики:
- "Развитие SAP NetWeaver. Start profile".
- "Развитие SAP NetWeaver. Мандант 066".


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


5 августа 2019 г.

Знаменитая синяя лужа SAP

Долгое время одним из узнаваемых элементов SAP системы была знаменитая "синяя лужа" в SAP GUI for Windows. В классических темах оформления SAP GUI эта лужа фигурирует дважды - в правой части основного экрана и в правом верхнем углу (рис. 1).

Рис. 1. Пример классической темы оформления SAP GUI с "синей лужей".

Про возможности замены изображения на правой части экрана я писал в этом посте. Вместо "синей лужи" можно отображать полезную для пользователей системы информацию в виде картинки или даже Web-страницы. 

В правом верхнем углу есть ещё одна "синяя лужа", круги на которой начинают расходится в течении всего периода пока SAP GUI недоступен для пользователя (рис. 2). Например, выполняется отчёт, собирающий информацию для вывода на экран, или пользователь запустил тяжёлую транзакцию (например, DBACOCKPIT) и система подготавливает её к запуску. 

Рис. 2. Круги в "синей луже".

Данную лужу тоже можно заменить. На локальном диске С: рабочей станции где установлена SAP GUI необходимо перейти в директорию C:\Program Files (x86)\SAP\FrontEnd\SAPgui\themes\. В данной директории находятся поддиректории с медиа-файлами для некоторых тем оформления SAP GUI - иконки, звуковые файлы и так далее. Входите в директорию с нужной темой оформления. В данном случае это "Tradeshow". Среди медиа-файлов находится файл с именем "sapalogo.bmp", который представляет собой ленту с 33-ю кадрами той самой "синей лужи". Каждый кадр имеет размер 123 на 60 пикселей (рис. 3).

Рис. 3. Кадры кругов "синей лужи".

Можно создать BMP-файл со своим изображением и поместить в данную директорию. Количество кадров не важно, а вот размер кадра необходимо соблюдать строго. Больше кадров - плавнее будет анимации.

Например, картинка с серверами, у которых на панели моргают разноцветные лампочки (рис. 4).

Рис. 4. Пример своего файла для замены "синей лужи".

Заменить стандартный файл, перезапустить SAP Logon и оценить результат (рис. 5).

Рис. 5. Пример замены "синей лужи" в правом верхнем углу.

В итоге, между шагами диалога, когда SAP GUI недоступна для пользователя, сервера будут  перемигиваться лампочками (рис. 6).

Рис. 6. Альтернатива кругам "синей лужи".

Практического смысла в этом никакого нет. Как говорится, just for fun. :)

P.S. Начиная с SAP GUI 7.60, классических тем оформления с "синей лужей" не осталось. А в молодости я себе так индивидуализировал SAP GUI.

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


29 июля 2019 г.

Век живи, век учись! - I

Данным постом открываю новую серию кратких записей о моих открытиях в мире SAP систем и около них. Согласно первой части пословицы: "Век живи, век учись..." такие открытия периодически случаются и в тех областях, где казалось бы всё изучено вдоль и поперёк. 

RSPFPAR - человек и пароход!

Как я уже рассказывал, RSPFPAR это отчёт, который помогает просмотреть все параметры ABAP инстанции SAP системы. При запуске отчёта на экране выбора (рис. 1) можно ограничить список параметров, после чего система выдаёт таблицу с параметрами, их значениями (установленными в профилях или в SAP ядре) и кратким описанием каждого (рис. 2). 

Рис. 1. Отчёт RSPFPAR: первый экран.

Рис. 2. Отчёт RSPFPAR: список параметров.

Моё открытие заключается в том, что у отчёта RSPFPAR есть транзакция с таким же именем - RSPFPAR. (рис. 3).

Рис. 3. Запуск транзакции RSPFPAR.

Как найти транзакцию для ABAP программы?

Найти транзакцию для ABAP программы не сложно. Для этого достаточно в транзакции SE38 указать ABAP программу, после чего на панели нажать кнопку "Журнал использования" (Where-use list) (рис. 4).

Рис. 4. Поиск транзакции для ABAP программы. Шаг 1.

В диалоговом окне оставить галку только напротив пункта "Транзакции" и нажать кнопку "Выполнить" (рис. 5).

Рис. 5. Поиск транзакции для ABAP программы. Шаг 2.

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

Рис. 6. Поиск транзакции для ABAP программы. Шаг 3.

Начиная с версии SAP BASIS 6.20 для программы RSPFPAR есть не только транзакция RSPFPAR, которая выдает список всех параметров, но и дополнительные преднастроенные варианты. Например, транзакция RSPFPAR_LOGIN выдаёт сразу на экран список параметров по шаблону "login/*".

Век живи, век учись!


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


22 июля 2019 г.

SUSE Linux Enterprise Server 15 for SAP шагает по планете

SUSE Linux Enterprise Server for SAP Applications 15 SP1

С момента моего последнего поста "SUSE Linux Enterprise Server как платформа для SAP системы" новая версия SLES 15 укрепила свои позиции в качестве платформы для продуктов компании SAP.

Во-первых, для этой версии вышел пакет обновлений SP1, а это значит, что первые баги были вычищены. И хочется надеяться, что это не добавило слишком много новых. :) SAP всегда настоятельно рекомендует устанавливать последний доступный пакет обновлений на операционную систему.

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

Ещё раз напомню, что на данный момент официально (согласно официальному сайту https://www.suse.com/lifecycle/) поддерживается 3 версии SUSE Linux Enterprice Server:
  • SUSE Linux Enterprise Server 11 (SLES11): конец официальной поддержки - 31 марта 2019, конец расширенной поддержки (LTSS) - 31 марта 2022,
  • SUSE Linux Enterprise Server 12 (SLES12): конец официальной поддержки - 31 октября 2024, конец расширенной поддержки (LTSS) - 31 октября 2027,
  • SUSE Linux Enterprise Server 15 (SLES15): конец официальной поддержки - 31 июля 2028, конец расширенной поддержки (LTSS) - 31 июля 2031.

Можно заметить, что судя по данной информации, даже SLES 11 еще можно смело использовать.

Актуальную информацию по поддержке дистрибутивов Linux можно получить, заглянув в SAP note 936887 - End of maintenance for Linux distributions.

Что касается аппаратной платформы, то SAP поддерживает SLES 15 на следующих трёх:
  • SUSE Linux Enterprise Server 15 for AMD64 & Intel EM64T (SLES15-x86_64),
  • SUSE Linux Enterprise Server 15 for IBM Power Little Endian (SLES15-ppc64le),
  • SUSE Linux Enterprise Server 15 for IBM System z (SLES15-s390x).

Вернёмся к матрице совместимости (Product Availability Matrix). Согласно ей, SLES 15 поддерживается:
  • SAP NetWeaver 7.40 и SAP NetWeaver 7.50 с SAP Kernel 7.53 (рис. 1).
  • ORACLE 12.2.0.1 (рис. 1),
  • SAP HANA DB 1.0 (SP122 и выше) (рис. 2),
  • SAP HANA DB 2.0 (SP034 и выше) (рис. 2),
  • SAP MAXDB 7.9 (рис. 3),
  • SAP ASE 16.0 (рис. 4).

Рис. 1. Пример матрицы совместимости для SAP Solution Manager 7.2.

Рис. 2. Пример матрицы совместимости для SAP HANA DB.

Рис. 3. Пример матрицы совместимости для MAXDB.

Рис. 4. Пример матрицы совместимости для SAP ASE.

Развернуть SAP систему можно не только на платформу x86_64, но и, например, на IBM Power Little Endian (рис. 5).

Рис. 5. Пример матрицы совместимости для SAP HANA DB и платформы PPC64LE.

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

Рис. 6. Пример матрицы совместимости для SAP Solution Manager на SAP ядре 7.49.

Так же информация про SLES 15 появилась во всех основных SAP нотах, используемых при установке и подготовке операционной системы:

Отдельно стоит упомянуть про SAP ноты для конкретного релиза SLES 15:

P.S. А для SLES 12 вышел SP4.

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


15 июля 2019 г.

Блокировки в SAP системе - II

В первой части были рассмотрены вопросы концепции SAP блокировок, реализация механизма и мониторинга блокировок в SAP системе.

Продолжим.

Удаление блокировки вручную

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

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

Перед удалением блокировки рекомендуется выполнить следующие шаги: 
  • проанализировать запись блокирования,
  • удостовериться, что пользователь (владелец блокировки) вышел из системы (транзакция SM04),
  • удостовериться, что от данного пользователя нет запросов на обновление данных, которые еще не успели выполниться (транзакция SM13).

Если пользователь вышел из системы, а запись о его логине "висит" в SM04, то в первую очередь следует закрыть все режимы пользователя, принудительно выбросив его из системы.

Если выполнение предыдущих шагов не привело к удалению записи из таблицы блокировок, то удалить блокировки вручную. Для этого выделить строку с записью блокирования и на панели нажать кнопку «Удалить», подтвердив серьёзность своих намерений в диалоговом окне (рис. 1).

Рис. 1. Удаление записи блокирования вручную.

Диагностика и решение проблем

Для проверки работы механизма блокирования можно выполнить его диагностику. Для этого на основном экране транзакции SM12 выбрать пункт меню «ДополнИнфо -> Диагностика». Программа совершит попытку установки тестовой блокировки, после чего выведет результаты на экран (рис. 2).

Рис. 2. Диагностика механизма блокировки в SAP.

Узким местом при настройке сервера блокировок может быть таблица блокировок (lock table). Размер таблицы блокировок ограничен параметром инстанции - enque/table_size. Единицей измерения параметра являются Кб, а спектр значений зависит от версии SAP: от 4 096 до 102 400, а в более свежих версиях верхний предел увеличен до 2 000 000 (рис. 3). По-умолчанию, в свежих релизах устанавливается - 64 000 Кб.

Рис. 3. Конфигурация размера таблицы блокировки в системе SAP NetWeaver 7.5.

В зависимости от сконфигурированного размера таблицы система устанавливает ограничения на максимальное количество записей, владельцев и аргументов, которое может быть сохранено в таблице. Например, при 4 096 Кб это число - около 5 000 (точное число отличается от версии к версии). Просмотреть максимальные значения таблицы блокировок можно, перейдя на основном экране транзакции SM12 в пункт меню «ДополнИнфо -> Статистика». Система отобразит максимальные и пиковые значения за время работы системы (рис. 4).

Рис. 4. Статистика работы сервера блокировок.

Проблемой может стать переполнение таблицы блокировок. В случае возникновения этой ситуации новые блокировки в системе не устанавливаются, а в системном журнале (транзакция SM21) появляются соответствующие сообщения. Работа системы парализуется до тех пор, пока не удалятся блокировки в таблице, освободив место для новых записей. Ошибка может возникать в следующих ситуациях:
  • настроен недостаточный размер таблицы блокировок, 
  • не корректно написано приложение, создавшее одновременно много блокировок,
  • проблемы с обновлением в системе (транзакция SM13).  

Заполнение таблицы блокировок необходимо периодически отслеживать с помощью транзакции SM12 (рис. 4). Значение в поле «Максим. уровень заполнения» не должно быть больше 90-95% от максимального возможного числа.


Еще одним узким местом может стать рабочий процесс блокировок при классической реализации сервера блокировок (первая часть статьи). При высокой нагрузке на механизм блокировок возможна конфигурация больше чем одного рабочего процесса блокировок. В больших инсталляциях возможно увеличение до 4-х рабочих процессов. Дополнительную информацию можно найти в SAP note # 127773 - Several enqueue work processes.

Дополнительная информация

- страница SAP Enqueue Server на сайте wiki.scn.com,
- SAP note # 746138 - Analyzing lock table overflows,
- SAP Lock Concept на SAP Help Portal (версия для SAP NetWeaver 7.5).
- SAP note # 552289 - FAQ: R/3 lock management,
- SAP note # 1565578 - Lock Table Overflow.


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