Unit test

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

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

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

EvernoteGoogle GmailGoogle+Google BookmarksEmailLinkedInFacebookRedditShare

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

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

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

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

Читать далее

EvernoteGoogle GmailGoogle+Google BookmarksEmailLinkedInFacebookRedditShare

Зачем нам HANA?

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

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

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

Читать далее

EvernoteGoogle GmailGoogle+Google BookmarksEmailLinkedInFacebookRedditShare

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

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

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

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

EvernoteGoogle GmailGoogle+Google BookmarksEmailLinkedInFacebookRedditShare

Advanced LSMW

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

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

Читать далее

EvernoteGoogle GmailGoogle+Google BookmarksEmailLinkedInFacebookRedditShare