Планирование выполнения пакетного ввода в фоне

Да, эта зараза SAP тоже так умеет. Программа
RSBDCSUB. Планируете ее запуск по расписанию, внутри указываем какой сеанс нужно выполнить из SM35.


SAP HR. Книга вторая. Схема TM04

Кусочек материала из второй книги по SAP HR от Витальки Поцелуева. Построчное описание схемы TM04. Остальное в книжке 🙂

Команды схемы Описание от автора
BINI MOD TMON GEN      EINI Блок инициализации, который запускается один раз для сотрудника и устанавливает управляющие параметры в правиле TMON. Обычно здесь определяются группировки для генерации лимитов отсутствий, видов оплаты.
BDAY Начало блока обработки данных дня. Запускается для всех сотрудников на каждый календарный день.
CHECK          PON                  Устанавливает глобальный флаг PON (Positive Or Negative). Обрабатывать табельные номера, у которых статус временных данных не равен 0.
CHECK          RPR                  Устанавливает глобальный флаг RPR (Recalculation PayRoll). Если в зарплате возник перерасчет, то оценка времени также будет перезапущена с даты перерасчета заработной платы
CHECK          FUT                  Устанавливает глобальный флаг FUT (FUTure). Разрешает запускать оценку времени в будущее, в космос. Удобно, если нужно использовать прогнозируемые данные для бюджета.
BLOCK     BEG                     Команда BLOCK логически группирует команды, чтобы визуально выделить блоки в журнале оценки времени.
IF                  POS           IF = условие «ЕСЛИ». POS – позитивный учет (статус временных данных = 1 или 2). Если сотрудник на позитивном учете, то обрабатывать все что внутри этого блока команд.
IF           NOT  SIMF            NOT SIMF – не режим моделирования (галочка тест снята при запуске драйвера). Если запуск в боевом режиме, то выполнить команды ниже.
PERT  TD20 Загрузить ошибки по отметкам временных данных, если такие есть
P2011 Загрузить сам отметки из инфотипа 2011. На самом деле отметки хранятся в таблице TEVEN, а таблицы PA2011 согласно стандартной кодировки не сущестует.
ACTIO TD10 ACTIO – функция, запускающее правило из ее параметра на выполнение. При этом правило выполняется только один раз независимо от временных данных. Правило TD10 проверяет, закончился ли текущий день, чтобы его можно было оценить или нет. Если закончился, то оценка дня прерывается.
A2003 Функция считывает замещения из ИТ2003. Если для замещения установлена альтернативная оплата, то всем временным парам в будет установлен сплит (ссылка) на запись из таблицы ALP, в которой хранятся данные по альтернативной оплате.
P2001 Считать отсутствия из ИТ2001
P2002 Считать присутствия из ИТ2002
ELSE Если условие NOT  SIMF не выполнено, то система перейдет к блоку ELSE или следующему после ENDIF
COPY  TDT0 Выполнить подсхему TDT0
ENDIF Последняя команда блока условия IF NOT SIMF           
ELSE Относится к условию IF POS
COPY    TDT0 Выполнить подсхему TDT0
ENDIF Последняя команда блока условия IF POS
COPY      TF00 Выполнить подсхему
ACTIO     TD03 Выполнить правило TD03. Правило проверяет, если обрабатываемый день приходится на воскресенье и это праздник, то сделать понедельник оплачиваемым выходным. В России это обычно регулируется графиком рабочего времени и классами праздника.
BLOCK     END Завершение логического блока команд, начатого командой BLOCK BEG
BLOCK     BEG Команда BLOCK логически группирует команды, чтобы визуально выделить блоки в журнале оценки времени
ACTIO     TE20 Выполнить правило TE20. Правило проверяет обрабатываемый день на предмет ошибок: может ли сотрудник работать в выходной, продолжительность отсутствия сотрудника
PTIP      TE30 GEN Функция PTIP обрабатывает каждую строчку внутренней таблицы TIP. В таблице TIP хранятся временные пары С-ПО на каждое событие, которое произошло с человеком в этот день: нормальное рабочее время, отсутствие, сверхурочная работа, перерыв и пр. При выполнении к каждой строке таблицы TIP применяется правило из параметра. В данном случае TE30, которое проверяет каждую временную пару на ошибки.
BLOCK     END Завершение логического блока команд, начатого командой BLOCK BEG
BLOCK     BEG Команда BLOCK логически группирует команды, чтобы визуально выделить блоки в журнале оценки времени
TYPES Функция классифицирует временные пары в зависимости от того, откуда пара пришла в оценку времени: график, присутствие, отметка, отсутствие
PBRKS OWTI Функция обрабатывает перерывы в графике рабочего времени
COPY      TP01 Выполнить подсхему TP01
RTIP       TP09 GEN Функция RTIP аналогична PTIP, только в отличие от последней она не может менять содержимое таблицы TIP. Правило TP09 определяет время по каждой временной паре, если пара относится к нормативному графику, то часы сохраняются в вид времени 0000.
PTIPA     TP10 GEN Функция PTIPA аналогична PTIP, но работает, если в дне были отсутствия. Правило TP10 анализирует, есть ли у человека переработки. Если да, то время отсутствия сокращается на величину переработок. Своего рода суммированный учет, но в России такой подход не применяется.
RTIPA     TP20 GEN Функция RTIPA аналогична RTIP, но работает, если в дне были отсутствия. Правило TP20 анализирует, есть ли у человека переработки. Если да, и человек берет отгул, то размер сверхурочных сокращается.
BLOCK     END Завершение логического блока команд, начатого командой BLOCK BEG
BLOCK     BEG Команда BLOCK логически группирует команды, чтобы визуально выделить блоки в журнале оценки времени
SORT      TIP            P2 Функция SORT сортирует таблицу. В данном случае таблицу TIP по типа временых пар.
COPY      TW10 Выполнить подсхему
COPY      TW15 Выполнить подсхему
COPY      TW30 Выполнить подсхему
BLOCK     END Завершение логического блока команд, начатого командой BLOCK BEG
BLOCK     BEG Команда BLOCK логически группирует команды, чтобы визуально выделить блоки в журнале оценки времени
DAYMO     01   02   02   02 Функция DAYMO устанавливает различиные модификаторы и группировки для следующих двух функций
GWT            S    DZL Запустить генерацию видов оплаты для временных пар с типом обработки S и сохранить виды оплаты в таблице DZL
GWT            M    ZML Запустить генерацию видов оплаты для временных пар с типом обработки M и сохранить виды оплаты в таблице ZML
BLOCK     END Завершение логического блока команд, начатого командой BLOCK BEG
BLOCK     BEG Команда BLOCK логически группирует команды, чтобы визуально выделить блоки в журнале оценки времени
COPY      TW00 Выполнить подсхему
POVT      TC40 GEN Функция обрабатывает все виды оплаты со сверхурочной работой из таблицы ZML и формирует либо виды оплаты, либо время отдыха в зависимости от настроек вида оплаты и способа компенсации
BLOCK     END Завершение логического блока команд, начатого командой BLOCK BEG
BLOCK     BEG Команда BLOCK логически группирует команды, чтобы визуально выделить блоки в журнале оценки времени
RTIP      TR11 Правило TR11 формирует различные дневные балансы времени: нормативное время, время отсутствий и так далее.
P2012 Функция P2012 считывает инфотип 2012, который служит для корректировки баланса вида времени.
ACTIO     TR30 Правило TR30 также формирует баланы времени: продуктивное время, переработки.
LIMIT Функция LIMIT проверяет и ограничивает виды времени, если они превысили заданные пороговые значения.
IF                  EOP IF EOP проверяет, завершен ли расчетный период для единицы расчета
ACTIO   TR90 Правило TR90 формирует баланс рабочего времени за расчетный период. Если образовалась сверхурочная работа, то формируется отдельный вид времени.ы
ENDIF Окончание условия для IF EIOP
CUMBT Функция CUMBT аккумулирует виды времени (часы) согласно настроек. Не все виды времени нужно накапливать, кстати.
QUOTA Функция QUOTA генерирует лимиты отсутствий, которые формируются из оценки времени.
BLOCK     END Завершение логического блока команд, начатого командой BLOCK BEG
EDAY Завершение логического блока команд, начатого командой BDAY
BEND Начало логического блока финальной обработки. Блок выполняется только один раз для каждого сотрудника в конце оценки времени.
EXPRT Сохранение результатов оценки времени в кластер (в базу данных)
EEND Завершение логического блока команд, начатого командой BEND

Печатаем схему (вариант для склерозников)

Есть программка для печати схемы RPDASC00, о которой я писал на заре своего безумства и обожания SAP Сравниваем значения до и после в отчете

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

В транзакции PE01 открываем схему.

Посмотрели, закрываем и идем спать. Склерозникам в SAP делать нечего. Остальные пишут команду PRINT, ищут принтер, заряжают его бумагой листов 200 (стандартная пачка) и идут домой. К утру распечатает.

Читать далее


Как почистить систему SAP перед началом проекта

Автор данной заметки: ka.
 
Есть 3 полезных программы, которые это делают:
RHDEL_INTE10                   Удаление лишних записей в таблицах PA (интеграция)
RHDEL_PA_TABLES                Удаление лишних записей из таблиц PA
RHDEL_PD_TABLES                Удаление лишних записей в таблицах PD
 
+ есть очень полезная тр. которая чистит таблицы целиком: SE14
 
Таблицы:
t528b, t528t, t5c13, t5d13, t5k13, t5u13,  t527x, t513, t513s

Два способа передачи рабочего времени в контроллинг

Вру, на самом деле существует три способа передачи рабочего времени в контроллинг или управление проектами. И самый эффективный какой? Правильно, тот который несет нам лучшая практика с Запада – напечатать ведомость на бумаге и отнести ножками в соседний отдел. Так работает Америка, братцы и сестрички.

А нормальные ребята делают так. Передавать данные из HR в другие модули можно двумя способами: через CATS и через проводку заработной платы.

Для передачи через CATS рабочих часов нужно создать статистический показатель в контролинге в ракурсе V_TKA03_T. Примерно вот так.

В CATS мы указываем МВЗ и статичестический показатель, чтобы часы и все данные попали в интерфейсную таблицу CATSCO.

МВЗ у меня слева где-то осталось, лень настраивать поля.

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

  • CATA – Общее для всех компонентов
  • CAT7 – Учет и отчетность

После переноса данных в контроллинге часы можно посмотреть в отчете S_ALR_87013645 – Статистические показатели: развертка по периодам.

Второй способ заключается в настройке правильного символьного счета при передаче проводки. При определении символьного счета можно указать, стоит ли передаваться часы из виды оплаты или нет в объект контировки. Это регулируется типом символического счета:

    null
  • C Проводка на расходный счет
  • CN Проводка на расходный счет (без кол-ва)

Если указать тип счета С, то после проводки данные из поля Часы вида оплаты попадут в контроллинг. Посмотреть часы можно в транзакции KSB1 – МВЗ: фактические отдельные позиции

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

На основание переданных данных контролинг может производить свои расчеты и распределения затрат.

Пожалуйста – спасибо.