Привет.

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

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

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

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

pust_2

Настройка модели процессов

В транзакции PEST в системе разработки определяется модель. Модель это последовательность шагов, которые выполнит система. Шаг — программа на языке ABAP или точка принятия решения. Точки принятия решения могут быть условными (с условием) или безусловными. Например, условная точка — оценка времени завершена для всех работников. Безусловная — просто остановить выполнение модели, пока пользователь не запустит выполнение дальше (например, нужно проверить расчетные листы, прежде чем делать проводки).

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

Для корректной работы модели нужно во всех используемых программах создать варианты. В модели мы указываем имя программы и вариант для использования. Я обычно делаю стандартные варианты CUS&, чтобы модель работала одинаково во всех системах.

Пример модели процессов PUST

Например, вот так выглядит моя модель процессов для американской компании. pust

Основные моменты модели

  • Оценка времени и заработная плата запускаются всегда в продуктивном режиме (единица расчета в режиме корректировки). Это нужно для прогона проводок, который не умеет работать с «симулированной» зарплатой.
  • Продуктивный прогон идет только после изменения статуса расчета на продуктивный. Для этого стоит условная точка останова.
  • В модели используется точка останова с ожиданием события. Это нужно для того, чтобы запустить американский процесс расчетов с вендорами после продуктивного формирования проводок.