Путь анализа. Получение объектов по пути анализа.

Продолжаю рассказывать основы разработки в HCM, для разработчиков из других модулей. Недавно зашел в код программы, которую писал не HR абапер, и у меня чуть не случился приступ. Селекты, конечно, красивые...


Вводная информация.
Объект ОМ - это сущность в организационном менеджменте, которая отображает некий объект реального мира или абстракцию. Различаются они типом объектов. Например S - Штатная должность, O - Организационная единица, A -Рабочее место и так далее. Существование объекта означает наличие записи в инфо-типе 1000 в определенном временном периоде. Остальные инфо-типы хранят свойства этого объекта. Исключение Табельный номер, данные объекты являются объектами PA и ведутся немного в других ИТ.

Читать далее «Путь анализа. Получение объектов по пути анализа.»

ЛБД PNPCE

ЛБД PNPCE служит для выбора данных модуля PA и является более новой версией ЛБД PNP c функциями для работы с центральным лицом(CE). На сегодняшний день в 100% случаях используется именно она, даже если работа с CE вам не нужна.
Как и в случае с организационным менеджментом при разработке отчетов для администрирования персонала необходимо использовать ЛБД. Не буду повторятся о необходимости использования, почитайте.

Это не полное руководство, а лишь обзор ЛБД PNPCE

Читать далее «ЛБД PNPCE»

Mesh или немного синтаксического сахара.


Mesh - это специальный тип который представляет собой связанные внутренние таблицы(узлы). Структура в целом похожа на структуру БД.
Mesh появился в ABAP 7.40 бла-бла-бла... Основная проблема в том ,что он не прижился, возможно из-за слабой осведомленности разработчиков, возможно из-за не перспективности подхода. Однако, в некоторых случаях данная концепция ложится довольно хорошо. 

Читать далее «Mesh или немного синтаксического сахара.»

Операторы SWITCH .. COND..

В abap давно уже есть функциональные операторы SWITH и COND которые являются альтернативой CASE и IF соответственно.
Операторы умеют определять возвращаемый тип из контекста. Если это не возможно, необходимо указать его в ручную.
Также возможно использование LET.
Пример с IF:

Заменим на COND:

Пример с CASE:

Замена на SWITH:

Пример использования cond

 

boolc и xsdbool ABAP

В abap 7.40 появились новые логические функции boolc() и xsdbool() они определяют истинность логического выражения в аргументе boolc( логическое выражение )/ xsdbool ( логическое выражение ).
Отличаются тем, что boolc( ) имеет тип данных "С" в качестве возвращаемого параметра, а xsdbool() возвращает тип abap_bool.

Пример:

Тоже самое с использованием xsdbool():

Еще удобно можно передавать  результат на вход метода.

 

 

 

Создать RANGE в словаре ABAP

Для создания типа таблицы диапазонов выполним следующую последовательность действий:
1. Перейти в транзакцию se11
2. Вводим название нового типа

Читать далее «Создать RANGE в словаре ABAP»

ABAP редактор. Выделение блока кода ALT + left mouse

В в редакторе кода есть очень удобный метод выделения и последующего копирования\вставки\удаления куска кода. Зажимаем alt + левая кнопка мыши и выделяем что надо. Надо обратить внимание, что последующая вставка не добавляет новые строки, а также вставляет вырезанный код блоком.




ABAP сохранение файла в папку на сервере

Небольшой пример:

 

cl_gui_alv_grid средство поиска

Если нам необходимо средство поиска для cl_gui_alv_grid и нас не устраивает средство поиска, которое мы можем задать при создании каталога полей, мы можем использовать событие onf4

Порядок действия при этом следующий:

Читать далее «cl_gui_alv_grid средство поиска»

ABAP Расширение стандартного класса

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

Читать далее «ABAP Расширение стандартного класса»