Интеграция SAP

Эффективная настройка SAP ALE

VirVit One comment

Мы уже много раз говорили про настройку ALE. Вроде бы, что там еще можно настраивать? Но все то, что мы с вами изучали ранее, это игра в песочек, для начинающих. Настоящие САПеры берут лопаты, миноискатели и идут в бой, повышать эффективность систем, сокращать ошибки. Сегодня в номере эффективная настройка SAP ALE. Эффективность заключается в тонких приемах, о которых большинство не знает, а они помогают существенно сократить количество ошибок при передаче данных.

Знаете две проблемы с транзакцией PFAL? Первая заключается в том, что PFAL не умеет отправлять уже уволенных физлиц, так как работает на логической базе PCH (есть нота с решением). Вторая, что при попытке отправить всю оргструктуру по пути анализа O-S-P бараны перемешаются с апельсинами и в принимающей системе будет каша. Для этого делают всякие изощрения вроде того, что нужно сначала переслать только объекты организационного менеджмента, затем соединения между ними, а потом уже табельные номера слать. Тогда система получатель корректно примет данные и создаст последовательно. При этом фоновые задания для отправки данных планируются в такой же последовательности, когда нам нужно ежедневно передавать изменения между системами. Сегодня мы научимся эффективно решать эти вопросы с помощью простых настроек SAP ALE.

Передача российских инфотипов по ALE

VirVit One comment

В стандарте SAP HCM есть российские инфотипы. В стандарте SAP передача российских инфотипов по ALE почему-то не есть. Ее нет от слова совсем. Сегодня мы с вами настроим передачу любых инфотипов по ALE, а заодно повторим немного настройку ALE. Рассматривать будем две ситуации: передачу коротких инфотипов и передачу длинных инфотипов.

Передача коротких инфотипов по ALE

Короткий инфотип, это инфотип, размер которого влезает в один сегмент. Как проверить? Открываем SE11, открываем структуру инфотипа в формате PXXXX, складываем размеры всех полей. 1 сегмент может хранить 1000 символов. Если структура длиннее, то это длинный инфотип, если короче, то… короче понятно, что короче 😉

В транзакции WE31 создаем новый сегмент для инфотипа. Правило именования Z1PXXXX, хотя можно и длиннее, но для версий системы 4.6+. Первые три символа всегда Z1P или Y1P. Чтобы не вводить все данные руками из SE11 можно создать через шаблон. В меню Segment -> Create with template выбираем DDIC структуру PXXXX. При сохранении сегмента система проверит размерность на соответствие 1000 символов.

Вот мой сегмент для ИТ 0293.

Создание IDOC сегмента

Создание IDOC сегмента

Не забываем релизнуть сегмент в меню.

Преобразования в ALE

VirVit No Comments

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

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

Вся настройка преобразования IDOC в ALE заключается в трех простых пунктах меню в IMG. Запускаем транзакцию SALE и спускаемся до нужных нам настроек.

Вопрос – ответ. Временные данные по ALE

VirVit No Comments

Вопрос:

Есть две SAP HCM системы, требуется из одной в другую передавать временные данные (отсутствия/присутствия/замещения). Сделать это нужно через ale стандартными средствами. Расширение HRMD_A не предлагать, это банально, да и в стандартном решении есть вроде как ветка по передаче временных данных в SAP систему из внешней системы учета времени. По сути одна внешняя система учета времени реализована на базе SAP HCM TM модуля.

Ответ:

Немного изучив данный вопрос, нашел два способа (для себя). Пока не было времени попробовать на деле, но:

  1. Мы можем передавать временные данные из CATS. В этом и заключалась идеология общего табеля рабочего времени. С помощью программы RPTEXTPT и настроенного ALE для объекта PTManagerExtAttAbs осуществляется передача данных через буферные таблицы PTEX*. То есть в одной системе мы ведем данные в CATS, а другую они попадают в живые инфотипы с помощью этой программы. Если у нас CATS не используется, то нужно решить вопрос с формированием буферных таблиц из инфотипов, чтобы построить цепочку: инфотипы системы 1 -> буферная таблица системы 1 -> ALE -> инфотипы системы 2. Как произвести такую запись стандартными средствами пока не нашел.
  2. Второй способ, это формирование текстовых файлов на сервере в общих папках и их дальнейшая загрузка в инфотипы либо напрямую в инфотипы, либо через IDOC. Загрузчик можно реализовать в виде фонового задания LSMW. Выгрузка осуществляется через инструменты экспорта, транзакция PU12.
  3. Про расширение IDOC было обозначено в вопросе, поэтому не обсуждаем.

Это то, что пришло в голову в части стандартных решений. У кого есть что добавить – прошу!

Спасибо за хитрый вопрос 🙂

Change Pointers (Указатели изменений)

VirVit 7 комментариев

Поговорим сегодня об указателях изменений. Указатели изменений это такая штука, которая регистрирует изменения объектов, которые вам нужно передать по ALE в другую систему. Например, поменяли инфотип в HR, система создает указатель изменения на этот табельный номер и инфотип, а затем отправляет только измененные данные. Это позволяет увеличить производительность систем и сократить объемы передаваемой информации между системами. Иначе говоря, пропадает необходимость отправлять каждый раз все данные по всем табельным номерам.

Настраиваются указатели изменений очень просто.

1. Транзакция BD61 – активировать указатели изменений по всей системе
2. Транзакция BD50 – Активировать указатели изменений для конкретного вида сообщений (объекта). Например, данные по HR относятся к HRMD_A.
3. Программа RBDMIDOC – Запланируйте программу RBDMIDOC для периодической отправки объектов (IDOC) по ALE. Программа считывает таблицы указателей, создает IDOC и помещает в ALE слой для отправки в другие системы.

Периодически таблицу с указателями изменений желательно чистить. Это можно делать вручную (транзакция BD22) или с помощью запланированной в фоне программы RBDCPCLR.

Если вам нужно определить на уровне полей, какое изменение должно вызывать создание документа изменения, то в транзакции SE11 выбираем элемент данных, переходим на закладку “Прочие характеристики” (Further characteristics) и ставим галочку “Документ изменений” ( Change document). Теперь изменение поля с таким элементом данных во всех инфотипах будет вызывать создание документа изменения, и его отправку по ALE.