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

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

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

В Create Rule (транзакция BD62) мы определяем для каждого сегмента правило, которое будет работать только для данного сегмента.

В Maintain Rule (транзакция BD79) мы определяем какие поля нужно преобразовывать. Какие алгоритмы нужно применять к полям. Если клинуть два раза на поле Sender fld val, то откроется интересное окно с настройками правил преобразования.

Допустим, поле псевдоним должно заполняться константой.

Сделали, идем проверять. Запускаем PFAL, выбираем табельник и передаем. Затем идем в BD87 и смотрим на исходящие IDOC.

Вроде работает. Усложним задачу. Сделаем преобразование по таблице, то есть для каждого старого значения должно быть новое значение. Например, я хочу менять инициалы из второго инфотипа. Глупо, согласен.

В поле value reciever мы указываем то, что должно быть на выходе, а в правой колонке то, что на входе.

Запускаю опять PFAL и вижу результат. Я Виталий Игоревич = VI. Поменяло на IV. Буду тепер Игоревич Виталий 😉

В Assign Rule to Message Type (Транзакция BD55) мы присваиваем правила преобразования для логических систем. Таким образом можно в одних потоках менять данные, а в других нет. Это может помочь в гетерогенных средах.