Типы RFC в SAP

Remote Function Call (RFC) – стандартный интерфейс связи между SAP системами. RFC функцию можно выполнить в другой системе.

Существует несколько видов RFC функций.

sRFC 

sRFC – синхронные RFC. Данный вид RFC выполняется на принципах синхронной связи. Т.е. целевая система должна быть доступна в данный момент, а система из которой вызывается RFC ожидает выполнения. Применение данных RFC  целесообразно когда требуется получить данные из целевой системы. Например, при работе в ERP требуется чтение данных какой-либо таблицы в HR системе.
ФМ должен иметь тип выполнения – “Дистанционный модуль”.

Читать далее «Типы RFC в SAP»

Дружба ABAP Objects. Получить доступ к приватному атрибуту

Обычно доступ к приватным и защищенным атрибутам объекта запрещен из-за пределов класса. Но порой необходимо нарушить эту концепцию по тем или иным причинам. Для этого в ABAP существует “дружба”.
Класс может предоставить дружбу другим классам и интерфейсам. Этим друзьям предоставляется доступ ко всем компонентам класса, предлагающего дружбу, независимо от их раздела видимости или добавления READ-ONLY.

Пример:

Читать далее «Дружба ABAP Objects. Получить доступ к приватному атрибуту»

Маски в ABAP и SQL

Файловая система Open SQL ABAP
Любое кол-во символов * % *
Один любой символ ? _ +

Давайте рассмотрим примеры поиска
SQL используется оператор LIKE

Внутренние таблицы ABAP используем оператор CP и NP для:
Чтение по маске:

 

Удаление по маске(проверить возможность установить CP NP)
и использовать RANGE

Эскейп символ.

Немного усложним задачу, что если в искомой строке уже будет  специальный
символ. Например, мы хотим выбрать строку “В молоке 30% жирности”
Для этого и существуют дополнение ESCAPE. SAP рекомендует использоать символ “#”

Пример:

Для внутренних таблиц аналогично, но работает без дополнения:

 

Блокировки SAP. Позитивные\Негативные. Пример блокировок

Блокировка – отметка записи в базе данных на время проведения операции(INSERT, UPDATE и т.д.). Служит для предотвращения коллизий при доступе к записи и устанавливается на время операции на уровне БД. SAP для своей системы позволяет создал свою концепцию блокировок, которая позволяет блокировать определенные данные на все время работы транзакции.

Читать далее «Блокировки SAP. Позитивные\Негативные. Пример блокировок»

Виртуальная сортировка внутренней таблицы

В abap 7.52 появилась возможность получить порядок записи внутренней таблицы не меняя исходные данные. Т.е., например, можно  виртуально отсортировать таблицу в import параметре по интересующему нас ключу.
Для этого был добавлен метод VIRTUAL_SORT класса cl_abap_itab_utilities.
Рассмотрим пример:

Читать далее «Виртуальная сортировка внутренней таблицы»

TRY … RETRY, CLEANUP, RESUME

Разберем несколько операторов в блокe TRY… ENDTRY.

Retry –  позволяет выполнить блок TRY  еще раз. Перед  перезапуском блока  необходимо  исправить ситуацию, из-за которой случилась ошибка. В противном случае, попадем в бесконечный цикл.  

RESUME – возобновляемое исключение. Программа возвращается к работе после исключения.

Читать далее «TRY … RETRY, CLEANUP, RESUME»

LOOP AT itab – GROUP BY

Оператор GROUP BY позволяет группировать значения в цикле по ключу. В чем-то это похоже на оператор AT NEW.

Давайте попробуем обработать записи таблицы splfi по уникальным значениям carrid. Для этого пропишем следующий код:

Читать далее «LOOP AT itab – GROUP BY»

Оператор FILTER

ABAP 7.4 вышел уже очень давно, однако, его операторы мало кто использует. Рассмотрим сегодня оператор FILTER который позволяет выбирать данные из одной внутренней таблицы в другую по ключам.
Читать далее «Оператор FILTER»

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

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


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

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

ЛБД PNPCE

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

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

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