Чтение результатов расчёта

Один из основных моментов в модуле HCM - расчёт заработной платы. Все данные расчета лежат в кластерах PCL1 и PCL2, который читаю специальными ФМ-ми. За редким исключением, когда произведена декластеризация ( На практике видел такое только в одной системе, поэтому опустим этот вид доступа к данным расчета).

Расчет ЗП для человека можно посмотреть в транзакции PC_PAYRESULT. Поскольку данная заметка предназначена больше для разработчиков, чем для консультантов, подробно описывать все таблицы не буду.


Читать далее «Чтение результатов расчёта»

Убрать двойные полосы прокрутки у АЛВ

При создании экрана может произойти задвоение полос прокрутки. Или же наоборот, целевая область будет непропорционально мала.

Для примера создадим экран следующего вида:

При этом если ваш монитор мал, можно увидеть следующую ситуацию:

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

Читать далее «Убрать двойные полосы прокрутки у АЛВ»

ZWWW новая строка внутри ячейки EXCEL

Для переноса строки внутри WORD используются CL_ABAP_CHAR_UTILITIES=>NEWLINE или СL_ABAP_CHAR_UTILITIES=>CR_LF. При попытке использовать это в EXCEL не приносят результата (по крайней мере в тех версиях ZWWW, что встречались мне в последнее время).

Одним из вариантов решения может стать макрос VBA, который заменит некую нашу метку на символ переноса строки:

Читать далее «ZWWW новая строка внутри ячейки EXCEL»

Длинные строки в Business Application Log (BAL)

Business Application Log (BAL) позволяет сохранять не только короткие сообщения, но и сообщения произвольной длины. Рассмотрим на примере сохранения информации об авиакомпании.

Создание сообщения

1. Открываем se91 и создаем сообщение как обычно;
2. Возможно, вам хватит обычного подробного описания, как в некоторых видах ошибок. В таком случае снимаем галку "Самообъясняемый" и нажимаем кнопку "Подробный текст";

Читать далее «Длинные строки в Business Application Log (BAL)»

Хранение файлов в MIME репозитории

Для хранения файлов в SAP используется mime репозиторий.  Работать с репозиторием осуществляется в транзакции se80. 

Первым делом создадим папку, в которой планируем хранить файлы.



Читать далее «Хранение файлов в MIME репозитории»

Вывод таблицы WEB UI CRM

Создадим в CRM окно следующего вида:

Часть информации рассматривалась ранее. И будет опущена, чтобы не дублировать.

Читать далее «Вывод таблицы WEB UI CRM»

Выполнить команду операционной системы.

Средствами ABAP выполнить команду непосредственно в командной строке операционной системы. Оговорюсь сразу, данный подход это совсем уж крайняя мера, безопасность может быть под вопросом. Однако, порой есть определенная необходимость.
Для работы с командной строкой можно использовать программу RSBDCOS0. Это прям классическая консоль ОС. Вводим команду, нажимаем "enter", получаем результат.
Пример с получением списка файлов в каталоге:

Читать далее «Выполнить команду операционной системы.»

Типы RFC в SAP

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

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

sRFC 

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

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

Добавить новую плитку в Fiori Launchpad

Задача:
Добавить новую плитку в Fiori Launchpad для имеющегося приложения UI5.

Шаги настройки:
1. Создание семантического объекта.
В транзакции /UI2/SEMOBJ добавить новую запись(семантический объект).
(Имя выбираете произвольно)

Читать далее «Добавить новую плитку в Fiori Launchpad»

Process Management API. Массовое изменение документов Solution

Насколько мне известно, SolDoc  не позволяет массово изменять документы. Однако, существует API, представляющее собой oData сервис, которое позволяет производить данные операции.
API предоставляет возможность использовать все основные операции(чтение, изменение, вставка и т.д. ).
Более подробно можно почитать на оф сайте:
API
Описание формата обмена

Также есть ссылки на два блога, которые работают с данным API на Python. Это не всем подходит, т.к. не всегда возможно запускать скрипты в сетях с продуктивной системой. Если у вас такой проблемы нет, можете использовать решения представленные в данных блогах, это будет даже удобнее.
https://blogs.sap.com/2020/05/04/mass-updating-solution-documentation-via-the-process-management-api/

https://blogs.sap.com/2020/02/28/process-management-api-in-sap-solution-manager/

Предлагаю  реализовать тоже самое на ABAP.
Читать далее «Process Management API. Массовое изменение документов Solution»