Моделирование заработной платы из ABAP

Всем привет.

Может быть кому-то понадобится в этой жизни функциональный модуль, который позволяет запускать расчет заработной платы в режиме моделирования. За образец можно взять вот этот HRTO_AU_PAY_PROCESS_SIMULATION. И немного переделать его под Россию.

Мне же модуль понадобился для тестов, о которых я постараюсь написать в ближайшее время. Если вы помните такую тему про eCATT, то наконец-то набралось 100 человек. Как я обещал — за мной пример по настройке в картинках. Или видео лучше?


Разблокирование таблиц SAP

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

Чтобы с этим совладать, в сети была найдена простейшая программа для включения и отключения блокировок. Автор неизвестен.

Разблокирование таблиц SAP

REPORT ZSENQOFF MESSAGE-ID MT.
CALL ‘C_ENQUEUE’ ID ‘OPCODE’ FIELD ‘F’.
CALL ‘C_WRITE_SYSLOG_ENTRY’ ID ‘TYP’ FIELD ‘C’
ID ‘KEY’ FIELD ‘GES’.
MESSAGE S900 WITH ‘Table locking turned off’.

***
REPORT ZSENQON MESSAGE-ID MT.
CALL ‘C_ENQUEUE’ ID ‘OPCODE’ FIELD ‘T’.
CALL ‘C_WRITE_SYSLOG_ENTRY’ ID ‘TYP’ FIELD ‘C’
ID ‘KEY’ FIELD ‘GER’.
MESSAGE S900 WITH ‘Table locking turned on’.

ВНИМАНИЕ

НЕЛЬЗЯ применять в боевом ландшафте. Только в отдельно стоящей системе обучения консультантов!


Устанавливаем соединение с внешним сервером

Привет.

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

В транзакции DBACOCKPIT создаем соединение с внешним сервером к базе данных.

А с помощью такого примера из ноты забираем данные:
EXEC SQL.
CONNECT TO ‘BSK’
ENDEXEC.
EXEC SQL.
SET CONNECTION ‘BSK’
ENDEXEC.
EXEC SQL.
SELECT db_name() INTO :DBN FROM SVERS
ENDEXEC.
WRITE: / ‘current database name’, DBN.
EXEC SQL.
SET CONNECTION DEFAULT
ENDEXEC.
EXEC SQL.
SELECT db_name() INTO :DBN FROM SVERS
ENDEXEC.
WRITE: / ‘current database name’, DBN.

Это обычный Native SQL в ABAP. Пара нот в помощь.

Note 178949 — MSSQL: Database MultiConnect
Note 323151 — Several DB connections with Native SQL


Настройка модели процессов в HR Process Workbench (или о PUST)

Привет.

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

Базовая настройка SAP Workflow

Детально расписывать всю настройку нет смысла, так как она проста. Сначала настраиваем Workflow, так как отдельные элементы процессов его используют. Для этого выполняем все инструкции по ноте Note 133182 — Process Manager: No process is started.  Программа запустилась — система вызывает событие. Программа закончила выполнение — событие. Это позволяет запускать отдельные программы параллельно, а также использовать потоки операций, например, для процедур согласования этапов расчета заработной платы.

Для пользователя работа модели выглядит вот таким симпатичным светофором.

pust_2

Читать далее


Вопрос-ответ 13. Аттестация рабочих мест

Вопрос:
Стоит задача – необходимо вести аттестацию рабочих мест предприятия в HCM (без EH&S). На предприятии работает около 6 тыс. человек. У 99% сотрудников оптимальные и допустимые условия труда (класс 1,2), у остальных опасные (класс 3.1, 3.2).
Идея такая:
– создать для каждой штатной должности объект «рабочее место» (тип объекта А) и связать их через A003/B003.
— для рабочего места создать пользовательский инфотип, в котором хранить дату проведения аттестации, класс и ещё пару характеристик. Закачать данные в новый инфотип.
Инженеру по охране труда дать инструмент для массовой загрузки (для проведения переаттестации каждые 5 лет) и отчёт с возможностью индивидуального ведения характеристик рабочих мест .
У этой идеи есть большой минус – очень большой объём данных придётся контролировать. Пока охрана труда хорохорится и продавливает этот вариант, но через год, думаю запросят пощады.
Кроме того на предприятии есть неприятная особенность в кадровом учёте. Так называемое «фактическое место работы». Сотрудник числится в подразделении, расположенном в одном городе, а фактически работает в другом. Учёт районного коэффициента и северного стажа ведётся по фактическому месту работы (это уже реализовано). Но как быть с рабочими местами, пока не могу придумать. Может в таком случае привязывать новое рабочее место к человеку? И в отчётах читать рабочее место сначала с человека, а потом уже с шт. должности.
Может есть более здравые мысли?

Ответ:

Привет! Сам такое не реализовывал, но сразу появился относительно стандартный вариант решения.

Рабочие места ведем как есть, но классы и характеристики храним в инфотипе 1222. Ничего не нужно разрабатывать. Отчетами SAP Query с помощью дополнительных полей можно строить нормальную аналитику. Или выгружать в BW. Как вариант ввести подтип «Аттестация» и по его сроку действия смотреть кто аттестован, а кто нет.

В случае перемещения человека можно либо в 2003 отражать фактическое рабочее место, либо сделать дополнительную связь в OM и присваивать ее на период работы человека в новых условиях труда.

Немного теории об аттестации рабочих мест. http://www.nkr.ru/attestation/