Support for Approximate Datatypes as Primary Keys

The Replication Agent 15.7.1 SP200 now uses approximate datatypes as primary keys in a replication definition.

In SAP replication technology, double, float, and real datatypes are considered as approximate values, which require some level of precision rounding.

For example, an approximate value of 1.234567890 on machine A is rounded to 1.234567900 on machine B. If you replicate an update statement at machine A by issuing:
update mytable where col1 = '1.234567890'
The update statement executes successfully at machine A; but the Replication Agent doest not update any rows at machine B because 1.234567890 does not equal 1.2345678900.

By default in earlier versions, SAP Replication Server excluded approximate datatype (float, real, and double) columns from the replication definition.

In earlier versions of Replication Agent, if you issue rs_create_repdef with these primary table values:
create table(pkey1 int primary_key, pkey2 float primary_key, col3 varchar(300))
The resulting replication definition included only pkey1 in the primary key definition; pkey2 was excluded.

With Replication Agent 15.7.1 SP200, you can use the repdef_allow_approx_pkey configuration parameter to override the default rs_create_repdef behavior. When repdef_allow_approx_pkey is true, both pkey1 and pkey2 columns are included in the replication definition.

The repdef_allow_approx_pkey configuration parameter is supported by primary IBM DB2 UDB, Microsoft SQL Server, and Oracle databases.

See rs_create_repdef in the Replication Agent Reference Manual.