# Expressieheaders

Gebruik headers in kolomexpressies om wijzigingsmetagegevens te behouden, zoals een bewerkingsnaam of bronstreampositie.

De `Q_H_` headers zijn beschikbaar in door SaaS beheerde tussenopslag-, lake-tussenopslag- en replicatietaken. Voeg een koptekst in uit de lijst Kopteksten van de editor wanneer [Expressies bouwen](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Building-expressions.htm). De onderstaande tabel geeft de toepasbaarheid en waarden van het broneindpunt tijdens volledige lading en wijzigingsverwerking aan.

## Headers voor alle broneindpunten

Algemene headers en waarden voor de verwerkingsfase

| Koptekst en gegevenstype | Waarde tijdens wijzigingsverwerking | Waarde tijdens volledige lading |
| --- | --- | --- |
| `Q_H_CHANGE_SEQ`<br><br>`STRING(50)` | Monotoon stijgende wijzigingsvolgorde over de wijzigingstabellen van de taak. Combineert een tijdstempel met een wijzigingsteller met voorloopnullen om wijzigingen binnen een taak te ordenen. | Leeg |
| `Q_H_STREAM_POSITION`<br><br>`STRING(50)` | Positie in de change stream van de bron, meestal een SCN of LSN. Identificeert een bronstreamlocatie, geen tijdstempel of een reeks die vergelijkbaar is tussen taken. | Lege tekenreeks. |
| `Q_H_TIMESTAMP`<br><br>`DATETIME(0)` | Tijdstempel van de wijzigingsbewerking. Dit is een bewerkingstijdstempel, niet de tijdstempel van de transactiecommit. | Huidige tijdstempel. |
| `Q_H_TRANSACTION_ID`<br><br>`STRING(50)` | Transactie die de wijziging bevat, weergegeven als een hexadecimale 128-bits transactie-ID. De ID is niet gegarandeerd uniek. | Leeg |
| `Q_H_COMMIT_TIMESTAMP`<br><br>`DATETIME(0)` | Tijdstempel van de commit van de brontransactie, zoals weergegeven door de verwerkingsruntime. Verschilt van de tijd van de brondatabaseserver in `Q_H_DB_COMMIT_TIMESTAMP`. | Huidige tijdstempel. |
| `Q_H_DB_COMMIT_TIMESTAMP`<br><br>`DATETIME(0)` | Commit-tijdstempel van de brontransactie volgens de tijd van de brondatabaseserver. | Null |
| `Q_H_OPERATION`<br><br>`STRING(50)` | `INSERT`, `UPDATE` of `DELETE`. | `INSERT`. |

De wijzigingsvolgorde combineert een tijdstempel opgemaakt als `YYYYMMDDHHmmSShh` met een 19-cijferige wijzigingsteller met voorloopnullen. De tijdstempelvelden zijn jaar, maand, dag, uur, minuut, seconde en honderdsten van een seconde. Het tijdstempelgedeelte kan zich herhalen terwijl de teller toeneemt. De gedeclareerde `STRING(50)` capaciteit is niet de lengte van de sequentie-indeling.

Vertrouw niet op `Q_H_TRANSACTION_ID` als een unieke sleutel. Gebruik `Q_H_CHANGE_SEQ` voor het ordenen van wijzigingen op taakniveau in plaats van alleen tijdstempels te vergelijken.

## Bronspecifieke headers

De volgende bronbeperkingen zijn van toepassing op de genoemde eindpunten. Ze impliceren geen ondersteuning voor andere SQL Server-varianten of andere bestandsbronnen.

Bronspecifieke headers en verwerkingsfasewaarden

| Koptekst en gegevenstype | Broneindpunten | Waarde tijdens wijzigingsverwerking | Waarde tijdens volledige lading |
| --- | --- | --- | --- |
| `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; Bestand; SAP Sybase ASE. | Gebruiker die de bronwijziging heeft aangebracht. | Leeg |
| `Q_H_JOB_NAME`<br><br>`STRING(50)` | Alleen IBM DB2 for iSeries. | Job die de bronwijziging heeft aangebracht. | Leeg |
| `Q_H_PROGRAM_NAME`<br><br>`STRING(50)` | Alleen IBM DB2 for iSeries. | Programma dat de bronwijziging heeft aangebracht. | Leeg |
| `Q_H_XACT_ID`<br><br>`STRING(50)` | Microsoft SQL Server; Microsoft Azure SQL Managed Instance; Amazon RDS for SQL Server. | Transactietijd-id: het LSN van het eerste record voor de laatste gedistribueerde transactie van de server. Alle records in de transactie delen deze ID. Dit verschilt van `Q_H_TRANSACTION_ID`, dat wordt verkregen uit het fysieke transactielogboek. | Leeg |

## Metagegevens van bewerkingen gebruiken

Voeg een kolom toe en voeg `Q_H_OPERATION` in om de bronbewerking vast te leggen. Tijdens volledige lading is de waarde ervan `INSERT`. Tijdens de verwerking van wijzigingen heeft een update de waarde `UPDATE`.

De bewerkingsheader beschrijft de bewerking; deze wijzigt de afhandeling van doelverwijdering niet. Zie `$OPERATION_INDICATOR` in [Expressiefuncties](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Expression-functions.htm) om aangepaste vlaggen voor bronbewerkingen te retourneren.

## Kopkolommen voor streaming-tussenopslag

Streaming Transform-taken gebruiken bronkolommen zoals `hdr__kafka_partition`, `hdr__kinesis_offset` of `hdr__file_name`. Dit zijn geen aliassen voor de `Q_H_` headers. Selecteer streaming-tussenopslagheaders uit Kolommen. Zie [Landingstabellen](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/lakehouse-datasets-architecture-streaming.htm#Landing) voor de bronspecifieke lijsten.