Почему не стоит бояться ABAPа

Часто слышу про такую фантазию как zero-abap project. Проекты, где нет АБАПа. Почему все заказчики так его бояться и почему в России без него нельзя запустить проект? Основной аргумент заказчика обычно таков, что при использовании абапа нельзя нормально обновлять систему, что это влечет к увеличению стоимость сопровождения и бла-бла-бла. Интересно, а изменение схемы, кадровых мероприятий, использования OM объектов не влечет к тем же проблемам? ABAP он хотя бы изолирован от всего остального, его видно издалека, а изменения в настройках системы обычно без стакана чая не разберешь. Особенно, когда приходит нота с необходимостью внести изменения в стандартную схему, которую ты уже похоронил, а тут надо разобраться какие операции вносить, а какие не нужно.

Я считаю, что большее зло, это изначально неверная архитектура системы, затыкание дыр промежуточными решениями, кодинг расширений в схемах. Большая часть абапа зачастую приходится на отчетность и user-exit, которые самостоятельно и мало зависят или влияют на обновления системы. САП предоставил инструмент для разграничения полномочий и сфер влияния. Только в логике настроек такого нет инструмента, так как там все слишком взаимосвязанно.

 

Share

Про обновления SAP систем для начинающих

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

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

Мельчайшая единица обновления это нота. Это маленькое исправление или рекомендация вендора по исправлению той или иной ошибки или пособие к действию. Ноту можно скачать, можно автоматизированно применить к системе и получить исправленную ошибку. В ноте обычно содержится текстовая часть, где описывается суть исправления, причины возникновения ошибки, примеры. Если ошибка может быть исправлена через ABAP, то в ноте содержится код, который вносит исправление в систему. Такую ноту можно откатить назад.

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

Ноту можно скачать с support.sap.com/notes или в транзакции SNOTE. Просто указываем ноту, она скачивается, выбираем ее в списке и нажимаем применить. Система сама учтет правильную версию ноты именно для вашей системы.

Обычно ноты ставятся в системе разработки, сохраняются в транспортный запрос и дальше переносятся по ландшафту стандартной системой транспортных запросов. БЫвают исключения, когда в ноте содержится какой-нибудь XML файл, справочник основных данных, который нужно применить прямо в продуктивной системе (или в каждой системе в ландшафте). В таких случаях указана инструкция что и как сделать, куда «подсунуть» файлик из ноты.

Читать далее

Share

FAQ. Учебные материалы

Вопрос:

Виталий, не могли бы вы порекомендовать ресурсы ,который с вашего мнения достойны для просмотра по сап-тематике?
Интересуют относящиееся к тех . архитектуре, тестированию,  с какими-то курсами.

Ответ:

Я сам учусь на следующих ресурсах (бесплатных):

  • sdn.sap.com
  • help.sap.com
  • open.sap.com
  • SPRO
  • Support.sap.com/notes
Share

Автоматизация контроля программного кода в ABAP с помощью SAP Code Inspector

Жизнь подкидывает мне интересные задачки. На днях мне пришлось задуматься об автоматизации контроля качества ABAP разработок. В системе есть инструмент для автоматизации контроля качества программного кода, написанного на языке ABAP. Транзакция ATC созвучна с ABAP Test Cockpit.

Тестирование программного кода в SAP

тестирование программного кода (авторство изображения не установлено)

Например, мы можем сказать системе проверять все деблокированные запросы в части разработок на контроль качества с помощью ABAP Code Inspector, где можно задать правила приемки кода. Можно попросить систему автоматизированно по расписанию проверять код, написанный программистами на заранее определенные правила и не допускать его перенос по ландшафту. Для заказчиков я бы рекомендовал включать такие требования в технические задания, чтобы хоть как-то прививать культуру разработки и тестирования кода. Не забывая, что за качество тоже нужно платить. Хотите обеспечить отсутствие бэкдоров в системе или неэффективного кода — пропишите в Code Inspector правила, которые не позволят переносить такие «сомнительные» разработки до ручного утверждения. Запретите прямые SQL выборки во избежание нарушения полномочий доступов. Разработайте политики безопасности, производительности и управляемости программным кодом — это сэкономит существенное количество денег, если вы хотите их считать. Деньги считать.

Транзакция SCI — Code Inspector — позволяет настраивать правила, перечень объектов/людей для контроля. Правила игры простые:

  1. Код должен быть «чистым» в части производительности, читабельности, безопасности. Иначе рефакторинг.
  2. Код должен быть на 100% покрыт тестами. Иначе вы получите ошибки в продуктивной среде.
  3. Пункты 1 и 2 должны быть регламентированы, документированы и обязательны. Без исключений.
  4. В случае проблем начни с пункта 3.

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

Откроем транзакцию SCI.
Читать далее

Share

Делюсь идеей

Такого вы еще в HR и в SAP не видели.

Прошу зафиксировать и засвидетельствовать время и дату декларации инновационного подхода к сервисам самообслуживания.

Многие из вас слышали про такие вещи как Apple Siri, Amazon Echo, что-то у Гугла (не знаю что). На сегодня гугл считается самым продвинутым инструментом для распознавания речи, так как обучение построено на элементах искусственного интеллекта. Нейронные сети, нечеткая логика, комбинаторика, синтез речи и прочие непонятные слова.

Так вот. В ночи игрался я с телефоном, обновляшки обновлял. И наткнулся на гугловский переводчик оффлайновый. Нашептал ему страсти в микрофон, а он мне выдал то, что на картинке выше. Сон улетел в тар-тарары. Хабрахабр сказал, что год назад яндекс и гугл выпустили свои облачные API и оффлайновые SDK для распознавания речи.

Так вот. Прислоняется к телефону человечек, томно/грозно/нудно/быстро/страстно требует 2-НДФЛ. Его волновой импульс улетает в облачный сервис гугла или яндекса, где производится трансляция в текст. А с текстом мы тоже на нашем деревенском уровне умеем. Берем регулярные выражения (regex для программеров). По ключевым словам находим объект (2-НДФЛ) и его параметры (период). Синтезируем вопрос: «Эй, ты точно хочешь 2-НДФЛ за 2016 год»? Если абонент совсем абонент, то мы отправляем заявку в бухгалтерию.

API абап умеет. Odata тоже умеет. Regex тоже умеет. Вот нам с вами и средство замещения порталов ESS/MSS. Визуализация на UI5, взаимодействие голосом. Сюда добавляем процедуру оценки персонала, утверждение/отказ заявок и … (а тут маленький секрет)…

Любопытным предлагаю погуглить или поЯндексить: https://cloud.google.com/speech/ и https://speechkit.yandex.ru/dev

Ну так, для любопытных: https://tech.yandex.ru/speechkit/cloud/doc/dg/concepts/speechkit-dg-recogn-quick-start-docpage/

Share