Issue
While trying to run Initialize on a channel with SAP HANA capture configured, the following error appears:
F_JR0549: Unable to find ColumnProperties /SurrogateKey column 'hvr_rowid' of
table 'customer' in channel 'HANA 2sql', location 'HANA '.
Environment
Local Data Processing
Resolution
It is not possible to enable 'supplemental logging' on HANA. This means that the real key values are not generally available to HVR during capture. What triggers the message being seen was that HVR was expecting more details in the channel for it to know how to map the source row id into what will be used as the surrogate key to identify the row on the target.
HVR Initialize expects hvr_rowid to be a real column on the target location. On the source, HVR will capture values for this extra column from a "hidden" row id column and replicate them to the target.
The following two additional actions should be defined to the channel, prior to using Table Explore(to add tables to the channel), to instruct HVR to capture Row ID values and to use them as surrogate replication keys.
- The ColumnProperties /Name=hvr_rowid /CaptureFromRowId action should be defined for capture locations only.
- The ColumnProperties /Name=hvr_rowid /SurrogateKey action should be defined for both capture and integrate locations.
Please note you will get this error on Initializeif you have added the tables to the channel with Table Explore BEFORE adding these parameters. The ColumnProperties settings should be added first and then go into Table Explore. The HANA requirements page outlines this requirement.
Limitations
Since HANA logs do not support supplemental logging like they do for other databases we have described a workaround for HANA in our current release and look to the future for an enhancement of HVR that eliminates this process. See our additional documentation links below for examples.