Как выгрузить временные отметки из SAP

Привет. Давайте чего-нибудь поломаем? 🙂

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

Идея в том, чтобы использовать этот ФМ для будущей программки для выгрузки в Excel, так и для создания экстрактора в SAP BW. Сейчас я сделал экстрактор, который выгружает все отметки и график в BW, а там уже стандартными средствами строится красивый отчет план/факт, который рассылается еженочно табельщикам.

Прошу: z_hcm_tc_timeevents


Удаление временных отметок

Знаете ли вы, что при удаление временной отметки в инфотипе 2011 она не удаляется, а помечается в поле TEVEN-STOKZ? Если вы хотите удалять отметки массово, то есть два варианта:

1. В тестовой системе программа RPTCCXDBDEL. Можно поломать в Z и использовать для своих меркантильных нужд.
2. Написать LSMW для удаления отметок. Я пошел этим путем.


Расширение PTMW

Сегодня наткнулся на решение по расширению PTMW. Оказывается есть очень мощный инструмент для управления данными (но не экранами, к сожалению) при работе в этой транзакции. Называется сие чудо BLP (Business Logic Processor). Работает через BAdi и фильтры на определенные события.

Более подробно можно почитать в нотах (а там же и найти примеры реализации):

Note 447097 — Questions and answers concerning the TMW implementation
Note 367249 — Customer enhancements for the BLP

Проверено — работает, чему я очень рад. Раньше PTMW для меня был закрытым инструментом.

P.S. Если покопаться в настроечных табличках PTMW (которых нет в SPRO), то там для каждой области PTMW и каждого чиха есть свой класс. Что если сделать свои классы и там прописать? Вроде бы и «настроение» транзакции можно поменять.


Выгружаем многостраничный PDF спул

Всем привет!

Сегодня день ABAP. Понадобилось мне выгрузить многостраничый запрос в спул в формате PDF. Не нашел ни одного стандартного решения для этого, поэтому пришлось тряхнуть стариной и написать минипрограммку. Суть простая. Вот такой спул выгружается в виде отдельных PDF файлов в указанный каталог. Никаких проверок внутри нет, так что используем на свой страх и риск. Мне оно надо только раз в год, поэтому приспичило и пришлось нарисовать. За красоту кода ругать бессмысленно 🙂

multi_pages_spool

Читать далее


Как пересохранить отсутствия быстро

Всем привет!

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

Например, изменили правила подсчета или поправили графики, а отсутствия уже подсчитаны по старым правилам. И нужно что-то сделать, как-то обновить количества дней и часов для каждого отсутствия или присутствия. Тут-то и приходит на помощь эта маленькая транзакция PT_UPD00. Именно она может вытащить список записей и создать пакетный ввод для пересохранения.

Только не забывайте, что это повлечет переоценку времени и перерасчет заработной платы, так как изменится третий инфотип.

Да, если забыли, то пакетный ввод запускается в SM35.

Но полезно!