Xetux Docs
DW y DW2

Creación de Data Warehouse (DW) en Sucursal

Guía técnica para la inicialización, depuración y sincronización del Data Warehouse local (XETUXDW) con el servidor central de reportes.

El Data Warehouse (XETUXDW) actúa como un repositorio local de información consolidada que facilita el envío de reportes hacia el servidor central (XETUXDW2). Este procedimiento detalla los pasos para inicializar o corregir la transmisión de datos desde la sucursal.

Este procedimiento incluye operaciones de limpieza (TRUNCATE) y actualización masiva en tablas transaccionales. Es importante primero revisar y entender el manual completo para poder ejecutar los pasos siguientes, adicionalmente ante cualquier duda consultar a coordinacion antes de tomar una decision.

Fase 1: Verificación e Inicialización

Validación de Identidad

Confirmar que la sucursal tiene asignado un identificador único en la tabla de sistema:

.sql
USE XETUXPOS;
SELECT * FROM T_SYS_COMPANY;

Creación del Contenedor DW

Si la base de datos XETUXDW no existe, se debe crear con el cotejo (Collation) adecuado para el manejo de caracteres en español:

.sql
CREATE DATABASE XETUXDW COLLATE MODERN_SPANISH_CI_AS;

Pausa de Transmisión

Para evitar inconsistencias durante el mantenimiento, se debe desactivar temporalmente el sistema de transmisión (Parámetro 303):

.sql
USE XETUXPOS;
UPDATE T_SYS_PARAMETERS SET parameter_is_require = 0 WHERE parameter_id = 303;

Fase 2: Configuración de Reenvío

Reset de Jornadas

Para forzar el reenvío de información histórica, se deben marcar las jornadas como "no reportadas":

.sql
USE XETUXPOS;
UPDATE T_POS_JOURNAL SET is_reported = 0, calculated_sales_report = 0;

Configuración del Servidor Destino

Actualizar la dirección IP y el nombre de la base de datos del servidor central de reportes:

.sql
USE XETUXPOS;
UPDATE T_SYS_COMPANY SET serverdw = 'x.x.x.x', serverdw_db = 'XETUXDW2';
Validar la IP x.x.x.x ya que puede variar según la región o cliente y o puerto.

Ajuste de Ventana de Transmisión

Asegurar que el horario permitido para el envío de datos sea el máximo posible (0 a 23 horas):

.sql
USE XETUXPOS;
UPDATE T_SYS_COMPANY SET dw_max_hour_run = 23;

Fase 3: Depuración y Poblado de Datos

Limpieza de Tablas Locales (DW)

Si se requiere una sincronización desde cero, vaciar las tablas de reportes en la base de datos local XETUXDW:

.sql
USE XETUXDW;
TRUNCATE TABLE REPORT_SALES_CONSOLIDATE;
TRUNCATE TABLE REPORT_SALES_CONSOLIDATE_BY_ORDER_TYPE;
TRUNCATE TABLE REPORT_SALES_CONSOLIDATE_BY_USER;
TRUNCATE TABLE REPORT_SALES_DISCOUNT_RECHARGE;
TRUNCATE TABLE REPORT_SALES_PROFITABILITY_REPORT;
TRUNCATE TABLE REPORT_SALES_BY_PRODUCT_BASE_V2;
TRUNCATE TABLE REPORT_SALES_MENUITEM_REPORT;
TRUNCATE TABLE REPORT_SALES_CONSOLIDATE_BY_PAYFORM;
TRUNCATE TABLE REPORT_UNIT_SOLD_ITEM;
TRUNCATE TABLE REPORT_SALES_DISCOUNT_DETAILS;
TRUNCATE TABLE REPORT_SALES_HEADER_DETAILS;

Ejecución de Poblado

Invocar el procedimiento almacenado que consolida la información transaccional de XETUXPOS hacia XETUXDW:

.sql
USE XETUXPOS;
EXEC DWH_POPULATE_REPORTS;

Reactivación de Transmisión

Una vez finalizado el poblado sin errores, reactivar el parámetro de transmisión:

.sql
USE XETUXPOS;
UPDATE T_SYS_PARAMETERS SET parameter_is_require = 0 WHERE parameter_id = 303;
Tras reactivar el parámetro 303, el proceso de transmisión comenzará a enviar la información de manera automática y progresiva hacia el servidor central. Se puede monitorear el progreso consultando la fecha máxima en REPORT_SALES_CONSOLIDATE_BY_ORDER_TYPE.
Copyright © 2026