Cargas Incrementales

17 min de lectura|Actualizado: 17 sept 2026

Gestión de Cargas Incrementales en CRESTONE

Al trabajar con grandes volúmenes de datos en SAP y sistemas externos, suele ser ineficiente extraer el conjunto completo de datos en cada ocasión. En su lugar, las cargas incrementales permiten capturar únicamente los registros que han cambiado desde la última extracción exitosa. CRESTONE proporciona múltiples alternativas para implementar estrategias incrementales según el escenario de negocio, la fuente de datos y los requerimientos técnicos.


1. Uso de Campos de Fecha o Marca de Tiempo (Timestamp)

Si la tabla o vista de origen incluye un campo de marca de tiempo o de última modificación (por ejemplo, ERDAT, AEDAT en SAP), CRESTONE puede filtrar automáticamente la extracción basándose en variables dinámicas de fecha.

🔧 Configuración en el Nodo de Extracción

En la pestaña Source de un Nodo de Extracción:

  1. Cree variables que representen el rango de fechas deseado.
  2. Asígneles expresiones dinámicas utilizando sintaxis de Python envuelta en {{ ... }}.
  3. Haga referencia a dichas variables en la cláusula WHERE para controlar qué registros se extraen.

Por ejemplo:

VariableExpresiónSignificado
@startdate {{ today().replace(day=1).strftime('%Y%m%d') }}Primer día del mes actual
@enddate{{ ((today().replace(day=28) + timedelta(days=4)).replace(day=1) - timedelta(days=1)).strftime('%Y%m%d') }}Último día del mes anterior

Ejemplo de WHERE:

sql
VBAK-ERDAT >= '@startdate'
ADVERTENCIA

Dentro del código Python para la variable, las cadenas de texto deben encerrarse entre comillas simples ('...'), no dobles. Asimismo, al usar la variable en el SQL Editor, es importante encerrar '@variable' entre comillas simples dentro de la cláusula WHERE para evitar conflictos de sintaxis.

CRESTONE resolverá automáticamente estas variables en tiempo de ejecución durante la extracción.


✅ Ventajas

  • Simple y flexible: la lógica se incorpora directamente en el nodo de extracción.
  • Permite filtrado dinámico sin necesidad de actualizaciones manuales de fecha.
  • Garantiza consistencia al programar cargas incrementales o mensuales.

⚙️ Consideraciones

  • Las expresiones de fecha deben tener sintaxis de Python válida (evaluada dentro del runtime de CRESTONE).
  • El campo de marca de tiempo utilizado en el filtro (por ejemplo, ERDAT, AEDAT) debe estar actualizado de forma confiable e indexado en el sistema de origen.
  • Para cargas históricas, puede definir valores estáticos (por ejemplo, 20250101) antes de cambiar a expresiones dinámicas.
  • Para evitar posibles duplicados, asegúrese de que la tabla de destino se actualice o trunque adecuadamente antes de cada carga incremental, especialmente cuando se utilizan rangos de fechas superpuestos.

Cargando imagen...alt textalt text

Cargando imagen...alt textalt text


2. Extracción Delta con Extractores Estándar de SAP

Para ciertos módulos de SAP (FI, CO, MM, SD, etc.), SAP proporciona extractores estándar habilitados para delta (por ejemplo, 2LIS_11_VAHDR, 2LIS_02_HDR, 0FI_AR_4). Estos extractores implementan la lógica delta nativa de SAP mediante colas delta (delta queues) y punteros de modificación (change pointers). CRESTONE se integra directamente con estos extractores a través de una conexión RFC, permitiendo la recuperación automática únicamente de registros nuevos o modificados.


🔧 Configuración en CRESTONE

En la Configuración del Nodo de Extracción, seleccione:

  • Source: SAP ABAP
  • Type: Extractor
  • Context: DataSources/Extractors [SAP]
  • Extractor: p. ej., 2LIS_11_VAHDR (Sales Document Header)

Una vez seleccionado, el nodo detecta automáticamente si el extractor soporta modo delta. Cuando se habilita Delta Update, CRESTONE ejecuta:

  1. Inicialización (Initialization): una extracción completa de los datos existentes.
  2. Cargas Delta (Delta Loads): extracciones posteriores únicamente para registros nuevos o modificados.

Durante la inicialización, CRESTONE registra una suscripción en el mecanismo delta de SAP. Puede supervisar su estado en la pestaña Delta Config del nodo:

CampoDescripción
Subscription IDIdentificador único de la suscripción delta en CRESTONE
Subscription nameNombre lógico utilizado para identificar el proceso delta
PointerAlmacena el último punto de control de extracción (puntero delta de SAP)
Last executionMarca de tiempo de la última extracción exitosa

Ejemplo (desde la interfaz de CRESTONE):

code
Subscription ID: CRb058ffd2-abc6-4ebe-9f2b-fac7fe048591  
Pointer: 20251012003005.000000000  
Last execution: 12/10/2025 00:30:05 UTC

Esto garantiza que cada extracción continúe desde el último delta procesado, manteniendo la consistencia de los datos entre ejecuciones.


✅ Ventajas

  • Enfoque nativo de SAP con lógica delta incorporada.
  • Rastrea automáticamente registros nuevos y modificados mediante las colas delta de SAP.
  • Reduce el esfuerzo de desarrollo y mantenimiento.
  • Se integra perfectamente con las tablas de control de CRESTONE para la gestión de punteros.

⚙️ Consideraciones

  • No todos los extractores soportan actualizaciones delta.
  • La cola delta (RSA7) debe inicializarse y monitorearse adecuadamente en SAP.
  • Puede requerirse una reinicialización si el puntero se elimina o si ocurren inconsistencias en los datos.

🧩 Ejemplos Comunes de Extractores Habilitados para Delta

MóduloExtractorDescripción
SD2LIS_11_VAHDRSales Document Header
SD2LIS_11_VAITMSales Document Item
MM2LIS_02_HDRPurchase Order Header
MM2LIS_02_ITMPurchase Order Item
FI0FI_GL_4General Ledger Line Items
FI0FI_AR_4 / 0FI_AP_4Accounts Receivable / Payable Line Items
CO0CO_OM_CCA_1Cost Centers – Actual Costs

🧭 Gestión de Punteros Delta

CRESTONE proporciona una interfaz integrada para controlar y supervisar el puntero delta directamente desde la pestaña Delta Config:

AcciónDescripción
Delete subscriptionRestablece la inicialización delta. El puntero se pone en cero y se elimina de la tabla de control. Se utiliza cuando se necesita reinicializar el extractor.
Update delta without extraction dataActualiza el puntero delta en CRESTONE para coincidir con la posición delta actual en SAP sin extraer registros nuevos. Resulta útil para sincronización o para omitir deltas erróneos.
PreviewMuestra una simulación de la próxima carga delta, indicando qué registros se incluirían antes de la ejecución.

Esta capa de administración proporciona transparencia y control sobre el ciclo de vida del delta, sin requerir acceso a las transacciones RSA7 o RSA3 en SAP.


🧩 Flujo Típico en CRESTONE

  1. Inicialización: extracción de datos completa → creación de suscripción y puntero.
  2. Carga delta: recupera únicamente registros nuevos/modificados desde el último puntero.
  3. Monitoreo: actualización automática del puntero tras cada ejecución exitosa.
  4. Reinicialización: restablecimiento manual del puntero en caso de ser necesario.

Con esta configuración, CRESTONE garantiza una extracción delta robusta, auditable y totalmente automatizada para los extractores estándar de SAP.

Cargando imagen...alt textalt text

Cargando imagen...alt textalt text

3. Captura de Datos Modificados en Tablas (CDC) con Documentos de Modificación de SAP

CRESTONE admite Change Data Capture (CDC) mediante el marco de documentos de modificación (change documents) de SAP y tablas de control (CDHDR, CDPOS), o mediante punteros directos a nivel de tabla para datos maestros y transaccionales estándar. Este enfoque rastrea inserciones, actualizaciones y eliminaciones efectuadas sobre objetos de negocio o tablas para los cuales el seguimiento de modificaciones se encuentra activo en SAP.


🔧 Configuración en CRESTONE

En la Configuración del Nodo de Extracción, seleccione:

  • Source: SAP ABAP
  • Type: Table CDC
  • Base Table: p. ej., MAKT (Material Descriptions)

CRESTONE mapeará automáticamente los campos de la tabla y habilitará el modo CDC Config, donde se mantiene un puntero para la extracción incremental.

Una vez ejecutada la carga inicial (inicialización), CRESTONE almacena un puntero que representa la marca de tiempo de la última extracción exitosa:

CampoDescripción
PointerIndica el último registro procesado o la marca de tiempo utilizada para la continuación de CDC.
Last executionMarca de tiempo de la última ejecución exitosa de CDC.
StatusMuestra si el proceso CDC está Initialized o pendiente.

Ejemplo (desde la interfaz de CRESTONE):

code
Pointer: 20251001151851  
Last execution: 20251001151851  
Status: Initialized

Esto garantiza que únicamente los registros nuevos o modificados desde el último puntero sean capturados en las extracciones posteriores.


🧭 Gestión de Punteros CDC

CRESTONE ofrece una interfaz de control similar a la de los extractores delta para gestionar el ciclo de vida del puntero CDC:

AcciónDescripción
Reset PointerReinicializa el proceso CDC restableciendo el puntero a cero y limpiando su registro en la tabla de control. Utilice esta opción cuando se requiera una recarga completa.
Update Pointer without ExtractionActualiza la posición del puntero sin realizar una extracción de datos. Útil para sincronización o para omitir una ventana de datos conocida.

Esto permite a los usuarios controlar o realinear manualmente el proceso CDC sin necesidad de acceder a la interfaz SAP GUI.


✅ Ventajas

  • Captura tanto registros nuevos como modificados con alta precisión.
  • Completamente alineado con la lógica de documentos de modificación de SAP, garantizando coherencia con las transacciones comerciales.
  • Mantiene un puntero interno para cargas incrementales eficientes.
  • Puede aplicarse a datos maestros (p. ej., MARA, MAKT, KNA1) o datos transaccionales (p. ej., VBAK, VBRK) donde la lógica CDC esté disponible.

⚙️ Consideraciones

  • Requiere que el seguimiento de documentos de modificación esté habilitado para el objeto SAP correspondiente.
  • No está disponible para todas las tablas: solo para aquellas registradas en el marco de documentos de modificación de SAP o compatibles con la lógica CDC basada en tablas.
  • Puede generar carga de sistema adicional en tablas de modificaciones con muy alta actividad.
  • Una gestión adecuada de punteros es esencial para evitar duplicaciones o vacíos de información.

Al aprovechar Table CDC, CRESTONE proporciona un mecanismo granular y de baja latencia para detectar y replicar modificaciones de datos desde tablas SAP, asegurando una sincronización casi en tiempo real sin requerir una recarga completa de datos.

Cargando imagen...alt textalt text

Cargando imagen...alt textalt text


4. Enfoques Híbridos

En entornos complejos, se puede aplicar una combinación de estrategias. Por ejemplo:

  • Utilizar marcas de tiempo (timestamps) para tablas de datos maestros.
  • Utilizar Extractores Estándar de SAP para datos transaccionales.
  • Utilizar CDC con documentos de modificación para objetos que requieran el historial completo de cambios.

✅ El marco de cargas incrementales de CRESTONE se adapta a cualquier módulo de SAP —desde simples actualizaciones de datos maestros hasta historiales transaccionales complejos— minimizando la transferencia de datos y garantizando la consistencia en todas las cargas.