Персонализация в SAP

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

Внимательные САПеры и САПерки видел в транзакциях SU01, PFCG закладку «Personalization», где перечислены куча строчек и нельзя что-то изменить. Оказывается, это объекты персонализации, которые можно самому разрабатывать, использовать в своих программах. Суть объекта персонализации состоит в том, чтобы на уровне роли или конкретного пользователя сохранить особенные значения (персонализацию), которые влияют на интерфейс. Например, настройки табличек, настройки экрана, настройки взаимодействия, значения по-умолчанию. Особая прелесть этих объектов заключается в том, что можно на уровне роли присвоить значение объекта, и оно унаследуется по-умолчанию всем присвоенным к роли пользователям.

Например, если в роли создать объект Assign user group to SAP Query SAP_QUERY_USERGROUP, а в нем указать группу пользователей SAP Query, то всем пользователям присвоится эта группа и отчеты, к ней привязанные. Если присмотреться к уже созданным объектам, то технологией начали пользоваться совсем недавно (хотя сама она достаточно давно появилась в системе), в новых компонентах.

Создать свой объект можно в транзакции PERSREG. Информация о персонализации может храниться в различных видах: строка, таблица, структура — очень удобно. Для работы в своих программах с объектами персонализации используется класс CL_PERS_ADMIN и его методы.

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


Будущее ABAP

Я вам еще не надоел своими умозаключениями насчет будущего?

ABAP для HANA становится другим. Скажем так, совсем другим. Большинство исходных кодов системы написано процедурным языком программирования, когда вся логика зашита в маленьких кусочках кода — процедурах и функциях. Никакого наследования, полиморфизма, инкапсуляции. Раньше так на ассемблере программировали.

С течением времени появляется объектно-ориентированное программирование (ООП). Это классы, интерфейсы, объекты. Решается много проблем процедурного программирования, но многие программисты «старой закалки» не переходят на ООП. Почему? Потому что редко нужно писать свои интерфейсы, а чаще дорабатывать и отчеты рисовать. Да и на процедурках проще, хоть и одноразово.

САП начал смотреть по сторонам, что мы наглядно видим в облачных решениях, UI. Я только что закончил читать статью про ABAP for HANA (http://scn.sap.com/community/abap/eclipse/blog/2014/02/04/new-data-modeling-features-in-abap-for-hana). Дело все в современном подходе к разработке веб-решений. Еще в 2012 году, когда я сел изучать Ruby On Rails, я столкнулся с понятием аннотации. Позже в фреймворке Symfony на PhP тоже самое для ORM моделей. Что такое аннотация? Это набор ключевых слов, параметров, которые определяют работу модели данных. Например, как модель нужно сохранить в базе данных, как модель нужно маршрутизировать (роутинг), как обеспечить целостность модели, как визуализировать модель и так далее.

Читать далее


Моделирование заработной платы из ABAP

Всем привет.

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

Мне же модуль понадобился для тестов, о которых я постараюсь написать в ближайшее время. Если вы помните такую тему про eCATT, то наконец-то набралось 100 человек. Как я обещал — за мной пример по настройке в картинках. Или видео лучше?


Разъединенные инфотипы в SAP HCM

Давно приметил в SPRO веточку в меню про Decoupled infotypes. Открывал несколько лет назад, закрывал, опять открывал.. и опять закрывал. Сложно все как-то. На днях решил по-изучать это дело.

Основные тезисы, которые я пока почерпнул из хелпа:

  • PA20/30 работает как с новой технологией, так и со старой. Транзакция PM01 умеет создавать инфотипы в обеих технологиях, как и мигрировать старые инфотипы в новые.
  • Основное преимущество заключается в том, что разъединенные инфотипы больше похожи на классическую модель программирования MVC (Model — View — Controller), то дает программистам больше гибкости. Для пользователей это означает более быстрая работа, возможность вводить данные для нескольких инфотипов на одном экране, новые визуальные элементы управления.
  • Отдельные сервисы ESS/MSS уже не работают со старыми инфотипами. Надо мигрировать. Концептуально САПом предлагается мигрировать все подряд.

 


Выгружаем многостраничный PDF спул

Всем привет!

Сегодня день ABAP. Понадобилось мне выгрузить многостраничый запрос в спул в формате PDF. Не нашел ни одного стандартного решения для этого, поэтому пришлось тряхнуть стариной и написать минипрограммку. Суть простая. Вот такой спул выгружается в виде отдельных PDF файлов в указанный каталог. Никаких проверок внутри нет, так что используем на свой страх и риск. Мне оно надо только раз в год, поэтому приспичило и пришлось нарисовать. За красоту кода ругать бессмысленно 🙂

multi_pages_spool

Читать далее