← Blog técnico

SAP CPI governance

SAP CPI: manejo de errores y reintentos sin duplicados

En integración enterprise, reintentar “por si acaso” es una receta para duplicados, incidentes y discusiones eternas. El objetivo real es que cada integración tenga un contrato operativo: qué se reintenta, qué no, quién re-procesa y con qué evidencia.

SAP CPIIntegration SuiteOperationsGovernance

En SAP CPI / SAP Integration Suite, el manejo de errores no es un “detalle de implementación”. Es parte del diseño de arquitectura: define confiabilidad, costo operativo y el riesgo de que una integración impacte finanzas, inventario, nómina o master data.

La diferencia que casi siempre se ignora: reintento vs reproceso

Reintento es automático y ocurre sin que un humano valide el impacto. Reproceso es intencional: alguien decide volver a correr un mensaje con contexto (y con un plan para evitar duplicados).

Si el equipo no puede explicar esa diferencia por integración, el sistema no está listo para producción: está listo para “correr”, no para sostenerse.

Clasifica fallas antes de diseñar la solución

Una política de reintentos madura parte de una clasificación simple:

  • Transitoria: timeouts, throttling, fallas momentáneas de red o capacidad.
  • Funcional: datos inválidos, reglas de negocio, autorizaciones inexistentes, fechas fuera de rango.
  • Dependencia: el sistema destino está degradado, en mantenimiento o con colas saturadas.
  • Contrato: el payload no cumple el esquema, faltan campos obligatorios o cambió una API.

Solo la primera categoría suele ser candidata a reintentos automáticos. El resto requiere reproceso controlado o corrección de datos.

Idempotencia: la condición mínima para reintentar sin miedo

El reintento sin idempotencia no es resiliencia: es duplicación “en cámara lenta”. En integraciones SAP, un solo duplicado puede crear documentos repetidos, contabilizaciones dobles o inconsistencias de reconciliación.

La pregunta clave no es “¿podemos reintentar?”. Es “¿qué prueba tenemos de que un segundo intento no crea un segundo efecto?”

DecisiónEvidencia mínima
Qué mensajes pueden reintentarse automáticamenteListado por iFlow + condición explícita (HTTP status/código de error) + límite de intentos
Cómo evitamos duplicadosClave idempotente (por negocio) + deduplicación en destino o control en integración
Qué se hace cuando falla definitivamenteRuta de excepción + cola/buzón de pendientes + responsable y SLA operativo
Cómo se investiga y se coordina soporteCorrelation ID consistente + logs útiles + runbook de triage

Checklist de governance (práctico, sin papel)

Para cada integración productiva, valida estos puntos:

  1. Contrato de reintentos: cuántos intentos, con qué backoff, y bajo qué errores.
  2. Contrato de reproceso: quién re-procesa, desde dónde, y cómo se evita el doble efecto.
  3. Runbook: pasos claros para diagnóstico, incluyendo “qué NO hacer” cuando hay presión.
  4. Observabilidad mínima: trazabilidad por correlación, contexto de error y evidencia de payload (sin exponer datos sensibles).
  5. Segregación: quién puede desplegar, quién puede re-procesar, y cómo se audita.

Esto no reemplaza herramientas de ciclo de vida SAP (ALM/Transport/monitoreo), pero reduce el caos operativo dentro del alcance real del middleware.

Cuándo esto se vuelve un problema “de arquitectura”

Si hoy el equipo “resuelve” incidentes reintentando a ciegas, el problema ya no es un iFlow. Es el diseño de integración y su gobernanza: idempotencia, ownership de datos, y un proceso de soporte que no está alineado con el riesgo.

¿Quieres convertir esto en un estándar operativo para tu CPI?

En nuestro Picasso CPI Governance Assessment revisamos error handling, reintentos, reproceso y evidencia de producción para que el equipo tenga control real sin burocracia.

Hablar con un arquitecto