Skip to main content

Headers

By default, headers for source tables are not replicated to the target. You can determine which, if any, headers to replicate when you define a transformation by creating an expression that includes the header.

You can create a filter using header values. Header filters are applied during change processing. See Using filters for additional information.

Note:

The Headers tab in the Expression builder is available for Filters and transformations. It is available for Global transformations only when you select Add Columns. See Selecting the transformation type.

The following table describes the available headers.

Replicate header columns
Header Name Value in Change Process Value in Full LoadClosedCreates all defined files or tables at the target endpoint, automatically defines the metadata that is required at the target, and populates the tables with data from the source. Data Type

AR_H_CHANGE_SEQ

A monotonically increasing change sequencer that is common to all Change tables of a task. The Change sequence has the following format (with time being the UTC time on Replicate Server):

YYYYMMDDHHmmSShhxxxxxxxxxxxxxxxxxxx

Where:

  • YYYY is the four-digit year (such as 2012)
  • MM is the two-digit month (range from 01-12)
  • HH is the hour in the day (range from 00-23)
  • mm is the minute in the hour (range from 00-59)
  • SS is the second in the minute (range from 00-59)
  • hh is the hundredth of the second (range from 00-99)
  • xxxxxxxxxxxxxxxxxxx is a 19-digit, zero prefixed change number (global per task).

The time part usually refers to the commit time of the transaction that includes the change record. Qlik Replicate contains logic that maintains the monotonicity of the sequence number so modifying or adjusting the endpoint time may result in multiple changes to seem that they are within the same timestamp but with increasing change number.

The xxx...xxx is usually the internal change number from the data record except that for BEFORE-IMAGE records it is the same as the change number of the matching UPDATE record (for example, if the change number of BEFORE-IMAGE is 1000 and that of the UPDATE is 1001, then both have 1001). This allows a simple left-outer-join between the table and itself where on the left we scan until the point in time but filter out operation=before-image, and on the right we join on the same change_seq with the change_oper being 'B' .

Empty

VARCHAR(35)

AR_H_STREAM_POSITION

The stream position value on the source, which will be the SCN or the LSN depending on the source endpoint type.

Empty string

STRING

AR_H_TIMESTAMP

The timestamp of the Change operation, which is represented as the local time on Replicate Server. If your database and Replicate Server are located in the same timezone, the timestamp will be approximately representative of the actual Change operation.

Current timestamp

DATETIME

AR_H_TRANSACTION_ID

The ID of the transaction to which the Change record belongs. The actual value is a hex-string of the 128-bit transaction ID. Depending on the source endpoint type, the ID may either be similar to the transaction ID in the source database or identical to it.

Note:

The transaction ID is not guaranteed to be unique and therefore should not be used to create reports or any other operation that relies upon its uniqueness.

Empty

VARCHAR (32)

AR_H_COMMIT_TIMESTAMP

The timestamp of the Commit operation, which is represented as the local time on Replicate Server. If your database and Replicate Server are located in the same timezone, the timestamp will be approximately representative of the actual Commit operation.

Current timestamp

DATETIME

AR_H_OPERATION

Can be one of the following: INSERT, UPDATE, or DELETE.

INSERT

STRING

AR_H_USER

The user name, ID or any other information that the source provides about the Change initiator.

This header is supported on the Microsoft SQL Server, IBM DB2 on iSeries (ARC), and Oracle (version 11.2.0.3 and higher) source endpoints only.

Empty

STRING