RSICFCLTST01 – ABAP REST Client

Продолжаем парад полезняшек. Программа RSICFCLTST01 очень полезна разработчикам, кто пишет сервисы и/или OData/Fiori. Внутри много полезных закладок, утилиток для вызова удаленных сервисов и преобразований.


Одна из самых интересных нот у SAP

Друзья, хочу представить вашему вниманию одну из самых интересных и полезных нот от вендора. Нота посвещена принципам отладки драйвера расчета заработной платы, различным тонкостям. Полезно прочитать бывалым зарплатчикам (я сам большую часть советов не знал), так и всем, кто хоть раз открывал абап или отладчик – есть что почерпнуть.

1818219 – Debugging the payroll Schema

На всякий случай прикладываю PDF версию здесь.

Debugging PY schema

P.S. Спасибо Наталье за эту ценную информацию.

P.S.S. Если непонятно, что написано внутри или есть проблемы с языком, но напишите в комментариях, я переведу.


Управление ABAP кодом в SAP ERP

Транзакция CCAPPS поможет с управлением ABAP кодом в SAP именно для заказчиков. Консультантам обычно наплевать, сделали и ушли, а заказчики остаются с самоваром. Каждый самовар нужно мыть, чистить, полировать. Код, которые вы используете в системе нужно также периодически освежать и протирать тряпочкой. Это поможет безболезненно переходить к новым версиям системы, поможет пересматривать процессы и необходимость самого кода. Наша страна известна большим количеством перевнедрений с нуля просто потому, что старое ворошить оказалось сложно. Проще с нуля.

CCAPPS является кусочком функциональности SAP Solution Manager (SM) для управления исходным кодом в системах. SM умеет многое, особенно в больших и разрозненных ландшафтах, где больше, чем одна классическая линейка DEV-TST-PRD. Например, вы с помощью этой транзакции сможете проанализировать ваш код на совместимость с версией системы, сможете найти двойники, которые лучше вынести в общие функциональные модули или отказаться в пользу стандартных ФМ. Вы сможете посмотреть какой код используется пользователями, а какой просто лежит на полке и просится в мусорку. Подключите сюда ATC (ABAP Test Cockpit), о котором я писал раньше, и получите качественную оценку кода. Подключите Code Inspector и ни одна мышь не проскочит с кривыми наименованиями.

Сейчас работаю на проекте, где этого всего нет. Только начинаю внедрять. И качество софта, который был разработан подрядчиками оставляет желать лучшего. Никаких правил именований, сложные select с join, отсутствие проверок полномочий и стандартных практик из курсов SAP.

А еще вспомните про расхождения в системах по настройкам (SCU3), словарю (не помню транзакцию) и коду (CCAPPS). Регулярное выполнение этих программ позволит избежать существенных расхождений между системами, что позволит производить нормальное копирование систем, сопровождение. Если завести все в SM, то он за вас будет каждую ночь бегать по системам и давать пинков всем и вся, а директорам складывать красивые BI отчеты на стол.

Попробуйте начать управлять кодом в SAP, и ваш ABAP станет гладким и шелковистым.


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

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

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

 


Реализация ABAP Unit test

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

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

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

Читать далее