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

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

VirVit 7 комментариев
Интеграция SAP

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

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

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

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

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

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

metha

Февраль 10, 2014 в 7:19 пп

Дополнение. Чтобы это уж наверняка работало надо обязательно настроить модели распределения (bd54) так как из чендж поинтера (ЧП :mrgreen: ) айдок создаётся только на основе модели. Если погрузится ещё глубже то увидим массу бадишек и юзерэкзитов как в исходящих айдоках так и во входящих.
Что касается элементов данных и доменов не уверен насчёт ЧП имхо они создаются на основе настроек t777d, а не на основе доменов/элементов, настойки доменов элементов влияют на журналирование инфотипов.

 

VirVit

Февраль 10, 2014 в 7:25 пп

Похоже ты прав. В тр BD52 можно указать сообщение, бизнес объект и таблицу/поля, при которых будет формироваться указатель.

 

metha

Февраль 11, 2014 в 1:53 пп

Дополнение №2. Если Вы передаете помимом стандартного сообщения HRMD_A еще и расширение к нему ZZZZ (разработка расширений через WE30,WE31), то в исходящей системе надо: 1) настроить через WE20 распределение с учетом расширения айдока WE30, 2) !обязательно!) зерелизить следующий USER-EXIT ZXHALU08, в котором должны быть следюущие строчки F_IDOC_CONTROL-CIMTYP = ‘ZZZ’. ZZZ это имя расширения айдока из WE30.

Надо это делать для того чтобы исходящие айдоки не сваливались в синтаксическую ошибку структуры айдока.

 

yegorm

Февраль 11, 2014 в 5:17 пп

Мне кажется, надо еще уточнить, что определение на уровне полей в SE11 (последний абзац) – это не универсальная вещь. Это работает, если указатели пишутся через документы изменений, а это не всегда так. Например, в HR ALE, мне кажется, это не так.

 

metha

Февраль 11, 2014 в 6:29 пп

В то и дело, что документы изменений это не change pointers 😉 Вит, это признаёт…

 

metha

Февраль 11, 2014 в 6:30 пп

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

 

Alex

Август 5, 2014 в 11:59 дп

metha, спасибо за дополнение номер 2, оказалось очень ценным.
Его вообще можно в саму статью добавить как Update

 

Вы должны быть авторизованы, чтобы оставить комментарий.