SQ01 Устаревший инфо-запрос

После редактирования инфо-набора, инфо-запрос при попытке редактирования может выдавать сообщение - "Разница между запросом и инфо-набором". А при попытке изменения произойдет дамп "Exception condition "NOT_FOUND" triggered"

Читать далее «SQ01 Устаревший инфо-запрос»

ЛБД PNPCE

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

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

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

ЛБД PCH

Для разработчиков, не знакомых с HCM, будет полезным узнать подходе к разработке, основанном на логических базах данных.
Если кратко, то ЛБД позволяет извлекать типовые данные HCM, не используя SELECT и даже FM-ы для чтения. Они, конечно, используются в глубине логики ЛБД, но скрыты от разработчика.
Небольшая оговорка для не HCM программистов - когда вы используете для доступа к инфо-типам SELECT, в 99% случаях вы делаете не правильно. Бегом читать курс HR350. Модуль HCM работает с персональными данными людей, данная информация всегда жестко защищена законодательством и несанкционированный доступ к ней карается. Если вы не используете ЛБД или специализированные ФМ-мы необходимо проверять полномочия отдельно.
Кроме того, ЛБД создает экран программы(рис 1.), который удовлетворяет большинство потребностей HCM приложений. Будем честны, как правило, они не так уж и сложны. При этом экран можно настраивать.
Разберем создание отчета на базе ЛБД PCH, данная ЛБД используется для доступа к данным организационного менеджмента, т.к. очень хорошо работает с организационной структурой.

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

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


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

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

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

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

Заменим на COND:

Пример с CASE:

Замена на SWITH:

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

 

Coding Challenge

The site was offered a task.


Challenge Directions:

Start with this line of code as the first line in your application. Requirement: make sure to cut and paste this line of code and NOT type it.

Using the value in the variable sentence, programmatically determine the number of words in this variable and then count the number of UNIQUE letters in each word.

Your output should look like this:

 

My result 6 rows.
Answer:

Читать далее «Coding Challenge»

boolc и xsdbool ABAP

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

Пример:

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

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