Ключевые слова: Как добавить репликацию таблице/сделать таблицу репликационной/репликационная таблица
Выполняется в программе DBmeta.exe
1) В списке таблиц выбрать целевую таблицу и в поле Replication type установить его в значение Document (to centre).
2) Пункт меню Операции/Commit changes . Скопировать скрипт из открывшегося окна.

3) Пунк меню **Операции / Replication struct / Создать/удалить ** для выбранной таблице . Скопировать скрипт из открывшегося окна и добавить его в файл со скриптом, созданным в п. 2.
4) Разделить общий скрипт на две части.
Первая часть скрипта: для всех БД
GRANT ALL ON LOCKER_BAGS TO REPL_ROLE;
execute procedure ADD_MST_RELATION('LOCKER_BAGS', 2);
ALTER TABLE LOCKER_BAGS
ADD DEP_ID D_ID_INT64
DEFAULT 0
NOT NULL ;
ALTER TABLE LOCKER_BAGS
ADD LAST_DEP_ID D_ID_INT64
DEFAULT 0
NOT NULL ;
ALTER TABLE LOCKER_BAGS
ADD DEP_SRC_ID D_ID_INT64
DEFAULT 0
NOT NULL ;
Вторая часть скрипта: для репликационной БД (в скриптах, галочка: "для баз с включенной репликацией")
SET TERM ^ ;
CREATE TRIGGER LOCKER_BAGDROPPERS_AD FOR LOCKER_BAGDROPPERS
ACTIVE AFTER DELETE POSITION 10
AS
DECLARE VARIABLE SEQ_ID D_INT64;
DECLARE VARIABLE IS_CENT D_INT64;
begin
if (current_role<>'DEL_ROLE') then
begin
IS_CENT = GEN_ID(GEN_IS_CENTR_DB, 0);
if ((:IS_CENT=1) or (current_role<>'REPL_ROLE')) then
select seq_id from MST_META_CHANGES_I( 'LOCKER_BAGDROPPERS' , old.ID, 3)
into :SEQ_ID;
end
end ^
SET TERM ; ^
SET TERM ^ ;
CREATE TRIGGER LOCKER_BAGDROPPERS_AU FOR LOCKER_BAGDROPPERS
ACTIVE AFTER UPDATE POSITION 10
AS
DECLARE VARIABLE SEQ_ID D_INT64;
DECLARE VARIABLE IS_CENT D_INT64;
begin
if (current_role<>'DEL_ROLE') then
begin
IS_CENT = GEN_ID(GEN_IS_CENTR_DB, 0);
if ((:IS_CENT=1) or (current_role<>'REPL_ROLE')) then
select seq_id from MST_META_CHANGES_I( 'LOCKER_BAGDROPPERS' , new.ID, 2) into :SEQ_ID;
end
end ^
SET TERM ; ^
SET TERM ^ ;
CREATE TRIGGER LOCKER_BAGDROPPERS_AI FOR LOCKER_BAGDROPPERS
ACTIVE AFTER INSERT POSITION 10
AS
DECLARE VARIABLE SEQ_ID D_INT64;
DECLARE VARIABLE IS_CENT D_INT64;
begin
if (current_role<>'DEL_ROLE') then
begin
IS_CENT = GEN_ID(GEN_IS_CENTR_DB, 0);
if ((:IS_CENT=1) or (current_role<>'REPL_ROLE')) then
select seq_id from MST_META_CHANGES_I( 'LOCKER_BAGDROPPERS' , new.ID, 1) into :SEQ_ID;
end
end ^
SET TERM ; ^
SET TERM ^ ;
CREATE TRIGGER LOCKER_BAGDROPPERS_AA FOR LOCKER_BAGDROPPERS
ACTIVE BEFORE UPDATE POSITION 15
AS
begin
if (current_role<>'REPL_ROLE') then
begin
new.LAST_DEP_ID=0;
end
end^
SET TERM ; ^