29 августа 2019 г.

С наступающим днём знаний! Скидки на пакеты обучения SAPADM 2.0

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


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

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

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

А тому, кто купит два первых доступных пакета, я так же сделаю скидку, и отдам их за 22 000* рублей.

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

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


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

26 августа 2019 г.

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


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



В одном из первых постов этого блога в 2008 году был рассказ о том, как с помощью механизма отладки поменять статус транспортного запроса: из деблокированного (released) сделать его снова открытым на изменения. По прошествии стольких лет я обнаружил более простой способ изменять все атрибуты запроса, включая его статус. В системе существует программа RDDIT076. Проверял в системах основанных на SAP_BASIS от версии 4.6 до SAP NetWeaver 7.50, везде программа существует.

Указать программу RDDIT076 в SE38 (привязанной транзакции к программе нет) и запустить на выполнение (рис. 1). 

Рис. 1. Запуск программы RDDIT076.

На экране выбора в единственном поле указать транспортный запрос, атрибуты которого необходимо изменить, и нажать кнопку "Выполнить" (рис. 2).

Рис. 2. Просмотр атрибутов запроса.

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

Рис. 3. Открытие диалогового окна с атрибутами запроса.

Для редактирования полей нажать на кнопку "Редактирование", а после изменения необходимого параметра или параметров, - кнопку "Сохранения" (рис. 4).

Рис. 4. Изменение параметров транспортного запроса.

Таким образом можно изменить краткое описание, владельца запроса, статус - деблокировано (R) или изменяемо (D). Можно поменять целевую систему и даже исходный мандант (хотя у меня ни разу такой потребности не было). 

Какие-то моменты, например, владельца или краткое описание, можно поменять и через стандартные транзакции работы с транспортными запросами SE01/SE09/SE10 (рис. 5).

Рис. 5. Изменение атрибутов запроса в транзакции SE01.

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

ПРЕДУПРЕЖДЕНИЕ: Будьте внимательны! Описанный отчёт предназначен только для экспертов. Не стоит им злоупотреблять. А при работе с деблокированными запросами будьте крайне осторожны. Все последствия ложатся на Ваши плечи.

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



Предыдущие выпуски:


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


19 августа 2019 г.

Мониторинг рабочих процессов SAP системы

Как вы знаете, ядром любой ABAP инстанции SAP системы является ABAP-диспетчер, который управляет рабочими процессами (рис. 1).

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

Рабочие процессы разделяются по назначению:
  • диалоговые (DIA) - отвечают за работу диалоговых пользователей системы;
  • фоновые (BTC) - выполняют фоновые задания;
  • обновления (UPD, UP2) - отвечают за обновление данных в таблицах;
  • блокировки (ENQ) - управляют блокировками на уровне сервера приложений;
  • печати (SPO) - отвечают за печать из SAP системы.

Мониторинг рабочих процессов осуществляется в транзакции SM50. Классический вариант транзакции хорошо известен администраторам SAP системы (рис. 2).

Рис. 2. Пример основного экрана транзакции SM50 в системе на SAP_BASIS 620.

Транзакция позволяет выполнять мониторинг всех рабочих процессов текущей инстанции. Процессы могут иметь различный статус - ожидать запросов (простаивать), выполнять задачу, ожидать сообщения или быть остановленными на уровне операционной системы по причине ошибки или сбоя. По каждому процессу можно:
  • просмотреть журнал (пункт меню "Процесс -> Трассировка -> Просмотреть файл"), 
  • перейти в отладку работающей программы (пункт меню "Программа/Режим -> Программа -> Отладка"), 
  • сбросить задачу, работающую на рабочем процессе (пункт меню "Процесс -> Отменить с (без) дампом"),
  • перезапустить процесс после сбоя (пункт меню "Процесс -> Перезапуск после ошибки -> Да").

Для просмотра рабочих процессов всех инстанций SAP системы (в случае использования системы с больше, чем одной ABAP инстанцией) используется транзакция SM66.

В свежих релизах SAP системы (SAP NetWeaver 7.40 SP08 и выше) дизайн и функциональность транзакции SM50 притерпели некоторые изменения (рис. 3).

Рис. 3. Пример транзакции SM50 в системе SAP NetWeaver 7.50.

Появилась возможность просматривать не только все рабочие процессы, но и получить список только активных в текущий момент времени рабочих процессов. Для переключения между этими режимами отображения служат кнопки "Активные рабочие процессы" и "Все рабочие процессы" на панели (рис. 3 и 4).

Рис. 4. Отображение только активных рабочих процессов в транзакции SM50.

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

Рис. 5. Получение списка всех рабочих процессов SAP системы в транзакции SM50.

Причем, если запустить транзакцию SM66 в новых релизах SAP NetWeaver, то можно увидеть интерфейс очень похожий на SM50 (рис. 6).

Рис. 6. Пример транзакции SM66 в системе SAP NetWeaver 7.50. 

Такая же кнопка переключения между отображением всех процессов или только активных (рис. 6 и 7).

Рис. 7. Пример транзакции SM66 в системе SAP NetWeaver 7.50 с полным списком рабочих процессов.

Дополнительно есть возможность переключить режим отображения рабочих процессов на отображение только по конкретной ABAP инстанции. Для этого в меню транзакции SM66 есть пункт "Перейти к -> Переключить на инстанцию" (рис. 8).

Рис. 8. Переключение в транзакции SM66 на отображение рабочих процессов конкретной инстанции.

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

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

По умолчанию транзакция отображает список активных рабочих процессов всех ABAP инстанций SAP системы. Но на панели есть полезная кнопка "Process Selection", нажав на которую появляется возможность в диалоговом окне настроить режимы отображения (рис. 9).

Рис. 9. Настройка режима отображения процессов в старой версии транзакции SM66.

В диалоговом окне можно ограничить выборку рабочих процессов:
  • по типу, 
  • по статусу, 
  • по пользователю, задачи которого обрабатывает процесс,
  • по времени работы задачи на процессе,
  • по таблице, с которой работает процесс,
  • и так далее (рис. 10).

Рис. 10. Ограничение рабочих процессов для отображения в SM66.

Таким образом, поигравшись с настройками, можно выполнять мониторинг процессов, решая разные задачи. Например:
  • отобразить все фоновые рабочие процессы в системе (рис. 11),
  • отобразить все рабочие процессы, работающие больше определённого периода времени,
  • отобразить все рабочие процессы, которые не обрабатывают в данный момент времени запросы пользователей - для того, чтобы понять сколько свободных ресурсов есть в системе (рис. 12).

Рис. 11. Список всех фоновых процессов в SAP системе.

Рис. 12. Список рабочих процессов в статусе "Ожидает".

Но для новых версий систем (SAP NetWeaver 7.40 SP08 и выше) не всё потеряно. Старая версия транзакции SM66 доступна через транзакцию SM66_OLD, за которой скрывается та же программа - SAPMSM66.




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


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.

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