Unit test

И не говорите мне, что я зануда.

Дело было так. Я когда-то уже вещал вам про TDD методологию, а сегодня решил на практике попробовать как оно работает в SAP. Сделал простой OData сервис, его и решил протестировать автоматизированно.

А теперь я хочу его автоматизированно тестировать. Ранее я рассказывал про sECATT. Сегодня поговорим про Unit тестирование. Это такая штука, которая программируется на языке программирования ABAP и позволяет проверять логику работы _внутри_ программы. То есть, она не имитирует работу пользователя, а проверяет внутренние процедуры, методы, функции на ожидаемый результат. Например, всегда должно сохранять данные с корректным форматом, никогда нельзя сохранять данные с некорректным форматом. Делаем для этого два метода — тест на положительный результат и тест на отрицательный результат.
Читать далее

Share

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

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

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

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

Читать далее

Share

Зачем нам HANA?

Убил полночи на поиск материалов от САП, где бы внятно было сказано зачем HCM нужна HANA. Другая архитектура — здорово, в 3600 раз ускорение правильных отчетов — офигенно. HR тут при чем? Где мы оперируем такими данными, чтобы можно было увидеть и отличить вжик от вжииик? Вендор молчит, придется самим разбираться.

Помните, раньше было модно писать хранимые процедурки на серверах баз данных? Оракл и Микрософт говорили, что для оптимизации, ускорения, инкапсуляции нужно писать логику на стороне сервера баз данных. Он же быстрый, не то что ваши приложухи на делфи и си билдере. Потом цены падали, мощности расли, и мир решил, что больше можно не мелочиться — понесли рожать горе-разработчиков, у которых «Hello world» весил десятки мегабайт. Оптимизация — не, кто здесь? Грусть и печалька. И тут САП расправляет плечи, говорит, что в SyBase в 1999 было колоночное хранилище данных, и вообще их система стала такой крутой, что надо опять бизнес-логику на базы повесить.

И теперь мы подбираемся к любопытной загадке — а какие же такие большие данные нужно обрабатывать в HCM, чтобы получить ценность от Ханы? Какая разница за 5 часов или 10 минут посчитается заработная плата, если она запускается в ночь? Отчет по ФСС считается 5 минут или 5 секунд? Лишнее время на кофе и никакой ценности.

Читать далее

Share

Посоветуйте книгу

Друзья, я засел за вторую книгу по SAP HCM. Мне нужна ваша помощь. Уверен, что среди моих читателей много программистов, и явно должны быть архитекторы в области IT, а не SAP.

Разрабатываю приложение на фиори, а также мой опыт разных стартапов говорит о том, что мне не хватает знаний в области проектирования сложных информационных систем. Приведу банальный пример — есть в REST наименование методов CRUD (Create, Read, Update, Delete). Есть модель, мне нужно изменить ее состояние — все просто, обычный метод PUT. А если мне нужно утвердить ее, согласовать, направить дальше по маршруту — действия, которые в моей голове не складываются в CRUD, то как быть? Как правильно спроектировать взаимодействие моделей в объектно-ориентированном программировании, чтобы их связи были логичными? На бумажке рисовать пробовал, Mind-карты пробовал, Rational Rose тоже старье 🙂

Дайте хороших советов, линков для самообразования.

Share

Advanced LSMW

Вы себе не представляете, что я только что узнал!

Это банальный экран банального LSMW проекта. Тоска и унынее. А если нажать на кнопочку Layout, открыжить все крыжики, а потом два раза кликнуть…

Читать далее

Share