Как создавать свои правила в расчете заработной платы SAP HCM PY.

Введение

В процессе внедрения системы SAP HCM (далее Системы), а также в ходе промышленной эксплуатации Системы, возникают задачи по доработке существующих процессов расчета заработной платы или процессов оценки времени. Для решения большинства таких задач необходимо создать или внести корректировки в так называемые правила расчета заработной платы или правила оценки времени.

В данной статье мы рассмотрим основные подходы по работе с правилами расчета заработной платы. Статья будет полезна консультантам, которые планируют принимать участие во внедрении Системы, а также заниматься поддержкой расчета заработной платы в Системе в ходе промышленной эксплуатации.

Сценарий

Для сотрудников, работающих на предприятии, вводится надбавка, вид оплаты «5000» - «Надбавка за сложность», которая должна рассчитываться согласно следующим условиям:

  1. Если сотрудники работают в разделе персонала «1000» - «Центральный офис», и группы сотрудников равны «20» - «Специалисты (оклад)» и «30» - «Специалисты (час)», то надбавка составляет 20% от оклада/часовой ставки;

  2. Если сотрудники работают в разделе персонала «1001» - «Дополнительный офис "Тула"», и группы сотрудников равны «20» - «Специалисты (оклад)» и «30» - «Специалисты (час)», то надбавка составляет 10% от оклада/часовой ставки;

  3. Если сотрудники работают в разделах персонала и/или на категориях, не перечисленных выше, то им надбавка не положена.

Рассмотрим основную концепцию процесса расчета заработной платы, инструменты и элементы настройки процесса расчета, и в завершении статьи решим задачу, поставленную в данном сценарии.

Основная концепция процесса расчета заработной платы

Расчет заработной платы в Системе осуществляется при помощи программы «Драйвер расчета заработной платы». Техническое имя программы для России «HRUCALC0», транзакция для запуска «PC00_M33_CALC». Фрагмент программы «HRUCALC0»:

HRUCALC0 драйвер расчета

Рисунок 1. Драйвер расчета HRUCALCO.

Для расчета начислений и удержаний, согласно требований законодательства и локальных требований Клиента, драйвер расчета использует схему расчета. В стандартной поставке существует схема расчета «RUS0», на основании которой мы создаём свою (пользовательскую) схему. В нашем случае имя этой схемы «=US0». Фрагмент схемы «=US0»:

РИС_2_Сxема расчета зп =us0

Рисонок 2. Сxема расчета зп =US0.

Схема расчета состоит из определенного набора функций. Функции это ключевые слова, по которым драйвер расчета запускает соответствующие программы на внутреннем языке программирования (АВАР). Функции отвечают за выполнение различных действий. Приведем для нашей статьи две ключевые функции и объясним их назначение:

  1. Функция COPY. Отвечает за вызов подсхем;

  2. Функция PIT. Отвечает за вызов правил расчета.

Пример вызова подсхемы «RUT1» функцией «COPY», и правила «RU20» функцией «PIT» в схеме расчета «=US0»:

РИС_3_Пример вызова подсхемы и правила

Рисунок 3. Пример вызова подсхемы и правила.

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

РИС_4_Правило RU20

Рисунок 4. Фрагмент правила «RU20» в графическом редакторе.

Операция по аналогии с функцией – некое ключевое слово, по которому драйвер расчета запускает соответствующую программу на внутреннем языке программирования (АВАР). 

Фрагмент операции «ADDWT»

Рисунок 5. Фрагмент операции «ADDWT».

Результаты расчета записываются в таблицу называемую кластером расчета (кластер это объединение таблиц). Приведем пример сохранённого расчета.

Сначала идет «верхний уровень кластера», он же – период расчета:

РИС_6_Кластер расчета начальный уровень

Рисунок 6. Кластер расчета начальный уровень.

Далее «второй уровень кластера», он же – список таблиц конкретного расчета:

РИС_7_Кластер расчета второй уровень

Рисунок 7. Второй уровень кластера.

И «третий уровень кластера», он же – содержимое конкретной таблицы. В содержимом таблицы мы уже можем наблюдать рассчитанные виды оплаты (начисления, удержания и так далее). Фрагмент таблицы результатов «RT» (Result Table):

РИС_8_Кластер расчета третий уровень

Рисунок 8. Третий уровень кластера.

 Схематически вышеописанный процесс выглядит следующим образом:

РИС_9_процесс расчета заработной платы SAP HCM PY

Рисунок 9. Процесс расчета заработной платы SAP HCM PY.

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

 

 

Обзор инструментов: редактор схем и редактор правил

Для работы со схемами/подсхемами и правилами в Системе существуют специальные инструменты. Рассмотрим их основные возможности для дальнейшего использования.

Редактор схем.

Для создания, изменения и удаления схем/подсхем в Системе используется редактор схем. Запуск редактора схем осуществляется при помощи транзакции PE01. После запуска транзакции мы видим экран:

РИС_10_Редактор схем PE01.

Рисунок 10. Редактор схем.

Если нам необходимо создать схему/подсхему «с нуля», то необходимо воспользоваться кнопкой «Создать». Если нам необходимо внести корректировки в схему/подсхему, то необходимо воспользоваться кнопкой «Изменить».

Подсказка. Для создания новых схем/подсхем используйте существующие схемы/подсхемы как образец, а затем воспользуйтесь кнопкой «Скопировать».

 

При создании схем/подсхем необходимо корректно заполнять атрибуты:

Рис_11_Редактор схем, свойства атрибутов.

Рисунок 11. Редактор схем, свойства атрибутов.

Для схем/подсхем расчета заработной платы мы должны указывать значение «С» в атрибуте «Класс программ», а также значение «33» в атрибуте «Группировка стран»:

Рисунок 12. Редактор схем, свойства атрибутов при копировании.

Рисунок 12. Редактор схем, свойства атрибутов при копировании.

Атрибут «Схема выполнима» отвечает за определение факта: является ли наш объект схемой или подсхемой. В случае если этот атрибут отмечен, то это схема, если атрибут не отмечен, то это подсхема. Основное различие схем и подсхем заключается в том, что драйвер расчета может запускать только схему, а в схемы мы можем включать только подсхемы.

Пример атрибутов схемы «=US0» и подсхемы «RUT1»:

Рисунок 13. Пример атрибутов схемы «=US0» и подсхемы «RUT1».

Попытка запустить расчет с использованием подсхемы «RUT1»:

РИС_14_Ошибка при запуске схемы в драйвере расчета

Рисунок 14. Ошибка при запуске схемы в драйвере расчета.

Как говорится в справке, список выполнимых схем (те схемы, у которых стоит соответствующая «галочка» в Атрибутах) можно посмотреть по нажатию на кнопку «F4», либо на пиктограмму, как показано на рисунке ниже. Это кнопка вызывает и показывает список возможных значений для поля:

РИС_15_Допустимые схемы в драйвере расчета

Рисунок 15. Допустимые схемы в драйвере расчета.

Подсказка. Схемы, предназначенные для корректировки записей кластера (прошлые расчеты), также должны иметь отмеченный атрибут «Схема выполнима».

 

Редактор правил.

Для создания, изменения и удаления правил расчета заработной платы (далее правила) в Системе используется редактор правил. Запуск редактора правил осуществляется при помощи транзакции PE02. После запуска транзакции мы видим экран:

РИС_16_ Редактор правил транзакция PE02.

Рисунок 16. Копирование правила, транзакция PE02.

Если нам необходимо создать правило «с нуля», то необходимо воспользоваться кнопкой «Создать». Если нам необходимо внести корректировки в правило, то необходимо воспользоваться кнопкой «Изменить».

Подсказка. Для создания новых правил используйте существующие правила как образец, а затем воспользуйтесь кнопкой «Скопировать».

 

При создании правил необходимо корректно заполнять атрибуты:

РИС_17_ Копирование правил в  PE02.

Рисунок 17. Копирование правил в транзакции PE02.

Для правил расчета заработной платы мы должны указывать значение «С» в атрибуте «Класс программ», а также значение «*» или «33» в атрибуте «Группировка стран»:

РИС_18_ Копирование правил в  PE02, атрибуты

Рисунок 18. Копирование правил в  PE02, атрибуты.

Ключевым моментом при создании правила является определение:

  • группировки категории сотрудника;

  • зависимость работы правила от вида оплаты.

Рис 19_Копирование правил в транзакции PE02, исходный текст

Рисунок 19. Копирование правил в транзакции PE02, исходный текст.

В Системе для разных категорий сотрудников можно определять различные группировки. В их числе присутствуют группировки для правил расчета заработной платы. В стандартной поставке приняты следующие группировки: «1» - «Почасовая оплата», «3» - «Оклад». Использование данной группировки в правилах позволяет обрабатывать начисления и удержания по разному для разных категорий сотрудников. Также при создании правила, мы можем заложить возможность выполнять действия по каким-то конкретным видам оплаты.

Подсказка. Для создания правил, которые работают независимо от группировки категорий сотрудников, а также по всем видам оплаты, необходимо в соответствующих полах указывать значения «*» и «****».

 

Порядок вызова правил

Как говорилось ранее, правила вызываются в схеме при помощи функций. На картинке ниже представлены возможные варианты вызовы правила при помощи функции «PIT»:

Рис 20_Параметры вызова функции PIT

Рисунок 20. Параметры вызова функции PIT.

Примеры вызова правил в Системе, в зависимости от группировок и видов оплаты.

Примеры вызова правил в Системе, в зависимости от группировок и видов оплаты.

Рисунок 21. Примеры вызова правил в Системе.

 

Подсказка. Если требуется внести изменение в работу стандартного правила необходимо сначала скопировать стандартное правило в своё, затем в новое правило внести корректировку, а после этого заменить вызов стандартного правила в схеме на вызов своего правила. В дальнейшем этот подход облегчит вам процесс поддержки Системы.

 

 

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

 

 

Ключевые элементы вида оплаты

При проектировании правил, помимо определения группировки категорий сотрудников и зависимости от вида оплаты, необходимо помнить о ключевых элементах вида оплаты:

Рисунок 22 Ключевые элементы вида оплаты

Рисунок 22 Ключевые элементы вида оплаты.

В большинстве случаев работа нашего правила будет сводиться к работе с тремя ключевыми элементами вида оплаты: сумма за единицу, он же ставка (RTE), количество (NUM) и сумма (AMT).

Примечание. Подробную информацию о работе с видами оплаты (настройка и использование) вы можете узнать на наших курсах.

 

Приведём список основных операций, использующихся для работы с ключевыми элементами вида оплаты:

Имя операции

Назначение

RTE

Вычисление, изменение или чтение значения в элементе RTE.

NUM

Вычисление, изменение или чтение значения в элементе NUM.

AMT

Вычисление, изменение или чтение значения в элементе AMT.

MULTI

Умножает значения двух элементов и помещает результат вычисления в указанный элемент. Например, MULTI ANA означает, что мы умножаем значение элемента AMT на значение элемента NUM и результат вычисления помещаем в элемент AMT.

DIVID

Делит значения двух элементов и помещает результат вычисления в указанный элемент. Например, DIVID NRA означает, что мы делим значение элемента NUM на значение элемента RTE и результат вычисления помещаем в элемент AMT.

ZERO=

Инициализирует указанные элементы. Например, ZERO=NRA означает, что мы инициализируем (обнуляем) значения элементов NUM, RTE и AMT.

 

Подсказка. Операции, существующие в Системе, можно посмотреть в транзакции PE04.

 

 

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

 

 

Вызов правила в схеме

После того, как мы определились с группировками категорий сотрудника, учли зависимость работы правила от вида оплаты, и решили - с какими элементами вида оплаты мы будем работать, нам необходимо определить в схеме место вызова нашего правила.

Приведём список вопросов, ответы на которые позволят нам определить место в схеме, где мы будем вызывать наше правило:

  1. Правило работает на основе вида оплаты, который приходит из инфотипов: «0008», «0014», «0015» или других?

  2. Правило само порождает вид оплаты, без использования других видов оплаты?

  3. Правило использует вспомогательный вид оплаты из внутренней таблицы «IT»?

  4. Правило использует вспомогательный, окончательно рассчитанный вид оплаты из таблицы «RT»?

  5. Вид оплаты, обрабатываемый/порождаемый нашим правилом должен участвовать в расчете налогов?

  6. Вид оплаты, обрабатываемый/порождаемый нашим правилом должен участвовать в расчете видов оплат по среднему заработку (отпуск, больничный, командировка)?

  7. Вид оплаты, обрабатываемый/порождаемый нашим правилом должен участвовать в расчете других видов оплат (если да, то каких)?

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

Процесс создания и использования правила

Рассмотрим процесс создания и использования правила расчета заработной платы. Все действия по правилам будем производить в так называемом «графическом режиме». Информацию по работе в «табличном режиме» вы можете узнать на наших курсах.

Запускаем транзакцию «РЕ02», вводим имя правила «=RUL» и нажимаем кнопку «Создать»:

РИС_23_Создание правила

Рисунок 23. Создание правила.

На появившемся экране вводим название нашего правила, атрибуты:

РИС_24_Создание правила атрибуты

Рисунок 24.Создание правила - атрибуты.

И нажимаем кнопку «Сохранить»:

РИС_25. Сохранение правила.

Рисунок 25. Сохранение правила.

После того как правило сохранено (создано), можем приступить к его редактированию. Нажимаем кнопку «Изменить»:

РИС_26. Изменение правила

Рисунок 26. Изменение правила.

Попадаем в редактор ведения правила. Ставим курсор на название правила и нажимаем кнопку «Создать»:

РИС_27. Редактор ведения правила

Рисунок 27. Редактор ведения правила.

В появившемся поле вводим значение группировки категорий сотрудников для правил расчета. В нашем случае мы не будем разделять обработку по группировке категорий сотрудников, и поэтому введем значение «*»:

РИС_28_Создание правила_ГК

Рисунок 28. Создание правила, обработка группировок категорий персонала  

После ввода необходимо нажать клавишу «Enter». Система автоматически предложит еще поле для ввода:

РИС_29_Ввод правила

Рисунок 29. Ввод возможной группировки категорий сотрудников в правиле .

Если бы мы разделяли работу правила по группировкам категорий сотрудников, то мы бы воспользовались предложением Системы и ввели значение. Но так как нам это не нужно, нажимаем еще раз клавишу «Enter» и поле для ввода пропадает:

РИС_30. Создание правил без разделения по группировкам категорий сотрудников

Рисунок 30. Создание правил без разделения по группировкам категорий сотрудников.

Следующим шагом нам необходимо ввести вторую группировку – по видам оплаты. Для этого ставим курсор на введённую нами «*» и нажимаем кнопку «Создать». А на появившийся вопрос Системы необходимо ответить «Подчиненный уровень»:

Рисунок 31. Создание подчиненного уровня в правиле.

В результате у нас появится новое поле для ввода значений. В нашем случае мы его используем для ввода и последующего анализа видов оплаты «0001» - «Оклад» и «0002» - «Часовая оплата»:

РИС_32. Создание правила, обработка по окладам

Рисунок 32. Создание правила, обработка по окладам.

Повторяем манипуляции с курсором и кнопкой «Создать», как описано выше. Теперь для любой группировки категорий сотрудников, и для видов оплаты «0001» - «Оклад» и «0002» - «Часовая оплата», нам необходимо написать обработку. Далее приведём пример написанного правила:

Рисунок 33. Создание правила =RUL

Рисунок 33. Создание правила =RUL

Пояснения к использованным операциям:

Имя операции

Назначение

OUTWPPLANT

Запрос значения Раздела Персонала. Следующий подуровень – анализ этого значения.

OUTWPPERSB

Запрос значения Категории Сотрудника. Следующий подуровень – анализ этого значения.

WGTYP=5000

Замена кода текущего вида оплаты (в нашем случае или «0001» или «0002») на код вид оплаты «5000»

AMT*0.2

Вычисление требуемого процента от оклада/часовой оплаты

WGTYP=*

Восстановление кода вида оплаты. В нашем случае или «0001» или «0002».

AMT=*

Восстановление значения в поле сумма для текущего вида оплаты. В нашем случае для вида оплаты «0001» или «0002».

ADDWT *

Сохранение выполненных расчетов в таблицу

 

Далее добавляем вызов нашего правила:

РИС_34. Вызов правила из схемы

Рисунок 34. Вызов правила из схемы.

Результаты работы правила

В качестве результатов приведем расчетные листы по сотрудникам, которые удовлетворяют условиям, описанным в сценарии.

Условие №1. Сотрудники работают в разделе персонала «1000» - «Центральный офис», и группы сотрудников равны «20» - «Специалисты (оклад)» и «30» - «Специалисты (час)». Надбавка должна составлять 20% от оклада/часовой ставки:

РИС_35_Расчетный лист, условие 1. Окладник

Рисунок 35.Расчетный лист, условие 1 - Окладник.

РИС_36.Расчетный лист, условие 1 - Почасовик.

Рисунок 36.Расчетный лист, условие 1 - Почасовик.

Условие №2. Сотрудники работают в разделе персонала «1001» - «Дополнительный офис "Тула"», и группы сотрудников равны «20» - «Специалисты (оклад)» и «30» - «Специалисты (час)». Надбавка должна составлять 10% от оклада/часовой ставки:

Рисунок 37.Расчетный лист, условие 2 - Окладник

Рисунок 37.Расчетный лист, условие 2 - Окладник.

Рисунок 38.Расчетный лист, условие 2 - Почасовик.

Рисунок 38.Расчетный лист, условие 2 - Почасовик.

Условие №3. Сотрудники работают в разделах персонала и/или на категориях, не перечисленных выше. Надбавка не положена:

Рисунок 39.Расчетный лист, условие 3 - Окладник.

Рисунок 39.Расчетный лист, условие 3 - Окладник.

Рисунок 40.Расчетный лист, условие 3 - Почасовик.

Рисунок 40.Расчетный лист, условие 3 - Почасовик.

 

Пример вызова правила в журнале расчета:

РИС_41. Вызов правила в журнале расчета

Рисунок 41. Вызов правила в журнале расчета.

Пример работы правила по условиям, где надбавка положена:

Рисунок 42. Пример правила, где положена надбавка

Рисунок 42. Пример правила, где положена надбавка.

 

Пример работы правила по условиям, где надбавка не положена:

Рисунок 43. Пример правила, где не положена надбавка.

Рисунок 43. Пример правила, где не положена надбавка.

Заключение

В данной статье мы с вами познакомились с организацией процесса расчета заработной платы в системе SAP HCM, с основными инструментами настройки процесса расчета, а также на конкретном примере реализовали бизнес-требование по расчету надбавки за сложность.

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

 

Оцените статью:

4.95/5 - 19 оценок
Связаться с нами