# Encabezados de expresión

Utilice encabezados en expresiones de columna para conservar los metadatos de cambios, como un nombre de operación o la posición del stream de origen.

Los encabezados `Q_H_` están disponibles en tareas de aterrizaje administradas por SaaS, aterrizaje en lago de datos y replicación. Inserte un encabezado de la lista Encabezados del editor al [Crear expresiones](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Building-expressions.htm). La tabla siguiente identifica la aplicabilidad y los valores del extremo de origen durante la carga completa y el procesamiento de cambios.

## Encabezados para todos los puntos de conexión de origen

Encabezados generales y valores de la fase de procesamiento

| Encabezado y tipo de datos | Valor durante el procesamiento de cambios | Valor durante la carga completa |
| --- | --- | --- |
| `Q_H_CHANGE_SEQ`<br><br>`STRING(50)` | Secuencia de cambios que aumenta de forma monótona en las tablas de cambios de la tarea. Combina una marca de tiempo con un contador de cambios con prefijo de ceros para ordenar los cambios dentro de una tarea. | Vacío. |
| `Q_H_STREAM_POSITION`<br><br>`STRING(50)` | Posición en el stream de cambios de origen, normalmente un SCN o LSN. Identifica una ubicación de stream de origen, no una marca de tiempo o una secuencia comparable entre tareas. | Cadena vacía. |
| `Q_H_TIMESTAMP`<br><br>`DATETIME(0)` | Marca de tiempo de la operación de cambio. Esta es una marca de tiempo de la operación, no la marca de tiempo de confirmación de la transacción. | Marca de tiempo actual. |
| `Q_H_TRANSACTION_ID`<br><br>`STRING(50)` | Transacción que contiene el cambio, representada como un ID de transacción hexadecimal de 128 bits. No se garantiza que el ID sea único. | Vacío. |
| `Q_H_COMMIT_TIMESTAMP`<br><br>`DATETIME(0)` | Marca de tiempo que confirma la transacción de origen, según lo representado por el tiempo de ejecución del procesamiento. Distinto de la hora del servidor de la base de datos de origen en `Q_H_DB_COMMIT_TIMESTAMP`. | Marca de tiempo actual. |
| `Q_H_DB_COMMIT_TIMESTAMP`<br><br>`DATETIME(0)` | Marca de tiempo de confirmación de la transacción de origen según la hora del servidor de base de datos de origen. | NULL. |
| `Q_H_OPERATION`<br><br>`STRING(50)` | `INSERT`, `UPDATE` o `DELETE`. | `INSERT`. |

La secuencia de cambios combina una marca de tiempo con formato `YYYYMMDDHHmmSShh` con un contador de cambios de 19 dígitos, prefijado con ceros. Los campos de la marca de tiempo son año, mes, día, hora, minuto, segundo y centésimas de segundo. La parte de la marca de tiempo puede repetirse mientras el contador aumenta. La capacidad declarada de `STRING(50)` no es la longitud del formato de secuencia.

No confíe en `Q_H_TRANSACTION_ID` como clave única. Utilice `Q_H_CHANGE_SEQ` para la ordenación de cambios a nivel de tarea en lugar de comparar únicamente las marcas de tiempo.

## Encabezados específicos del origen

Las siguientes restricciones de origen se aplican a los puntos de conexión designados. No implican compatibilidad con otras variantes de SQL Server u otros orígenes de archivos.

Encabezados específicos del origen y valores de la fase de procesamiento

| Encabezado y tipo de datos | Puntos de conexión de origen | Valor durante el procesamiento de cambios | Valor durante la carga completa |
| --- | --- | --- | --- |
| `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; Archivo; SAP Sybase ASE. | Usuario que realizó el cambio de origen. | Vacío. |
| `Q_H_JOB_NAME`<br><br>`STRING(50)` | Solo IBM DB2 for iSeries. | Trabajo que realizó el cambio de origen. | Vacío. |
| `Q_H_PROGRAM_NAME`<br><br>`STRING(50)` | Solo IBM DB2 for iSeries. | Programa que realizó el cambio de origen. | Vacío. |
| `Q_H_XACT_ID`<br><br>`STRING(50)` | Microsoft SQL Server; Microsoft Azure SQL Managed Instance; Amazon RDS for SQL Server. | Identificador de tiempo de transacción: el LSN del primer registro de la última transacción distribuida del servidor. Todos los registros de la transacción comparten este ID. Esto difiere del `Q_H_TRANSACTION_ID`, que se obtiene del registro de transacciones físico. | Vacío. |

## Uso de metadatos de operaciones

Añada una columna e inserte `Q_H_OPERATION` para registrar la operación de origen. Durante la carga completa, su valor es `INSERT`. Durante el procesamiento de cambios, una actualización tiene el valor `UPDATE`.

El encabezado de la operación describe la operación; no cambia el tratamiento de las eliminaciones en el destino. Para devolver indicadores personalizados para operaciones de origen, consulte `$OPERATION_INDICATOR` en [Funciones de expresión](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Transformation/Expression-functions.htm).

## Columnas de encabezado de aterrizaje en streaming

Las tareas de transformación de streaming utilizan columnas de origen tales como `hdr__kafka_partition`, `hdr__kinesis_offset` o `hdr__file_name`. No son alias de los encabezados de `Q_H_`. Seleccione los encabezados de aterrizaje en streaming en Columnas. Para ver las listas específicas del origen, consulte [Tablas de destino](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataIntegration/Lakehouse/lakehouse-datasets-architecture-streaming.htm#Landing).