# 式ヘッダー

列式でヘッダーを使用して、操作名またはソース ストリーム位置などの変更メタデータを保持します。

`Q_H_` ヘッダーは、SaaS マネージド ランディング、レイク ランディング、レプリケーション タスクで利用できます。エディターの [ヘッダー] リストからヘッダーを挿入します[式の構築](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Building-expressions.htm)。以下の表は、フル ロードおよび変更処理における、ソース エンドポイントの適用可能性と値を示しています。

## すべてのソース エンドポイントのヘッダー

一般ヘッダーと処理フェーズ値

| ヘッダーとデータ型 | 変更処理中の値 | フル ロード中の値 |
| --- | --- | --- |
| `Q_H_CHANGE_SEQ`<br><br>`STRING(50)` | タスクの変更テーブル全体にわたる、単調増加する変更シーケンス。タイムスタンプとゼロプレフィックスの変更カウンターを組み合わせることで、タスク内における変更の順序を決定します。 | 空 |
| `Q_H_STREAM_POSITION`<br><br>`STRING(50)` | ソース変更ストリーム内の位置。通常は SCN または LSN です。ソース ストリーム上の位置を特定するものであり、タスク間で比較可能なタイムスタンプやシーケンスではありません。 | 空の文字列。 |
| `Q_H_TIMESTAMP`<br><br>`DATETIME(0)` | 変更操作のタイムスタンプ。これは操作のタイムスタンプであり、トランザクション コミットのタイムスタンプではありません。 | 現在のタイムスタンプ。 |
| `Q_H_TRANSACTION_ID`<br><br>`STRING(50)` | 変更を含むトランザクション。16 進数 128 ビットのトランザクション ID として表現されます。ID は一意であるとは限りません。 | 空 |
| `Q_H_COMMIT_TIMESTAMP`<br><br>`DATETIME(0)` | 処理ランタイムによって表される、ソース トランザクションのコミット タイムスタンプ。`Q_H_DB_COMMIT_TIMESTAMP` のソース データベースサーバーの時刻とは異なります。 | 現在のタイムスタンプ。 |
| `Q_H_DB_COMMIT_TIMESTAMP`<br><br>`DATETIME(0)` | ソース データベース サーバーの時刻による、ソース トランザクションのコミット タイムスタンプ。 | Null |
| `Q_H_OPERATION`<br><br>`STRING(50)` | `INSERT`、`UPDATE` 、または `DELETE`。 | `INSERT`. |

変更シーケンスは、`YYYYMMDDHHmmSShh` としてフォーマットされたタイムスタンプと、19 桁のゼロ埋めされた変更カウンターを組み合わせます。タイムスタンプのフィールドは、年、月、日、時、分、秒、100 分の 1 秒です。カウンターが増加するにつれて、タイムスタンプ部分が繰り返されることがあります。宣言された `STRING(50)` 容量は、シーケンス形式の長さではありません。

`Q_H_TRANSACTION_ID` を一意のキーとして依存しないでください。タイムスタンプのみを比較するのではなく、タスクレベルの変更順序付けには `Q_H_CHANGE_SEQ` を使用します。

## ソース固有のヘッダー

次のソース制限が、指定されたエンドポイントに適用されます。これらは、他の SQL Server のバリアントや他のファイル ソースのサポートを意味するものではありません。

ソース固有のヘッダーおよび処理フェーズ値

| ヘッダーとデータ型 | ソース エンドポイント | 変更処理中の値 | フル ロード中の値 |
| --- | --- | --- | --- |
| `Q_H_USER`<br><br>`STRING(50)` | Microsoft SQL Server、Microsoft Azure SQL Managed Instance、Amazon RDS for SQL Server、IBM Informix、IBM DB2 for z/OS、IBM DB2 for LUW、Oracle、ファイル、SAP Sybase ASE。 | ソースの変更を行ったユーザー。 | 空 |
| `Q_H_JOB_NAME`<br><br>`STRING(50)` | IBM DB2 for iSeries 専用。 | ソースを変更したジョブ。 | 空 |
| `Q_H_PROGRAM_NAME`<br><br>`STRING(50)` | IBM DB2 for iSeries 専用。 | ソースの変更を行ったプログラム | 空 |
| `Q_H_XACT_ID`<br><br>`STRING(50)` | Microsoft SQL Server、Microsoft Azure SQL Managed Instance、Amazon RDS for SQL Server。 | トランザクション時間識別子: サーバーの最後の分散トランザクションの最初のレコードの LSN。トランザクション内のすべてのレコードは、この ID を共有します。これは `Q_H_TRANSACTION_ID` とは異なり、物理トランザクション ログから取得されます。 | 空 |

## 操作メタデータの使用

列を追加し、`Q_H_OPERATION` を挿入して、ソース操作を記録します。フル ロード中、その値は `INSERT` です。変更処理中、更新の値は `UPDATE` です。

操作ヘッダーは操作を記述します。ターゲットの削除処理は変更しません。ソース操作のカスタム フラグを返すには、[式関数](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Expression-functions.htm) 内の `$OPERATION_INDICATOR` を参照してください。

## ストリーミング ランディング ヘッダー 列

ストリーミング変換タスクでは、`hdr__kafka_partition`、`hdr__kinesis_offset`、または `hdr__file_name` のようなソース列を使用します。これらは `Q_H_` ヘッダーのエイリアスではありません。[列] からストリーミング ランディング ヘッダーを選択します。ソース固有のリストについては、「[ランディング テーブル](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/lakehouse-datasets-architecture-streaming.htm#Landing)」を参照してください。