Передача HR данных в другую систему по ALE

Сегодня столкнулся с маленькой хитростью передачи HR данных по ALE в другую систему. Настроили RFC, партнеров, логические системы – все по SPRO. Там ничего сложного. А вот в модели распределения маленькая хитрость. Если мы хотим передать и оргструктуру и людей, то группы фильтров надо выстраивать отдельно для OM, отдельно для PA. Если положить все в кучу, то при попытке передать ИТ0001 система не находит объект штатной должности и обработка IDOC останавливается. Получается нехорошо. Поэтому сначала передаем через транзакцию PFAL оргструктуру, затем табельные номера с персональной информацией, а в конце запускаем выравнивание данных в системе получателе с помощью программы RHINTE00 Transfer Organizational Assignment (PA -> PD). Она создает связи S-P, чтобы люди появились на штатке.

Если кто-то знает другой способ, то делитесь. Авансом спасибо!


EDID4

Появилась потребность вытащить данные из IDOC для разбора ошибок. В BD87 мы видим такую картинку, из которой сложно достать номера кредиторов для исправления.

Решение простое. Есть табличка EDID4. В ней с версии 4.0 хранится содержимое IDOC. Легким движением руки копируем номера IDOC из BD87, и с помощью SE16N забираем содержимое из EDID4.


Отчет об ошибках обработки IDOC

Есть транзакция BD87, которая позволяет красиво развернуть IDOC по группам ошибок/статусов. Только, когда у меня 15 000 IDOC, то развертка занимает минут 30. А нужно, например, перезапустить лишь кусок из них, чтобы он прошел. Например, блокировка была данных, поэтому IDOC не пролез.

Делаем финт ушами. Заходим в транзакцию WE02, фильтрами получаем весь массив IDOC нужного нам типа (например, я сейчас анализирую кредиторов – CREMAS). Выгружаю ошибочные номера в xls. А потом иду в табличку EDIDS и по этим номерам получаю текстовое описание ошибки. Быстро фильтрами в Excel нахожу нужные мне IDOC и успешно их обрабатываю.


Удаление IDOC

Подсказали программу для смены статуса IDOC, чтобы они не болтались в очереди – RC1_IDOC_SET_STATUS.

А еще можно использовать транзакцию WE11 для тотального удаления 🙂