Копирование инфотипов при смене страны

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

При таком мероприятии происходит магия в виде вызова ФМ HRPAD00_SET_BZPNR, который сохраняет старый табельный номер в памяти.

Дальше при вызове каждого инфотипа мероприятия в коде анализируется, что это код транзакции PA40 и у инфотипа стоит эта галочка.

 

Это таблица настройки инфотипа T582A. Итак, если галочка стоит, то вызывается другой ФМ HRPAD00_GET_BZPNR, который возвращает сохраненный в ИТ0000 табельник перебежчика. А дальше читается одноименный инфотип этого товарища и заполняется экран для него же, но уже в новой стране.

Не благодарите.

P.S. Это не имеет ничего общего с механизмом Shared Infotypes Framework.


Визуализация данных

Год назад я писал заметку про визуализацию данных HR с помощью мелкого скрипта. Вот ссылка на заметку https://saphr.ru/2018/09/20/smotrim-na-hr-s-drugoj-storony/

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

 


LIS9 для тех, кто в теме

SAPчик я люблю всей душой. Настолько обожаю, что когда он мне напоминает про азы через пятую точку опоры, хочется сказать ему много ярких слов. Как говорят в авиации в США, что хороший пилот всегда учится (да, я недавно сдал на пилота, если что. Детали на virvit.ru и YouTube.com/virvit). Так и в консалтинг — всегда найдется что-то, чего ты не знаешь, хотя вроде бы прописные истины.

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

Примерно много времени ушло на понимание простой вещи. Есть лимит на 40 дней в год. Начисляется авансом, оценки времени нема. Но подлые сотрудники кидают работодателей и уходят не 31.12, а как ложка на стол ляжет. И надо этим товарищам завернуть остаток рыбы, тьфу, лимита, положить на стол и с улыбкой проводить взашей.

Так вот, если я открываю PA30, нажимаю кнопку ограничить на лимите, то ограничивается дата. Количество дней почему-то остается тоже самое — 40. Я упорный (или упоротый, еще не решил) малый, полез в отладчик. САП — дурак, даты отсек, вторую запись удалил — свободен.

Если я открываю в режиме редактирования ту же запись, меняю даты на нужные и нажимаю кнопку «Значения по умолчанию», то лимит пересчитывается. Шайтана-мать. Любые попрыгушки с танцами к успехе не привели. В инете ни одного поста на банальную тему — как сократить лимит при увольнении. Пошел по знакомым милостыню просить — кто и как делал. У всех зоопарк, что Берлинский Zoo отдыхает.

Ладно, думаю, включаем дурака. Запускаю мероприятие, меняю на первом экране инфогруппу и вставляю LIS9. Экран моргает. Гаснет свет. Отваливается интернет. Ну, чай магия, не иначе. Открываю PA20 после прочтения заклинания и совершения обряда. Лимит сокращен, даты красивые.

Лезу в настройку инфогрупп в документацию. Вы же помните, что когда полный Атас, читай инструкцию. Там черным на мерзком фоне написано — LIS9 использовать для ограничения инфотипов только при увольнении. Почему? Да плевал САП на консов.

Открываю отладчик, мешаю кофейку, давлю кнопки. Исключительно при LIS9 включается режим магии, глобальные переменные и в процедурку delimit_by_insert великий немец не просто режет записи и удаляет лишние, а извращается на все удовольствие. Записи режутся, но хорошие банально пересоздаются. При пересоздании записи автоматически включается логика PBO, которая запускает функциональный модуль для расчета лимита. А раз даты уже изменены, то расчет лимита идет исходя из новых дат. То есть корректно.

Доволен ли я? Счастлив? Все еще ли люблю SAP? Пойду, подумаю.


Изменяем QUOMO на лету

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

Если взять конкретный пример, с которым я недавно столкнулся, то это лимиты отсутствий. Если у вас были отпуска, которые назначались на год, месяц или день, а потом вы решили поменять правила с периодами действия и использования, то вас ждет разочарование. Группировка, которую возвращает признак QUOMO не меняется в зависимости от периодов действия, а значит нужно делать новую группировку, новую пачку настроек и все ради того, что изменить периоды действия с нового года. QUOMO не имеет периода действия также.

Скорее всего вы завели всех сотрудников под одни группировки, а бизнес требует новой жизни. Тут на помощь приходит инфотип 3355, который умеет подменять группировку для лимитов взамен QUOMO. То есть, создав запись в этом инфотипе и указав новую группировку QUOMO, можно переопределять группу лимитов, которые система будет генерировать для конкретного человека.


Мониторинг IDOC между системами

Автор: KA
 
Иногда бывает, что необходимо сообщить получателю IDOC номер IDOC в системе-получателе. Не все же «рубят» в ALE и не всегда можно быстро отфильтровать нужное в BD87/WE05 и т.д
 
Для этого в SAP предусмотрено полезное средство:
Транзакция: BDM2 
Программа: RBDMOIN8
 
После нехитрого селекционного экрана можно получить соответствие номеров IDOC:
Помимо этого, двойной клик позволяет провалиться в просмотр содержимого IDOC как в источнике, так и в получателе (если сделана настройка RFC).
 
PS.
Для работы данной транзакции требуется, чтобы для партнёра LS был настроен тип сообщения SYNCH.