# Cabeçalhos de expressão

Use cabeçalhos em expressões de coluna para reter metadados de alteração, como um nome de operação ou a posição do fluxo de origem.

Os cabeçalhos `Q_H_` estão disponíveis em tarefas de aterrisagem gerenciadas por SaaS, aterrisagem no lake e replicação. Insira um cabeçalho da lista Cabeçalhos do editor quando [Construindo expressões](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Building-expressions.htm). A tabela abaixo identifica a aplicabilidade e os valores do endpoint de origem durante o carregamento total e o processamento de alterações.

## Cabeçalhos para todos os endpoints de origem

Cabeçalhos gerais e valores da fase de processamento

| Cabeçalho e tipo de dados | Valor durante o processamento de alterações | Valor durante o carregamento total |
| --- | --- | --- |
| `Q_H_CHANGE_SEQ`<br><br>`STRING(50)` | Sequência de alterações monotonicamente crescente em todas as tabelas de alterações da tarefa. Combina um carimbo de data/hora com um contador de alterações prefixado com zero para ordenar alterações dentro de uma tarefa. | Vazio |
| `Q_H_STREAM_POSITION`<br><br>`STRING(50)` | Posição no fluxo de alterações da origem, geralmente um SCN ou LSN. Identifica uma localização de fluxo de origem, não um carimbo de data/hora ou uma sequência comparável entre tarefas. | String vazia. |
| `Q_H_TIMESTAMP`<br><br>`DATETIME(0)` | Carimbo de data/hora da operação de alteração. Este é um carimbo de data/hora da operação, não o carimbo de data/hora de confirmação da transação. | Carimbo de data/hora atual. |
| `Q_H_TRANSACTION_ID`<br><br>`STRING(50)` | Transação que contém a alteração, representada como um ID de transação hexadecimal de 128 bits. Não há garantia de que o ID seja exclusivo. | Vazio |
| `Q_H_COMMIT_TIMESTAMP`<br><br>`DATETIME(0)` | Carimbo de data/hora de confirmação da transação de origem, conforme representado pelo ambiente de execução de processamento. Diferente do horário do servidor de banco de dados de origem em `Q_H_DB_COMMIT_TIMESTAMP`. | Carimbo de data/hora atual. |
| `Q_H_DB_COMMIT_TIMESTAMP`<br><br>`DATETIME(0)` | Carimbo de data/hora de confirmação da transação de origem de acordo com o horário do servidor de banco de dados de origem. | NULL |
| `Q_H_OPERATION`<br><br>`STRING(50)` | `INSERT`, `UPDATE` ou `DELETE`. | `INSERT`. |

A sequência de alterações combina um carimbo de data/hora formatado como `YYYYMMDDHHmmSShh` com um contador de alterações de 19 dígitos prefixado com zeros. Os campos de carimbo de data/hora são ano, mês, dia, hora, minuto, segundo e centésimos de segundo. A parte do carimbo de data/hora pode se repetir enquanto o contador aumenta. A capacidade declarada de `STRING(50)` não é o comprimento do formato de sequência.

Não confie em `Q_H_TRANSACTION_ID` como uma chave exclusiva. Use `Q_H_CHANGE_SEQ` para a ordenação de alterações no nível da tarefa em vez de apenas comparar carimbos de data/hora.

## Cabeçalhos específicos da origem

As seguintes restrições de origem se aplicam aos endpoints nomeados. Eles não implicam suporte a outras variantes do SQL Server ou a outras fontes de arquivos.

Cabeçalhos específicos da origem e valores da fase de processamento

| Cabeçalho e tipo de dados | Endpoints de origem | Valor durante o processamento de alterações | Valor durante o carregamento total |
| --- | --- | --- | --- |
| `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; Arquivo; SAP Sybase ASE. | Usuário que fez a alteração de origem. | Vazio |
| `Q_H_JOB_NAME`<br><br>`STRING(50)` | Apenas IBM DB2 for iSeries. | Job que realizou a alteração de origem. | Vazio |
| `Q_H_PROGRAM_NAME`<br><br>`STRING(50)` | Apenas IBM DB2 for iSeries. | Programa que realizou a alteração de origem. | Vazio |
| `Q_H_XACT_ID`<br><br>`STRING(50)` | Microsoft SQL Server; Instância Gerenciada do Microsoft Azure SQL; Amazon RDS para SQL Server. | Identificador de tempo de transação: o LSN do primeiro registro da última transação distribuída do servidor. Todos os registros da transação compartilham este ID. Isso difere de `Q_H_TRANSACTION_ID`, que é obtido do log de transações físico. | Vazio |

## Usando metadados de operação

Adicione uma coluna e insira `Q_H_OPERATION` para registrar a operação de origem. Durante o carregamento total, seu valor é `INSERT`. Durante o processamento de alterações, uma atualização tem o valor `UPDATE`.

O cabeçalho da operação descreve a operação; ele não altera o tratamento de exclusão do destino. Para retornar sinalizadores personalizados para operações de origem, consulte `$OPERATION_INDICATOR` em [Funções de expressão](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Expression-functions.htm).

## Colunas de cabeçalho de aterrisagem de streaming

Tarefas de Streaming Transform usam colunas de origem como `hdr__kafka_partition`, `hdr__kinesis_offset` ou `hdr__file_name`. Estes não são aliases para os cabeçalhos `Q_H_`. Selecione os cabeçalhos de aterrisagem de streaming em Colunas. Para as listas específicas de origem, consulte [Tabelas de preparação](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/lakehouse-datasets-architecture-streaming.htm#Landing).