CRESTONE


Tutorial

Cómo configurar tu primera integración SAP → Snowflake en minutos

CRESTONE Blog  •  Tutorial  •  Tiempo de lectura: 7 min

Ilustración de integración entre SAP y Snowflake

Conectar SAP con Snowflake es uno de los primeros pasos que da un equipo de datos cuando quiere construir una arquitectura analítica moderna sobre sus sistemas operativos[cite: 3]. Este tutorial recorre el proceso completo dentro de CRESTONE: desde configurar la conexión SAP hasta ejecutar la primera carga de datos en Snowflake[cite: 3].

El flujo tiene cuatro etapas: crear la conexión de origen (SAP), crear la conexión de destino (Snowflake), definir el Node con la tabla a extraer, y ejecutar el primer Job[cite: 3].

Prerequisito: necesitás credenciales RFC para SAP (host, client, usuario, contraseña y número de sistema) y credenciales de Snowflake (account, warehouse, database, schema, usuario y contraseña)[cite: 3]. Asegurate de tener acceso a la tabla SAP que querés extraer[cite: 3].

Paso 1 — Crear la conexión SAP

En CRESTONE, entrá a la sección Connections y seleccioná New Connection[cite: 3]. Elegí SAP como tipo de fuente[cite: 3]. El formulario pedirá los datos de conexión RFC[cite: 3]:

  • Host: dirección IP o hostname del servidor SAP de aplicación[cite: 3].
  • System Number: número de sistema SAP (generalmente de dos dígitos, ej. 00)[cite: 3].
  • Client: mandante SAP (ej. 100)[cite: 3].
  • Username y Password: credenciales del usuario RFC con los permisos necesarios[cite: 3].
  • Connection Name: nombre descriptivo para identificar esta conexión en tus proyectos[cite: 3].

Una vez completados los campos, hacé clic en Test Connection para verificar que CRESTONE puede alcanzar el sistema SAP[cite: 3]. Si el test es exitoso, guardá la conexión[cite: 3].

CRESTONE se conecta a SAP vía RFC (Remote Function Call), el protocolo nativo de SAP para comunicación externa[cite: 3]. Esto garantiza que la extracción no impacte el rendimiento del sistema productivo y respeta los mecanismos de seguridad estándar de SAP[cite: 3].

Paso 2 — Crear la conexión Snowflake

Volvé a Connections y creá una nueva conexión, esta vez eligiendo Snowflake como destino[cite: 3]. Los campos requeridos son[cite: 3]:

  • Account: identificador de tu cuenta Snowflake (ej. xy12345.us-east-1)[cite: 3].
  • Warehouse: nombre del virtual warehouse que procesará las queries de carga[cite: 3].
  • Database: base de datos de destino en Snowflake[cite: 3].
  • Schema: esquema dentro de la base de datos donde se crearán las tablas[cite: 3].
  • Username y Password: credenciales del usuario Snowflake con permisos de escritura[cite: 3].

Hacé clic en Test Connection para confirmar la conectividad[cite: 3]. CRESTONE verificará que puede autenticarse y acceder al warehouse y esquema configurados[cite: 3].

Paso 3 — Crear el Node

El Node es el componente central de CRESTONE: define qué datos extraer de SAP, cómo filtrarlos, y a qué tabla de Snowflake enviarlos[cite: 3].

Entrá a la sección Nodes, creá un nuevo Node y completá la configuración[cite: 3]:

  • Source Connection: seleccioná la conexión SAP que creaste en el paso 1[cite: 3].
  • Extraction Type: para este tutorial usaremos Table (extracción directa de tabla transparente SAP)[cite: 3].
  • Table Name: ingresá el nombre de la tabla SAP a extraer[cite: 3]. Por ejemplo: MARA (materiales), VBAK (cabeceras de pedidos de venta) o KNA1 (clientes)[cite: 3].
  • Fields: podés seleccionar campos específicos o dejar el asterisco (*) para extraer todos[cite: 3].
  • Destination Connection: seleccioná la conexión Snowflake del paso 2[cite: 3].
  • Target Table: nombre de la tabla en Snowflake donde se cargarán los datos[cite: 3]. Si no existe, CRESTONE la crea automáticamente con la estructura del origen SAP[cite: 3].
  • Load Mode: para la primera ejecución, seleccioná Full Load para traer todos los registros[cite: 3].
-- CRESTONE creará automáticamente en Snowflake una tabla equivalente a:
CREATE TABLE IF NOT EXISTS <schema>.<target_table> (
  <campo_1>  VARCHAR,
  <campo_2>  VARCHAR,
  ...        ...
);

Paso 4 — Crear y ejecutar el Job

Los Jobs en CRESTONE orquestan la ejecución de uno o más Nodes[cite: 3]. Para este primer caso, crearemos un Job simple con un solo Node[cite: 3].

Entrá a Jobs, creá un nuevo Job y agregá el Node que definiste en el paso anterior[cite: 3]. Podés configurar[cite: 3]:

  • Nombre y descripción del Job[cite: 3].
  • Modo de ejecución: manual (para empezar) o programado (cron schedule para automatizar)[cite: 3].
  • Notificaciones: email de alerta en caso de error[cite: 3].

Hacé clic en Run Now para ejecutar el Job de forma inmediata[cite: 3]. CRESTONE iniciará la extracción de SAP y la carga en Snowflake[cite: 3]. Podés monitorear el progreso en tiempo real desde la sección Monitor[cite: 3].

En la primera ejecución, CRESTONE realiza un Full Load completo de la tabla SAP[cite: 3]. En las siguientes ejecuciones podés configurar cargas incrementales (solo registros nuevos o modificados) para reducir el volumen transferido y el tiempo de ejecución[cite: 3].

Verificar los datos en Snowflake

Una vez completada la ejecución, podés verificar los datos directamente en Snowflake[cite: 3]:

-- Verificar registros cargados
SELECT COUNT(*) FROM <schema>.<target_table>;

-- Ver los primeros registros
SELECT * FROM <schema>.<target_table> LIMIT 10;

Si el conteo coincide con el número de registros de la tabla SAP de origen, la integración está funcionando correctamente[cite: 3]. A partir de aquí podés agregar más Nodes al mismo Job, configurar filtros WHERE para extraer solo los datos relevantes, o activar un schedule periódico[cite: 3].

Tip: usá el campo WHERE Filter en el Node para limitar la extracción por fecha, organización o cualquier campo de la tabla SAP[cite: 3]. Esto reduce el volumen extraído y mejora la performance de la carga[cite: 3].

Próximo artículo

En el próximo tutorial: cómo usar variables dinámicas de fecha en CRESTONE para automatizar filtros temporales —sin cambiar la configuración del Node en cada ejecución[cite: 3].

— Equipo CRESTONE  |  Seidor Analytics[cite: 3]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

quince + 2 =