Расширение 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 и каждого чиха есть свой класс. Что если сделать свои классы и там прописать? Вроде бы и «настроение» транзакции можно поменять.


Транзакция для SAP Query

Многие об этом знают, но почему бы не напомнить друг другу?

Если у вас есть супер-пупер отчет, который «ну очень сильно хочется» рассылать по почте, то самый простой способ, это создать свою транзакцию к отчету SAP Query. Для этого нужно зайти в транзакцию SE93, создать новый код транзакции с параметрами (самая нижная «пимпочка»). Указываем имя транзакции (код), указываем вызываемую транзакцию (START_REPORT), ставим галочку напротив GUI и внизу заполняем параметры:

D_SREPOVARI-REPORTTYPE = AQ
D_SREPOVARI-EXTDREPORT = Название запроса
D_SREPOVARI-REPORT = Группа пользователей

Сохраняем и переносим в продуктив. Теперь можно запланировать задание с вызовом этой транзакции для SAP Query, и получать отчет в почту. Например, я так получаю статус по 3-у инфотипу за день до расчета заработной платы. Это позволяет увидеть потенциальные перерасчеты заранее.


Для чего нужен архитектор SAP

Знаете ли вы хотя бы одного консультанта, который знает весь САП? Или половину? Я не знаю. Система настолько объемна и велика, что сами САПеры далеко не всегда знают, что творится в своем огороде. И это нормально, нельзя все это помнить. Консультанты обычно владеют только своим кусочком модуля, где им комфортно. По моим наблюдениям, это приводит к тому, что и задачи решаются исходя из своих «привычных» знаний.

Приведу простой пример. Сегодня я столкнулся с задачей, которая с точки зрения стандарта достаточно простая. Есть правила, функции в оценке времени, механизмы в виде PTMW и инфотипов, которые позволяют решать достаточно большой круг задач с помощью одной настройки. По тем или иным причинам задача была решена с помощью самописных решений. Проходит время, появляются новые требования, и этот нюанс всплывает наружу. Возможны два варианта развития событий. Либо переделать все обратно на стандартные решения, либо продолжить этот путь. Переделать — значит есть вероятность появления ошибок. Да и сама по себе схема оценки времени не очень гибка к переменным алгоритмам, зависимым от даты (нужно делать свои правила и в них вставлять проверки на текущее число). Зачастую приходится именно доделывать, следовать уже сложившейся практике и руководствоваться принципом «работает — не трогай».

Читать далее


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

Всем привет!

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

multi_pages_spool

Читать далее


Окончание учетного период для суммированного учета рабочего времени (СУРВ)

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

Программа SAPFP51T

*&———————————————————————*
*& Form OP_ENDP
*&———————————————————————*
* Проверяем окончание учетного период для сумм учета (СУРВ)
*———————————————————————-*

Читать далее